i want to update certain records from my mshflexgrid.
but i get the error "field cannot be updated".
Why??

this is my code to update:
VB Code:
  1. Dim i
  2. With mshRejLot
  3. For i = 1 To rs.RecordCount
  4.     .TextMatrix(i, 0) = i
  5. 'mshRejLot.TextMatrix(i, 4) = Format(rs!amount, "dd/MM/yyyy")
  6.     .TextMatrix(i, 7) = Round(rs!amount, 2)
  7.     .TextMatrix(i, 8) = Round(rs!Origin_Cost, 2)
  8.     'rs.Find "rs!JOB_NO = '" & .TextMatrix(i, 2) & "'"
  9.     rs("AMOUNT") = Round(.TextMatrix(i, 7), 2)
  10.     rs("ORIGIN_COST") = Format$(Round(.TextMatrix(i, 8), 2), "Currency")
  11.     rs.Update
  12.     If .TextMatrix(i, 7) = "" Then
  13.         .Row = i
  14.         .Col = 7
  15.         .CellBackColor = vbRed
  16.         .Row = i
  17.         .Col = 8
  18.         .CellBackColor = vbRed
  19.     End If
  20.     Dim k
  21.     'For k = 1 To rs.RecordCount
  22.     'rs.Find "rs!JOB_NO = '" & .TextMatrix(i, 2) & "'"
  23.  
  24. rs.MoveNext
  25.     'Next k
  26. Next i
  27. End With

and this is my sql statement:
VB Code:
  1. rs.Open "SELECT REJECT_LOT.PART_CODE, REJECT_LOT.JOB_NO, REJECT_LOT.SCRAP," & _
  2.         "REJECT_LOT.TRANS_DATE, REJECT_LOT.REASON,REJECT_LOT.DETAIL," & _
  3.         "(([REJECT_LOT].[SCRAP]/1000)*[Cost_Price].[Origin_Cost]) AS AMOUNT," & _
  4.         "Cost_Price.Origin_Cost FROM Cost_Price " & _
  5.         "RIGHT JOIN REJECT_LOT ON Cost_Price.Part_Code = REJECT_LOT.PART_CODE WHERE" & _
  6.         "(((REJECT_LOT.TRANS_DATE)BETWEEN #" & dari & "# And #" & hingga & "#)" & _
  7.         "AND ((REJECT_LOT.REASON)='DDI'))", conn, adOpenKeyset, adLockOptimistic

please HELP!!!!