我有三张桌子:
Products(ID,Name,Price) /
Customer(ID, Name, Surname)
Buys(ID, ID_customer, ID_product)
我有一个包含子表单的表单。使用Buys表中的查询填充子表单,然后通过ID_customer连接到Customer(ID)。 ID和ID_customer隐藏在子窗体上。
然后我在子窗体上添加了两个字段/控件:Name和aPrice,它们通过ProductsQuery填充:
SELECT Products.Name, Products.Price
FROM Products
WHERE (((Products.ID)=[Forms]![PregledKupcev-Form]![NAKUPI-Subform]![ID]));
//在这种情况下,ID是对包含产品ID的子表单的控制
使用:
=DLookUp("[Name]";"[ProductsQuery]")
和
=DLookUp("[Price]";"[ProductsQuery]")
到目前为止一切正常但是当我尝试总结一个控件(本例中的价格)时,它给了我很多麻烦。
有没有办法更好地做到这一点?
然后我尝试将aPrice控件中的内容总结为子窗体页脚上的PriceSum控件:
=Sum([Forms]![PregledKupcev-Form]![NAKUPI-subform]![aPrice])
并将其转移到表格中:
=[Forms]![PregledKupcev-Form]![NAKUPI-subform]![PriceSum]
但我收到错误..
如何在子窗体的价格控制中总结值?
图片:
答案 0 :(得分:1)
假设您的主窗体有一个名为txtInvoiceNo
的文本框,您可以在其中显示发票编号(或任何字段将您的父表链接到您的子表)。
我们还要说您的主窗体有一个名为txtInvoiceTotal
的文本框,您希望在其中显示每个子记录的[Price]值的总和。
将txtInvoiceTotal
文本框的控件来源设置为在子表(我称之为DSum()
)上执行InvoiceLineItems
:
=DSum("[Price]","InvoiceLineItems","InvoiceNo=" & [txtInvoiceNo])
在子表单的After Update
事件中,在.Requery
父表单的txtInvoiceTotal
文本框中添加一行:
Private Sub Form_AfterUpdate()
Me.Parent.txtInvoiceTotal.Requery
End Sub
看看这对你有用。