如果没有找到,此时,Adodc1.Recordset.EOF将为TRUE,此时只能前移MovePrevious或MoveFirst或MoveLast,不能再MoveNext,即只能move 一个负值,而不能move一个正值。如果再继续move p,将出错,已经到最后一条的后面了
执行以下代码可使Adodc1.Recordset.EOF为TRUE:
Adodc1.Recordset.MoveLast
Adodc1.Recordset.MoveNext
Private Sub Command9_Click()
Dim mno As String, p%
p = Adodc1.Recordset.AbsolutePosition
mno = InputBox("请输入名称", "查找窗")
Adodc1.Refresh
Adodc1.Recordset.Find ("名称='" &mno &"'")
If Trim(mno) = "" Then'应把此判断提到前面
Adodc1.Recordset.AbsolutePosition = p
Value = MsgBox("没有找到记录!", 0, "提示")
ElseIf Text1.Text = "" Then
Adodc1.Recordset.AbsolutePosition = p
Value = MsgBox("没有找到记录!", 0, "提示")
Me.Refresh
End If
可用Bookmark代替AbsolutePosition
End Sub
用数组记录,二次查询sql 在course 表中查找到teacher_id=12345的所有记录
用循环把course_id添加到数组中,a()
然后再循环打开一个新的记录集,sql在score表中查找出course_id=a()的
我是这么做的,不知道还有没有高手提供其它方法
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)