ado en excel, insertando loggings en la database de acceso

La primera vez que asker, normalmente puedo encontrar la respuesta buscando, pero mi google-fu parece débil hoy.

Tengo un libro de trabajo de Excel que se conecta a una database de acceso 2003 para insert loggings de uso

El código que estoy usando es:

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 

El código falla en la línea dbCommand.Execute con el error en time de ejecución '-2147217900 (80040e14)': Error de automation.

La database en la que intenta insert el logging contiene una tabla, uso, con dos columnas: Id. De usuario y Fecha de acceso, formateados como text y Fecha y hora, respectivamente.

La parte extraña es que la cadena de connection parece correcta, ya que falla después de que la connection ya está abierta, pero si tomo el valor sCommand antes de ejecutar la ejecución, luego lo pega en una consulta en el acceso y lo ejecuto: ¡funciona bien!

En caso de que el acceso tuviera problemas con el formatting de date y hora, intenté cambiarlo a text (y los hashtags en el código) pero eso aún falla. También intenté especificar los nombres de las columnas también.

¿Alguien puede arrojar algo de luz sobre lo que estoy haciendo mal? Nunca tuve tantos problemas con un SQL muy simple.

¡Gracias por adelantado!

En Access, necesitamos especificar los nombres de campo. Aun así, descubrí que tenía que ajustar el nombre de la tabla entre corchetes antes de insertlo:

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