[英]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.