如何将ADO Recordset插入MS Access Table

zac*_*ach 8 ms-access vba insert ms-access-2010

问题

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

Syntax error (missing operator) in query expression 'rs[columnname]'
Run Code Online (Sandbox Code Playgroud)

码

这是我当前的代码,我试图抓住所有列并将它们插入到新表中.

DoCmd.RunSQL "INSERT INTO tblSummary_Appl_Usage_score VALUES (rs[Configuration], rs[User Input / Output])"
Run Code Online (Sandbox Code Playgroud)

我不太清楚我错过了什么.

Han*_*sUp 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
Run Code Online (Sandbox Code Playgroud)

使用此方法,您的代码不需要根据记录集字段数据类型进行不同的调整.只要匹配字段是相同或兼容的数据类型,它就可以正常工作而不管数据类型.


Hug*_*mos 5

如果表tblSummary_Appl_Usage_score中的类型字段是数字,请使用:

DoCmd.RunSQL "INSERT INTO tblSummary_Appl_Usage_score VALUES (" & rs![Configuration] & "," & rs![User Input / Output] & ")"
Run Code Online (Sandbox Code Playgroud)

如果类型是字符串,请使用:

DoCmd.RunSQL "INSERT INTO tblSummary_Appl_Usage_score VALUES (""" & rs![Configuration] & """,""" & rs![User Input / Output] & """)"
Run Code Online (Sandbox Code Playgroud)