Как вставить набор записей ADO в таблицу MS Access
Я хочу вставить текущую строку набора записей в таблицу 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])"
Я не совсем уверен, что мне не хватает.
2 ответов
Если поля типа в вашей таблице tblSummary_Appl_Usage_score
номера, так:
DoCmd.RunSQL "INSERT INTO tblSummary_Appl_Usage_score VALUES (" & rs![Configuration] & "," & rs![User Input / Output] & ")"
Если тип string, используйте это:
DoCmd.RunSQL "INSERT INTO tblSummary_Appl_Usage_score VALUES (""" & rs![Configuration] & """,""" & rs![User Input / Output] & """)"
открыть 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
при таком подходе ваш код не нужно адаптировать по-разному на основе типов данных поля набора записей. Он будет работать правильно независимо от типа данных, если совпадающие поля являются одинаковыми или совместимыми типами данных.