2013-03-03 2 views
3

У меня есть форма, и я хочу ее заполнить, а затем сохранить некоторые из полей в существующую таблицу под названием «Заказ». Я пытаюсь сделать это с помощью этой строки кода:сохранение данных из формы в таблицу при доступе

CurrentDb.Execute "INSERT INTO Order (OrderNumber)" & " VALUES (' " & Me.order & " ')"

Я также попробовал, как этот

CurrentDb.Execute "INSERT INTO Order (OrderNumber)" & " VALUES (" & Me.order & ")"

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

run-time error '3134': syntax error in INSERT INTO statement.

что я делаю неправильно?

+1

Можете ли вы попробовать распечатать строку sql, которую вы выполняете в качестве запроса? Возможно, это помогает отслеживать проблему. –

ответ

3

Order - зарезервированное слово. Если вы должны сохранить это имя таблицы, скопируйте его, чтобы избежать путаницы с движком db.

Dim strInsert As String 
strInsert = "INSERT INTO [Order] (OrderNumber) VALUES ('" & Me.order & "')" 
Debug.Print strInsert 
CurrentDb.Execute strInsert, dbFailOnError 

Если OrderNumber числовой тип данных, а не текст, отбросить эти одиночные кавычки из INSERT заявления.

Сохраните инструкцию в строковой переменной. Затем используйте Debug.Print, чтобы проверить завершенное утверждение, которое вы запрашиваете для запуска. Вы можете просмотреть вывод Debug.Print в окне Immediate. Перейдите туда с Ctrl + g Скопируйте заявление и вставьте его в SQL View нового запроса Access для устранения неполадок.

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