【问题标题】:Creating temporary tables in MSAccess DB在 MS Access DB 中创建临时表
【发布时间】:2012-02-25 04:26:00
【问题描述】:
我几乎确定有更好的方法来做到这一点,但现在我会继续这样做。这是使用 WinForms,而不是在网页上。
在 Visual Basic 2010 中,我想创建一个表单,该表单使用数据网格视图从运行时创建的临时表中提取行。单击该表单的“提交”按钮时,临时表中的行将被复制到常规表中。 (这样做是因为在提交表单之前没有可用的 ID#。需要 ID#,因为临时生成的行以及整个表单将与该编号相关联。)
所以我的问题是,如何在 MSAccess 中动态创建临时表,或者如何使用数据网格而不将其与表关联?
【问题讨论】:
标签:
vb.net
visual-studio-2010
ms-access
【解决方案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;