Сообщения об ошибках с командами SQL SELECT и UPDATE в Access VBA - PullRequest
0 голосов
/ 23 июня 2019

Я пытаюсь обновить таблицу Access следующим кодом:

strSelectRec = "SELECT * FROM EmployeeDemographics WHERE (LastName) = ('" & strLast & "') AND (FirstName) = ('" & strFirst & "')"
strUpdateRec = "UPDATE EmployeeDemographics SET (Photo)= " & "('" & strPhoto & "')" & " WHERE (LastName)= " & "('" & strLast & "')" & " AND (FirstName)= " & "('" & strFirst & "')"

MsgBox (strSelectRec)
MsgBox (strUpdateRec)
DoCmd.RunSQL strSelectRec
DoCmd.RunSQL strUpdateRec

Я пробовал с круглыми скобками и без них, tablename.fieldname, комментируя оператор select и код выполнения.

Код select выдает сообщение об ошибке:

Ошибка времени выполнения '2342' Для действия RUNSQL требуется аргумент, состоящий из оператора SQL.

Без команды select команда update выдает:

Ошибка времени выполнения '3144' Синтаксическая ошибка в операторе обновления.

Что это такоеПредполагается, что нужно просто указать путь к изображению и обновить поле фотографии в таблице на основе имени и фамилии сотрудника.

В окне сообщения отображается правильный путь к файлу.

1 Ответ

1 голос
/ 23 июня 2019

Протестировал ваш SQL. Не любит скобки вокруг имен полей. Удалите все символы и упростите конкатенацию.

strUpdateRec = "UPDATE EmployeeDemographics SET Photo='" & strPhoto & "' WHERE LastName='" & strLast & "' AND FirstName='" & strFirst & "'"

...