VBScript вставить в MS Access - PullRequest
1 голос
/ 27 мая 2009

Я работаю над небольшим приложением, которое использует vbscript для записи в базу данных ms access каждый раз, когда я ее использую (действительно только для личного использования, поэтому мне не нужно беспокоиться о внедрении sql) При запуске я получаю «синтаксическую ошибку в инструкции INSERT INTO». Строка подключения верна, потому что БД блокируется при запуске. имя таблицы - ors. Что я делаю не так?

sql1="INSERT INTO ors  VALUES (,,'B223234','12/22/08')"
constring="Provider=Microsoft.Jet.OLEDB.4.0;
  Data Source=C:\Documents and Settings\me\My Documents\tracker.mdb;
    User Id=admin;Password=;" 
set con=createobject("adodb.connection")
con.open constring
con.execute sql1
con.close

Ответы [ 5 ]

3 голосов
/ 27 мая 2009

Вам нужно NULL для "пустых" значений. Вам также необходимо использовать #, окружающий дату, вместо одинарных кавычек для полей даты.

Если вы не хотите указывать все значения, вы можете указать только те поля, которые хотите установить.

(Предполагается поле даты, а не текст для значения даты)

Это:

INSERT INTO ors VALUES (NULL,NULL,'B223234',#12/22/08#)

Или это:

INSERT INTO ors (Field3, Field4) VALUES ('B223234',#12/22/08#)

3 голосов
/ 27 мая 2009

Если я правильно помню, я думаю, что даты в MS Access требуют # окружать их вместо одинарных кавычек. Попробуйте изменить вставку на

INSERT INTO ors VALUES (,,'B223234',#12/22/08#)

Кроме того, возможно, вам придется указать пробелы для пропущенных параметров

INSERT INTO ors VALUES (NULL,NULL,'B223234',#12/22/08#)

мои знания MS Access немного ржавые, но попробуй.

1 голос
/ 28 мая 2009

Также обратите внимание, что поле даты должно быть в формате мм / дд / гг или в другом однозначном формате, например, мм / дд / гггг, гггг / мм / дд или гггг-мм-дд. Если кто-то запускает свою систему в формате дд / мм / гг или гг / мм / дд, это приведет к неправильной вставке дат.

См. http://mvps.org/access/datetime/date0005.htm для решения, которое работает в Access.

Я знаю, что вы заявили, что это только для личного использования, но вы должны знать об этих деталях в будущем.

1 голос
/ 27 мая 2009

INSERT INTO ors (field1, fiedl2) VALUES ('B223234', # 12/22/08 #)

или

INSERT INTO or VALUES (NULL, NULL, 'B223234', # 12/22/08 #)

Может работать ..

0 голосов
/ 27 мая 2009

Вам необходимо указать поля для вставки:

Пример: вставить в таблицу значения 1 (test1, test2, test3) («1», «2», «3»)

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