7,763
社区成员
发帖
与我相关
我的任务
分享
Private Sub cmdSearch_Click()
Dim blnFilter As Boolean
Dim blnHasSearch As Boolean
Dim vBookMark As Variant
Dim lngSearch As Long
Dim sEmpNo As String
Dim sFirstName As String
Dim sIDNo As String
Screen.MousePointer = vbArrowHourglass
sEmpNo = sfTrim(TtxtEmpNo_S.Text)
sFirstName = sfTrim(txtFirstName_S.Text)
sIDNo = sfTrim(txtIDNo_S.Text)
lngSearch = sfLen(sEmpNo & sFirstName & sIDNo)
blnHasSearch = False
If mrsHeader.EOF = False And mrsHeader.BOF = False Then
If lngSearch > 0 Then
' comment by James on 26 Mar 2003
'blnFilter = SearchEmployee(Trim$(TDBTextSearch.Text), Me.TDBGrid01, mrsHeader, 0)
Set vBookMark = Nothing
vBookMark = mrsHeader.Bookmark '这里就是将mrsHeader.Bookmark的值存在vBookMark
With mrsHeader
.MoveFirst
If sEmpNo <> "" Then
'.Find "EmployeeNo = '" & sEmpNo & "'"
.Filter = "EmployeeNo = '" & sEmpNo & "'"
If Not .EOF Then
blnHasSearch = True
End If
ElseIf sFirstName <> "" Then
'.Find "First_Name= '" & sFirstName & "'"
.Filter = "First_Name= '" & sFirstName & "'"
If Not .EOF Then
blnHasSearch = True
End If
ElseIf sIDNo <> "" Then
'.Find "IDNo= '" & sIDNo & "'"
.Filter = "IDNo= '" & sIDNo & "'"
If Not .EOF Then
blnHasSearch = True
End If
blnHasSearch = True
End If
End With
If blnHasSearch = False Then
mrsHeader.Bookmark = vBookMark '这里又用到vBookMark ,将其赋值给mrsHeader.Bookmark,现在就是到这里的时候出错了。With mrsHeader里面如果用.Find就不会出错,我改成.Filter之后才
出现这个错误。
MsgBox SetInfo("iMsgRcdNF"), vbInformation + vbOKOnly, SetInfo("iInfo")
TtxtEmpNo_S.SetFocus
End If
TDBGrid01.Caption = " "
Else
' You do not input Search Infomation!"
MsgBox SetInfo("iMsgInputSrchInfo"), vbInformation + vbOKOnly, SetInfo("iInfo")
Screen.MousePointer = vbDefault
End If
End If
If blnHasSearch = True Then
famSearch.Visible = False
End If
Screen.MousePointer = vbNormal
End Sub