繁体   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