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_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

この方法を使用すると、レコードセット フィールドのデータ型に基づいてコードを個別に変更する必要がなくなります。一致するフィールドが同じか互換性のあるデータ型である限り、データ型に関係なく正しく機能します。

于 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 に答える