带有子查询的查询不可更新。有解决方法吗?

我正在使用microsoft access中的数据库,这是我正在尝试寻找以下解决方案的方案:

公司发送申请以申请更多容量。该应用程序可以包含多个较小的容量,这些容量合计为应用程序的总容量。应用程序存储在表tApplication中,而与应用程序关联的容量存储在tCapacity中。

我希望提供有关申请的信息,包括总容量。因此,我有一个包含以下数据源的表单:

SELECT tApplication.ID,tApplication.CompanyID,tApplication.statusID,(SELECT SUM(tCapacity.Capacity) FROM tCapacity WHERE tApplication.ID = tCapacity.applicationid) AS TotalCapacity
FROM tApplication;

此查询为我提供了我所需的信息,但是它使我无法编辑记录集中的任何内容(使用子查询显然会使您的查询在microsoft access中不可更新)。有没有解决的办法?我一直在考虑将应用程序和功能存储在同一张表中的想法,但是我不确定这是一个好的设计选择。

yukuanli 回答:带有子查询的查询不可更新。有解决方法吗?

我使用了DSUM(),效果很好。谢谢June 7。

SELECT tApplication.ID,tApplication.CompanyID,tApplication.statusID,DSUM( "tCapacity.Capacity","tCapacity","tCapacity.ApplicationID = " & tApplication.ID) AS TotalCapacity
FROM tApplication;
,

尝试以下两个选项:

进行表查询 生成表查询就像选择查询一样,只不过其结果被放入新表而不是数据表视图中。您指定表名并创建它。如果该表存在,则将其替换。要创建Make-Table查询,请在设计模式下打开查询(qryCustomerSales),然后从“查询”菜单中选择Make-Table查询。

使用追加查询而不是生成表查询 生成表查询的替代方法是追加查询。追加查询使您可以将查询中的记录插入现有表中。如果您只有一个步骤的过程,通常没有太大的区别。但是,如果您有多个步骤,则追加查询具有明显的优势。

更多信息: https://www.fmsinc.com/MicrosoftAccess/query/non-updateable/index.html#Example2

本文链接:https://www.f2er.com/2850589.html

大家都在问