当我插入以下SQL字段时,我无法将任何条目编码到主窗体上的子窗体数据网格。如果我删除此列,系统允许我创建新的数据记录。任何人都可以看看这个问题!
提前付款余额:
(SELECT SUM(NZ(T1.AdvancePayment,0)-
NZ(([GrossInv-WorksCertified-61110]*
[SubCon-BasicInfo].[Advance-409130-%]/100),0))
FROM [InvoiceMaster] AS T1
WHERE T1.[SubConName]=[InvoiceMaster].[SubconName]
AND T1.[ID]<=[InvoiceMaster].[ID])
答案 0 :(得分:0)
在查询中使用计算会使基础记录集无法更新。 有关查询(以及基于它们的表单)有时不可更新的原因,请参阅this question。
在数据表表单中包含计算的正确方法是在设计视图中打开它,向它们添加新的文本框控件,并将控件控件源设置为等于=
等号,然后计算
您还需要将子查询重写为域聚合或使用组合框来使用查询。
重写示例:
DSUM("NZ(InvoiceMaster.AdvancePayment,0)- NZ(([GrossInv-WorksCertified-61110]*[SubCon-BasicInfo].[Advance-409130-%]/100),0)", "InvoiceMaster", "[SubConName] = """ & [InvoiceMaster].[SubconName] & """ AND ID = " & [InvoiceMaster].[ID])