PROBLEM
I want to insert the current recordset row into a MS Access table. I am currently getting this error
Syntax error (missing operator) in query expression 'rs[columnname]'
CODE
Here is my current code, I am trying to grab all the columns and insert them into a new table.
DoCmd.RunSQL "INSERT INTO tblSummary_Appl_Usage_score VALUES (rs[Configuration], rs[User Input / Output])"
I am not quite sure what i am missing.
If the type fields in your table tblSummary_Appl_Usage_score
are numbers, use this:
DoCmd.RunSQL "INSERT INTO tblSummary_Appl_Usage_score VALUES (" & rs![Configuration] & "," & rs![User Input / Output] & ")"
If the type is string, use this:
DoCmd.RunSQL "INSERT INTO tblSummary_Appl_Usage_score VALUES (""" & rs![Configuration] & """,""" & rs![User Input / Output] & """)"
Open tblSummary_Appl_Usage_score
as a DAO recordset
. Then use its .AddNew
method to create a new row and store the values from your ADO recordset.
Dim db As DAO.database
Dim rsDao As DAO.Recordset
Set db = CurrentDb
Set rsDao = db.OpenRecordset("tblSummary_Appl_Usage_score", dbOpenTable, dbAppendOnly)
rsDao.AddNew
rsDao![Configuration] = rs![Configuration]
rsDao![User Input / Output] = rs![User Input / Output]
rsDao.Update
With this approach, your code needn't be adapted differently based on the recordset field data types. It will work correctly regardless of data type as long as the matching fields are both the same or compatible data types.