2013-12-23 2 views
1

Я использую этот код для вставки 4 текстовых полей данных в таблицу.Вставить код в код, который вызывает ошибку

CurrentDb.Execute = "INSERT INTO tbl_machineheader(Line No, Description, Service Interval, Type) values ('" & Me.Combo3 & "', '" & Me.Text1 & "', '" & Me.Text6 & "', '" & Me.Text12 & "')" 

Однако это не работает, и я не могу понять, почему.

ответ

1

что «=» характер не так:

CurrentDb.Execute **=** "INSERT INTO tbl_machineheader(Line No, Description, Service Interval, Type) values ('" & Me.Combo3 & "', '" & Me.Text1 & "', '" & Me.Text6 & "', '" & Me.Text12 & "')" 

Также вы должны использовать квадратные скобки для имен столбцов. Правильный синтаксис выглядит следующим образом:

CurrentDb.Execute "INSERT INTO tbl_machineheader([Line No], [Description], [Service Interval], [Type]) values ('" & Me.Combo3 & "', '" & Me.Text1 & "', '" & Me.Text6 & "', '" & Me.Text12 & "')" 
+0

Ваши наблюдения являются правильными, но еще лучше, ответ был бы предложить избежать уязвимости SQL Injection и другие неудобства при использовании Recordset вставки или параметризованный запрос (через объект QueryDef) , –

Смежные вопросы