问题
我想将当前记录集行插入MS Access表。我目前收到此错误
Syntax error (missing operator) in query expression 'rs[columnname]'
CODE
这是我当前的代码,我试图获取所有列并将它们插入到新表中。
DoCmd.RunSQL "INSERT INTO tblSummary_Appl_Usage_score VALUES (rs[Configuration], rs[User Input / Output])"
我不太确定我错过了什么。
答案 0 :(得分:11)
打开tblSummary_Appl_Usage_score
作为DAO recordset
。然后使用其.AddNew
方法创建一个新行并存储ADO记录集中的值。
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
使用这种方法,您的代码不需要根据记录集字段数据类型进行不同的调整。只要匹配字段是相同或兼容的数据类型,它就可以正常工作而不管数据类型。
答案 1 :(得分:5)
如果表tblSummary_Appl_Usage_score
中的类型字段是数字,请使用:
DoCmd.RunSQL "INSERT INTO tblSummary_Appl_Usage_score VALUES (" & rs![Configuration] & "," & rs![User Input / Output] & ")"
如果类型是字符串,请使用:
DoCmd.RunSQL "INSERT INTO tblSummary_Appl_Usage_score VALUES (""" & rs![Configuration] & """,""" & rs![User Input / Output] & """)"