0

毎日、最大 5000 件のレコードが tblRecordsCurrent にアップロードされます。これらのレコードが処理されてから数日以内のある時点で、tblRecordsHistorical に移動する必要があります。DataSetID各レコードには、アップロードされた日付/時刻に関連付ける外部キーがあります (親テーブル)。

vba 内で、tblRecordsCurrent の単一の DataSet を tblRecordsCurrent から tblRecordsHistorical に挿入する方法を教えてください。両方のテーブルに永続化された列が含まれているため、すべての列を挿入することはできません。

INSERT INTO tblRecordsHistorical A, B, C, D, E, F...vbaにアクセスするには長すぎるため、全体を入れることはできません。

何か案は?

4

1 に答える 1

3

クエリを Access データベースに保存すると、次の方法で VBA で実行できます。

DoCmd.OpenQuery "yourQueryName", acViewNormal, acEdit

または

CurrentDb.OpenRecordset("yourQueryName")

または

CurrentDb.Execute "qryAddLoginfoRow"

これにより、クエリを VBA コードに格納しなくてもクエリを実行できます。ただし、クエリを使用してこれを実行することもできますVBA

INSERT INTO tblRecordsHistorical (col1, col2...) 
SELECT col1, col2...
FROM tblRecordsCurrent

編集:

文字列を連結して長い SQL 文字列を作成できます。

SQLString = "INSERT INTO tblRecordsHistorical (col1, col2...) " & _
            " SELECT ... " & _
            " FROM tblRecordsCurrent "
于 2012-07-16T10:26:36.347 に答える