ms access - Error de sintaxis en la instrucción INSERT INTO RTE ''-2147217900(80040e14)'':
ms-access access-vba (1)
Column
es una palabra reservada . Esa puede ser la fuente del error de sintaxis. Y, si es así, puede evitar ese error al encerrar el nombre del campo entre corchetes. Mejor aún, cambie el nombre del campo con una palabra no reservada si es posible.
Si esa sugerencia elimina el primer error, puede evitar otro error posterior agregando comillas alrededor del carácter K en la lista VALUES
.
Pruebe esto como una nueva consulta en el diseñador de consultas de Access. Si funciona correctamente, ajuste su código VBA para producir el mismo texto de instrucción INSERT
.
INSERT INTO tbl_buyer_column (ship_id, aels_id, buyer_wss, [column], date_created)
VALUES (23, 13, ''K'', 1, #04/17/2015#)
También tenga en cuenta que podría usar una consulta de parámetros para INSERT
. Un beneficio de ese enfoque es que podría evitar problemas debido a los delimitadores de valores.
He intentado pelar el strSQL de vuelta a un solo campo y todo funciona. Tan pronto como agregue un segundo campo, empiezo a obtener el error. Esto me dice que las referencias son correctas. He intentado muchos espacios diferentes alrededor de los () sin suerte tampoco.
?strSQL
INSERT INTO tbl_buyer_column (ship_id, aels_id, buyer_wss, column, date_created)VALUES(23, 13, K, 1, #04/17/2015#)
Public Sub fun_insert_into(lngship_id As Long, lngAels_id As Long, strBuyer_wss As String, lngColumn As Long, datDate_created As Date)
Dim strSQL As String
Dim adoCon As ADODB.Connection
Dim adoCmd As ADODB.Command
Set adoCon = CurrentProject.Connection
Set adoCmd = New ADODB.Command
strSQL = "INSERT INTO tbl_buyer_column (ship_id, aels_id, buyer_wss, column, date_created)" & _
"VALUES(" & lngship_id & ", " & lngAels_id & ", " & strBuyer_wss & ", " & lngColumn & ", " & SQLDate(datDate_created) & ")"
With adoCmd
.ActiveConnection = adoCon
.CommandType = adCmdText
.CommandText = strSQL
.Execute
End With
adoCon.Close
Set adoCon = Nothing
Set adoCmd = Nothing
End Sub