簡體   English   中英

如何將一個表的記錄(特定的行,具有多個(但不是全部)列)附加到另一個表

[英]How can I append records (specific rows, with multiple (but not all) columns) from one table to another

每天約有5000條記錄上載到tblRecordsCurrent,在處理這些記錄后的幾天之內的某些時候,需要將它們移到tblRecordsHistorical。 每個記錄都有一個外鍵DataSetID ,可將其與上載日期/時間(父表)聯系起來。

如何在vba中如何將tblRecordsCurrent的單個數據集從tblRecordsCurrent插入tblRecordsHistorical。 我不能插入所有列,因為兩個表都包含持久列。

我無法將整個INSERT INTO tblRecordsHistorical A, B, C, D, E, F... ,因為訪問vba太長了。

有任何想法嗎?

如果將查詢保存在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 "

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM