0

我正在创建一个 MS Access 2010 数据库,以允许用户输入将在查询中使用的一系列数据。

我有一个名为“Entry”的主表单和一个名为“SubEntry”的有界子表单(用于查看输入的记录)。主窗体(Entry)由文本/组合框控件组成,允许用户键入值,例如:

**Controls       ControlSource**

Date             "Entered by the user"
CompanyID        "Entered by the user"
TicketID         "Entered by the user"
TicketPrice      "Automatic retrieved by a query based on the entered 'Date' and 'TicketID' "
Pieces           "Entered by the user"
TotalPrice       "TicketPrice * Pieces"
CorrectedPrice   "Entered by the User"
Revenue          "=IIf([CorrectPrice]=0,[TotalPrice],[CorrectPrice])"

这适用于输入和查看记录集。但问题是,在用户将记录集添加到子表单的初始阶段,确切的“收入”值会添加到子表单的“收入”字段中。但之后,当用户在 subfrom 中滚动并选择一个记录集(出现在主窗体的相应控件中)并更改值时。例如选择另一个ticketID 或Date,主表单中的“Revenue”值会发生变化,但不会在子表单的Revenue 字段中更新。同时,任何其他更改使主窗体在子窗体中自动更新,但不会更新“收入”值。

我对 MS Access 和 VBA 不太熟悉,只是想知道是否缺少一些明显的东西?如何处理子条目的“收入”字段以像子表单中的任何其他字段一样自动更新。

感谢您的时间和帮助。

4

1 回答 1

0

您需要将文本框与子表单中的相关字段相关联,因此:

txtEinnahme
ControlSource: KorrEinahme

然后你需要代码来添加计算,例如:

Private Sub txtpiece_AfterUpdate()
    Me.txtEinnahme = IIf(Me.[DKorrEin] = 0, Me.[txtTotal], Me.[DKorrEin])
End Sub

将类似的代码放在任何控件中都应该改变 txtEinnahme 的值。

于 2012-11-09T16:11:44.383 回答