ado в excel, вставка записей в базу данных доступа

В первый раз, как правило, я могу найти ответ путем поиска, но сегодня мой google-fu кажется слабым.

У меня есть рабочая книга excel, подключающаяся к базе данных Access 2003 для вставки записей использования

Код, который я использую:

sdbpath = ThisWorkbook.Path & "\Data.mdb" sCommand = "INSERT INTO Usage VALUES('" & Environ("Username") & "',#" & Now() & "#)" Dim dbCon As New ADODB.Connection Dim dbCommand As New ADODB.Command dbCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sdbpath & "; Jet OLEDB:Database Password=TestPass;" dbCommand.ActiveConnection = dbCon dbCommand.CommandText = sCommand dbCommand.Execute dbCon.Close 

Код не работает в строке dbCommand.Execute с ошибкой во время выполнения '-2147217900 (80040e14)': Ошибка автоматизации.

База данных, в которой он пытается вставить запись, содержит одну таблицу, использование, с двумя столбцами – UserID и AccessDate, отформатированными как текст и DateTime соответственно.

Нечетная часть строки подключения кажется ОК, поскольку она не работает после того, как соединение уже открыто, но если я принимаю значение sCommand перед запуском, то вставьте его в запрос в доступе и выполните его – он работает нормально!

В случае, если это был доступ к формату datetime, я попытался переключить его на текст (и хэштеги в коде), но это все еще не удается. Я также попытался указать имена столбцов.

Может ли кто-нибудь пролить свет на то, что я делаю неправильно? У меня никогда не было так много проблем с очень простым битом SQL.

Заранее спасибо!

В Access нам нужно указать имена полей. Тем не менее, я обнаружил, что мне нужно было обернуть имя таблицы в квадратных скобках, прежде чем оно будет вставляться:

 sCommand = "INSERT INTO [Usage] (UName, SomeDate) VALUES ('" & Environ("Username") _ & "',#" & Now() & "#)"