«Получаю ошибку времени выполнения 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
Если версия коды говорит вам «записи пусты», перейдите в открывшееся окно (Ctrl +г) изучить SELECT
заявления кода построен. Вы можете скопировать текст оператора и вставить его в SQL View нового запроса Access для тестирования.
Моя догадка запрос не возвращает ни одной строки, поскольку она включает в себя пространство непосредственно перед значением idtask
, и не [ID - Tarefa]
значения совпадают пространство плюс idtask
:
idfunc & "' AND [ID - Tarefa] LIKE ' " & idtask & "');"
^here
Попробуйте опуская ',' в конце SQL. Если это все еще не работает, попробуйте распечатать сгенерированный SQL и запустить его непосредственно в Access. –
Проблема в дублированном вопросе была символом 'LIKE' wild card. Хотя этот вопрос также использует 'LIKE', нет никаких признаков того, что используется wild card. – HansUp