MS Access:在表单上显示后保存数据

时间:2017-06-06 01:01:01

标签: database forms ms-access conditional

我有以下3个表格:

零售商:
RetailerID
RetailerName
应税(是或否)

产品:
股权
AmountWithTax
AmountWithoutTax

退款:
RetailerID(从零售商处查找值作为下拉列表)
ProductName(从产品中查找值作为下拉列表)

我有一个名为RefundQuery的查询,它来自这3个表:
退款 - RetailerID,产品名称
零售商 - 零售商名称,应税红色 Product - Stake,AmountWithTax,AmountWithoutTax

然后基于RefundQuery创建表单。我们的想法是让用户从下拉列表中选择RetailerID,该列表自动填充RetailerName和Taxable字段。然后,用户将从下拉列表中选择一个ProductName,并键入Stake的值,然后自动填充AmountWithTax和AmountWithoutTax的值。但是,我不知道如何仅显示其中一个值,具体取决于零售商是否应纳税。

我尝试在表单中创建一个额外的文本框并添加了
= IIF([计税] = “YES”,[AmountWithTax],[AmountWithoutTax])
进入控制源。虽然这显示相应的值,但它不会保存到我的记录中。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

可征税是否/否(布尔)类型字段?如果是,那么不需要="Yes",只需:

=IIf([Taxable], [AmountWithTax], [AmountWithoutTax])

但是,既然你说你的表达式有效,我猜它是一个文本类型字段。

除非这些值随时间而变化,否则无需保存。如果你必须保存那么在某些情况下需要代码。您还需要一个适当的表格中的字段(可能是退款)来保存。

Me!Amount = Me.textboxname

真正的诀窍是弄清楚什么事件。也许是Stake文本框的AfterUpdate事件。

使用Stake combobox选择产品名称?