如何使用VB更新数据网格中的下一行6

问题描述:

请帮助我如何使用Visual Basic 6更新数据网格中的下一条记录,因为我正在尝试添加rec.movenext,但只更新了第一行。我的代码:如何使用VB更新数据网格中的下一行6

rec.Close 
rec.Open "SELECT * FROM Salary WHERE UserID like '%" & Combo1.Text & "%'" 

If rec.EOF Then 
    rec.AddNew 
Else 
    rec.Update 
    rec!Number = Text1.Text 
    rec.MoveNext 
End If 

End Sub 
+0

我不是很确定你想要做什么,但看起来像其他人的陈述被颠倒了。如果您想更新下一条记录,您应该调用MoveNext,设置该值,然后调用Update。请注意,如果您只查询返回一条记录,则调用MoveNext将导致EOF。 – Marc

+0

我正在寻找身份证号码,然后找到三条记录,并希望通过定义不同的值来分别更新每一行,但我无法为其余记录执行操作,因为代码只是更新第一条记录,您能否帮助我并提供代码解决问题 –

您需要更新循环中的每条记录。像这样的东西

While Not rec.EOF 
    rec!Number = Text1.Text 
    rec.Update 
    rec.MoveNext 
Wend 
+0

谢谢Marc,但代码更新所有具有相同值的行!也许选择语句有问题,你可以看看它并帮我解决问题 –

+0

它将值设置为Text1.Text。你的例子就是这些。我无法知道您想要为每条记录设置数字字段。您需要将rec!Number = Text1.Text更改为在循环的每次迭代中要设置的值。 – Marc

+0

如果您只需要更新特定的记录,那么在while循环中放置任何需要的语句。例如“if rec!fieldname ='xyz'then ...”,然后只是不更新​​你想离开的那些。 –