查询不会更新子窗体 MS-Access 中的表

Posted

技术标签:

【中文标题】查询不会更新子窗体 MS-Access 中的表【英文标题】:Query will not update table in subform MS-Access 【发布时间】:2014-07-07 17:43:14 【问题描述】:

我通过在 SQL Server 2008 上运行以下脚本在 MS-Access 2010 中创建了一个表

SELECT * into qryInstrumentInterfacelog FROM tblInstrumentInterfaceLog

qryInstrumentInterface 用于在主窗体上填充子窗体。按下“处理”按钮后,文件被读入并存储在数据库中。每次读入新文件时,tblInstrumentInterface 都会插入一条新记录。我的问题是 qryInstrumentInterfacelog 不会使用 tblInstrumentInterfaceLog 更新,它只会保留与脚本首次在服务器上运行时相同的数据。我尝试了不同的方法来重新查询子表单,但我意识到子表单没有问题,它是实际表没有改变。如何使 qryInstrumentInterfacelog 动态并随着 tblInstrumentInterfaceLog 更新而更新?我的 SQL 代码错了吗?

【问题讨论】:

什么叫SQL代码? 我在服务器上运行并保存为表格,然后链接到Access,我并没有真正调用它 好的,所以它是一个链接表? 是的,数据库存储在SQL服务器上 SQL Server 中的表是否按预期更新?只是没有更新的Access链接表吗? 【参考方案1】:

嗯,一个重要的问题是,事实上,你不能重复写的查询。

“选择...进入”仅创建一个新表。它不会插入/追加到这样的表中。 因此,如果您真的第二次调用它,它可能会出错。

如果您真的想删除和替换表格,请确保在“Select...Into”之前调用明确的“Drop Table”。

-- 在 SQL Server t-sql 中,一个典型的模式是

if object_id('*your_table_name*') is not null  
  drop table *your_table_name*
;  
*...your select...into*

【讨论】:

所以我应该把它变成一个存储过程,添加 drop table 行,然后在我想刷新 table 时调用它?

以上是关于查询不会更新子窗体 MS-Access 中的表的主要内容,如果未能解决你的问题,请参考以下文章

使用 c# 和 oledb 查询更新 Ms-Access 2010 中的列值

MySQL 子查询 派生表子查询错误

Laravel 多表子查询

连接两个表子查询

MySQL------ 子查询

MySQL------ 子查询