Ошибка SQL при изменении существующей записи с помощью Insert - PullRequest
0 голосов
/ 02 июня 2010

Я использую приведенный ниже код для вызова запроса в Access VBA

strSQL = "INSERT INTO tblLoanDetails ([ServerName]) VALUES ('Test') WHERE [ID]=3"
Call CurrentDb.Execute(strSQL)

Я хочу изменить поле ServerName.

Я получаю сообщение об ошибке «3067: запрос должен содержать хотя бы одну таблицу или запрос».

Строка оператора вставки выглядит следующим образом. (Бросил переменную в текстовое поле):

INSERT INTO tblLoanDetails ([ServerName]) VALUES ('Test') WHERE [ID]=3

Я попытался добавить точку с запятой в конец. Я убедился, что моя таблица называется tblLoanDetails, а имена столбцов - ServerName и ID.

1 Ответ

1 голос
/ 02 июня 2010

Если вы хотите добавить новую запись, в этом случае у вас не должно быть предложения WHERE, так как нет записей для проверки. Сделайте это:

INSERT INTO tblLoanDetails (ServerName) VALUES ('Test') 

Если вместо этого вы хотите изменить существующую запись, сделайте это:

UPDATE tblLoanDetails set ServerName = 'Test' where ID = 3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...