这是更新的代码,其中Quality,Fuk,Wbquality为数值型,ID为自动递增项,请问哪里有问题呀?
Call OpenConn
For i = 1 To Flex1.Rows - 1
If Flex1.TextMatrix(Flex1.Row, 0) <> "" Then
conn.Execute ("UPDATE Sells SET Guige='" + Flex1.TextMatrix(Flex1.Row, 1) + "',Huif='" + Flex1.TextMatrix(Flex1.Row, 2) + "',Jiaol='" + Flex1.TextMatrix(Flex1.Row, 3) + "',Diameter='" + Flex1.TextMatrix(Flex1.Row, 4) + "',Quality=" + Flex1.TextMatrix(Flex1.Row, 5) + ",Fuhw='" + Flex1.TextMatrix(Flex1.Row, 6) + "',Box='" + Flex1.TextMatrix(Flex1.Row, 7) + "',Fuk=" + Flex1.TextMatrix(Flex1.Row, 8) + " ,Wbquality=" + Flex1.TextMatrix(Flex1.Row, 9) + " where ID= " & Me.Flex1.TextMatrix(Flex1.Row, 0) & "")
End If
Next i
MsgBox "记录更新成功!", 64, "提示"
XPBtedit.Enabled = True
XPBtsave.Enabled = False
End If
我在别的论坛也发过这个问题,人家给的建议是:
你的代码有两个问题,
一是Flex1.Row是当前行,当你离开这行点下行是ID是对不上的,所以不会更新。
二是你这样从上向下循环,你没有修改过的行也会更新一遍,相当影响速度。
建议你用一个数组保存修改过的行的ID,判断修改过的再更新
用数组保存,不知道怎么做?