为什么我.修改信息.总是数据库的第一条啊??

来源:百度知道 编辑:UC知道 时间:2024/06/18 18:42:05
rs.Open "select * from xsgl order by id asc", conn, , adLockBatchOptimistic
a = MsgBox("修改成功!", vbYes + 48 + 256, "提示")

我用access数据库 当我查询的时候,信息就显示在 vb 做的界面上,
可是修改它的时候,实际上是修改数据最上面的那一条,.是不是指针
有问题,指针我不怎么会用 请各个路过的大虾指点一二.小弟感激不尽.
Private Sub Command3_Click()
'Dim rs As ADODB.Recordset
'Dim conn As ADODB.Connection
Set rs = New ADODB.Recordset
If rs.EOF Or rs.BOF Then
a = MsgBox("无记录!", vbOKOnly + 48 + 256, "提示")
End If
If rs.BOF Or rs.EOF Then
Exit Sub
End If
If Text1.Text = "" And Text7.Text = "" Then
a = MsgBox("请输入名字或者编号! ", vbOKOnly + 48 + 256, "提示")
If a <> 6 Then Exit Sub
End If
rs.MoveFirst
Text1.Text = rs("xm")
If rs("xb") Then
Option1.Value = True
Else
Option2.Value = True
End If
Text2.Text = rs("bx")

修改信息分为两种,单独修改,这个就是你首先要找一个单独的唯一的内容做为条件进行修改。还有就是全部自动修改。用一个循环进行一下循环。最后,用rs.movenext进行下一个的修改。修改完毕以后,自动跳出!你用IF做为判断,这个就要指针了!因为你的一个语句!会让指向数据库的指针自动又指向第一条!rs.MoveFirst 这个不正确!进行一下更改!

按照你写的代码 取得就是第一条值!~

其实我觉得你这个东西应该有个取值条件那样的东西吧 就是说先选择按照什么来取值 如果你想取全部 你可以加2个按钮 一个是rs.moveprevew 一个是rs.movenext

是不是有的参数没有没有加上啊?如ALL for ALL什么的.

记录指针的问题