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