"런타임 오류 3021이 표시되지만 쿼리가 비어 있지 않습니다."
그 점을 다시 확인하십시오.
Dim strSelect As String
strSelect = "SELECT * FROM Equipas " & _
"WHERE ([ID - Funcionário] LIKE '" & _
idfunc & "' AND [ID - Tarefa] LIKE ' " & idtask & "');"
Debug.Print strSelect
rst.Open strSelect, CurrentProject.Connection, adOpenDynamic, adLockOptimistic
If rs.BOF And rs.EOF Then
MsgBox "recordset is empty"
Else
rs.MoveLast
MsgBox "recordset contains " & rs.RecordCount & " rows"
End If
'rst.Delete adAffectCurrent
'rst.Update
rst.Close
코드의 버전이 "레코드가 비어있는"것을 요구하면 코드가 내장 된 SELECT
문을 검사하기 위해 직접 실행 창 (Ctrl 키 + g)로 이동합니다. 명령문 텍스트를 복사하여 테스트 용 새 Access 쿼리의 SQL보기에 붙여 넣을 수 있습니다.
내 추측은 그냥 idtask
의 값 앞에 공백이 포함되어 있기 때문에 쿼리에 행을 반환하고, 더 [ID - Tarefa]
값이 일치 공간 플러스 idtask
:
idfunc & "' AND [ID - Tarefa] LIKE ' " & idtask & "');"
^here
은 떨어지고 시도하지 않는','의 끝에 SQL. 그래도 작동하지 않으면 생성 된 SQL을 인쇄하여 Access에서 직접 실행하십시오. –
중복 질문의 문제점은'LIKE' 와일드 카드 문자였습니다. 이 질문에서도 'LIKE'을 사용하지만 와일드 카드가 관련되어 있다는 표시는 없습니다. – HansUp