테이블을 검색하려는 두 개의 텍스트 상자가 있습니다. 내가 문제라고 생각하는 쿼리를 통해 검색을 진행하고 있습니다. 코드는 두 텍스트 상자의 기준을 모두 받아 테이블 하나를 검색해야합니다. 그런 다음 나머지 텍스트 상자는 검색에 가장 가까운 레코드 세트로 채워집니다.여러 기준을 사용하여 검색
RstRecSet.MoveLast
에서 오류가 발생합니다. 현재 레코드가 없다는 컴파일 오류가 발생합니다. 상자에 입력 한 것과 같은 레코드가 있는데 그 레코드를 선택하지 않았습니다.
레코드의 정확한 이름을 추가하면 아무런 문제가 없습니다. 그것은 거의 마치 마치 같은 연산자를 다루는 것처럼 보입니다.
Private Sub Command514_Click()
'DoCmd.Close
'DoCmd.OpenForm "frmContacts", acNormal
Set RstRecSet = Nothing
Set db = CurrentDb
Dim searchGroup As String
Dim searchName As String
If IsNull(txtgroupSearch) Or txtgroupSearch = "" Then
Me.txtGroupName.BackColor = vbRed
Forms!frmGroupHeader!txtGroupNr.SetFocus
Else
'searchNum = txtGroupNr
searchGroup = txtgroupSearch
Set db = CurrentDb
Me.txtGroupName.BackColor = vbWhite
Set RstRecSet = db.OpenRecordset("Select * from tblGroupHeader Where groupName like '*" & searchGroup & "*' or groupNum like '*" & searchGroup & "*';", dbOpenDynaset)
If RstRecSet.EOF And RstRecSet.BOF Then
MsgBox ("NO RECORDS!")
Exit Sub
End If
RstRecSet.MoveLast
intMaxCount = RstRecSet.RecordCount
RstRecSet.MoveFirst
' Exit Sub
End If
If RstRecSet.EOF Then
Me.txtGroupName.BackColor = vbRed
Forms!frmGroupHeader!txtGroupNr.SetFocus
Else
Call DisplayFields
End If
End Sub
사람들은 SQL 인젝션이 여전히 1 번 보안 위험이라고 생각합니다. –
RstRecSet.MoveLast에서 오류가 발생합니다. 현재 레코드가 없다는 컴파일 오류가 발생합니다. 나는 상자에 넣는 것 같은 recor를 가지고있다. 그러나 그것을 집어 들지 않고있다. – connor
처음에 저는 응답하고 도와 주시는 모든 분들께 감사 드리고 싶습니다. 정말 고맙습니다. HansUp에 응답하여 SQL 쿼리에서 오류를 찾는데 도움이되는 Option Explicit를 추가했습니다. Unfortunetly, 나는 동일한 런타임 오류 "현재 레코드 없음"가져옵니다. – connor