在 MS Access DB 中创建临时表
Posted
技术标签:
【中文标题】在 MS Access DB 中创建临时表【英文标题】:Creating temporary tables in MSAccess DB 【发布时间】:2012-02-25 04:26:00 【问题描述】:我几乎确定有更好的方法来做到这一点,但现在我会继续这样做。这是使用 WinForms,而不是在网页上。
在 Visual Basic 2010 中,我想创建一个表单,该表单使用数据网格视图从运行时创建的临时表中提取行。单击该表单的“提交”按钮时,临时表中的行将被复制到常规表中。 (这样做是因为在提交表单之前没有可用的 ID#。需要 ID#,因为临时生成的行以及整个表单将与该编号相关联。)
所以我的问题是,如何在 MSAccess 中动态创建临时表,或者如何使用数据网格而不将其与表关联?
【问题讨论】:
【参考方案1】:如果你的想法是:
-
创建一个空表,从另一个表继承其结构,然后
将记录添加到这个新表中,然后
最后将这些记录插入到原表中,
你可以这样做:
SELECT * INTO tempTable FROM myTable WHERE myTable.id_MyTable IS NULL
(您在此处创建原始表的空副本。此处的 WHERE 子句可确保您的新表为空...)
然后您可以使用您的数据网格操作 tempTable。在流程结束时,您可以编写以下内容:
INSERT INTO myTable SELECT * FROM tempTable
DROP temptable
代码是“即时”编写的,所以我不能保证,但想法就在这里。
【讨论】:
【参考方案2】:您可以执行 Make Table 查询来创建表。
SELECT "X" AS MyId, 1 AS F1, 1 AS f2 INTO MyTempTable;
【讨论】:
以上是关于在 MS Access DB 中创建临时表的主要内容,如果未能解决你的问题,请参考以下文章
MS Access 数据库 (2010) 如何从查询设计器创建临时表/过程/视图