在MS Access DB中创建临时表

时间:2012-02-25 04:26:01

标签: vb.net visual-studio-2010 ms-access

我几乎可以确定有更好的方法来做到这一点但是现在我会继续这样做。这是使用WinForms,而不是在网页上。

在Visual Basic 2010中,我想创建一个表单,该表单使用数据网格视图从运行时生成的临时表中提取行。单击该表单的“提交”按钮时,临时表中的行将被复制到常规表中。 (这是因为在提交表单之前没有ID#可用。需要ID#,因为临时表格和整个表格中的行将与THAT编号相关联。)

所以我的问题是,如何在MSAccess中动态创建临时表?如何在不将数据表与表关联的情况下使用数据网格?

2 个答案:

答案 0 :(得分:1)

如果您的想法是:

  1. 创建一个从另一个表继承其结构的空表,然后
  2. 将记录添加到此新表中,
  3. 最后在原始表中插入这些记录,
  4. 你可以这样做:

    SELECT * INTO tempTable FROM myTable WHERE myTable.id_MyTable IS NULL
    

    (你在这里创建一个原始表的空副本.WHERE子句用于确保你的新表是空的......)

    然后您可以使用datagrid操作tempTable。在该过程结束时,您可以编写以下内容:

    INSERT INTO myTable SELECT * FROM tempTable
    DROP temptable
    

    代码是“即时”编写的,所以我不能保证它,但这个想法就在这里。

答案 1 :(得分:0)

您可以执行Make Table查询来创建表。

SELECT "X" AS MyId, 1 AS F1, 1 AS f2 INTO MyTempTable;