问题还是老问题 不过百思不得其解 只能求助论坛各位高手
用VB6.0访问Access数据库,遇到问题如下:点击查询按钮,输入要查询的编号,然后输出,简单主要代码如下:Dim fileno As Integer
ReT.Open "select * from file_Info order by 文档编号 asc", Con, adOpenKeyset, adLockBatchOptimistic
Dim min As Integer
Dim max As Integer
ReT.MoveFirst
min = Val(ReT.Fields("文档编号"))
ReT.MoveLast
max = Val(ReT.Fields("文档编号"))
fileno = InputBox("请输入要查询的文档编号:" & Chr(13) & "请注意输入的数字比如在" & min & "-" & max & "之间!", "查询")
If Not ReT.BOF And Not ReT.EOF Then
ReT.Find "文档编号=" & fileno
MsgBox ReT.Fields("文档编号")
End If
Fill '此为将查询的结果的各个列分别填入文本框中
ReT.Close我数据表中总共有4条记录,也就是文档编号为1—4,运行程序时输入 4 可以得到正确结果,输入1—3均会提示“BOF或EOF中有一个是"真",或者当前的记录以被删除,所需的操作要求一个当前的记录”,然而点击“调试”,会跳到“MsgBox ReT.Fields("文档编号")”
如果BOF或EOF中有一个是"真"的话,根本就过不了IF语句啊!数据库中的记录也没有删除!
请问我该怎么办?
谢谢各位了
用VB6.0访问Access数据库,遇到问题如下:点击查询按钮,输入要查询的编号,然后输出,简单主要代码如下:Dim fileno As Integer
ReT.Open "select * from file_Info order by 文档编号 asc", Con, adOpenKeyset, adLockBatchOptimistic
Dim min As Integer
Dim max As Integer
ReT.MoveFirst
min = Val(ReT.Fields("文档编号"))
ReT.MoveLast
max = Val(ReT.Fields("文档编号"))
fileno = InputBox("请输入要查询的文档编号:" & Chr(13) & "请注意输入的数字比如在" & min & "-" & max & "之间!", "查询")
If Not ReT.BOF And Not ReT.EOF Then
ReT.Find "文档编号=" & fileno
MsgBox ReT.Fields("文档编号")
End If
Fill '此为将查询的结果的各个列分别填入文本框中
ReT.Close我数据表中总共有4条记录,也就是文档编号为1—4,运行程序时输入 4 可以得到正确结果,输入1—3均会提示“BOF或EOF中有一个是"真",或者当前的记录以被删除,所需的操作要求一个当前的记录”,然而点击“调试”,会跳到“MsgBox ReT.Fields("文档编号")”
如果BOF或EOF中有一个是"真"的话,根本就过不了IF语句啊!数据库中的记录也没有删除!
请问我该怎么办?
谢谢各位了
ReT.Open "select * from file_Info order by 文档编号 asc", Con, adOpenKeyset, adLockBatchOptimistic
Dim min As Integer
Dim max As Integer
ReT.MoveFirst
min = Val(ReT.Fields("文档编号"))
ReT.MoveLast
max = Val(ReT.Fields("文档编号"))
fileno = InputBox("请输入要查询的文档编号:" & Chr(13) & "请注意输入的数字比如在" & min & "-" & max & "之间!", "查询")
ReT.MoveFirst
while not ReT.EOF
If "文档编号=" & fileno Then
MsgBox ReT.Fields("文档编号")
wend
Fill '此为将查询的结果的各个列分别填入文本框中
ReT.Close
问题解决了,就是少了这一句“ReT.MoveFirst”