Ошибка компиляции: аргумент не обязателен - PullRequest
1 голос
/ 13 июля 2009

Ошибка компиляции: аргумент не является обязательным

Я получаю вышеуказанную ошибку при выполнении следующего запроса:

DoCmd.RunSQL = "insert into tblContract (Empid,testid,Start1,Finish1,Store1,Start2,Finish2,Store2 )values ('" & Me.txtEmpNo.Value & "','" & Me.txtAutoNumber.Value & "','" & Me.txtContSunStart1.Value & "', '" & Me.txtContSunFinish1.Value & "','" & Me.txtContSunStore1.Value & "','" & Me.txtContSunStart2.Value & "', '" & Me.txtContSunFinish2.Value & "','" & Me.txtContSunStore2.Value & "')"

Пожалуйста, помогите

Ответы [ 5 ]

4 голосов
/ 13 июля 2009
  1. DoCmd.RunSQL - это метод, а не свойство. Вы не делаете "DoCmd.RunSQL = SomeSQL" Вы делаете "DoCmd.RunSQL someSQL" (без знака равенства).
  2. DoCmd.RunSQL имеет очень плохую обработку ошибок и возвращается с неинформативными сообщениями об ошибках. С помощью CurrentDB.Execute
0 голосов
/ 14 июля 2009

Попробуйте добавить пробел перед значениями .

Как сказал Ооранг, удалите знак =

РЕДАКТИРОВАТЬ: Также, пожалуйста, проверьте, все ли поля имеют тип текста. Я бы предположил, что поля Empid и testid являются числовыми ...

0 голосов
/ 13 июля 2009

Вы действительно получили DoCmd.RunSQL = someString? С этим = там? Это не понравится ...

0 голосов
/ 13 июля 2009

Это может не быть проблемой. Но вы можете убедиться, что ваш ввод не содержит ни одной кавычки. Например, если Me.txtContSunStore1 равен что-то вроде «Bob's Store», эта строка будет жаловаться. Хотя это, вероятно, даст вам другую ошибку.

Обычно я обертываю все значения SQL функцией, которая очищает данные в зависимости от типа данных.

0 голосов
/ 13 июля 2009

Предполагая, что ваш синтаксис правильный, у вас, скорее всего, есть поле, которое требует значения, но вы пропустили его из списка целевых полей. То есть поле в конструкторе таблиц имеет " Обязательное ", установленное на Да на вкладке Общие.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...