8

问题

我想将当前记录集行插入到 MS Access 表中。我目前收到此错误

Syntax error (missing operator) in query expression 'rs[columnname]'

代码

这是我当前的代码,我正在尝试获取所有列并将它们插入到新表中。

DoCmd.RunSQL "INSERT INTO tblSummary_Appl_Usage_score VALUES (rs[Configuration], rs[User Input / Output])"

我不太确定我错过了什么。

4

2 回答 2

13

打开tblSummary_Appl_Usage_scoreDAO 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

使用这种方法,您的代码无需根据记录集字段数据类型进行不同的调整。只要匹配的字段是相同或兼容的数据类型,无论数据类型如何,它都可以正常工作。

于 2012-12-04T22:15:38.627 回答
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] & """)"
于 2012-12-04T22:05:40.887 回答