MS Access:为每个唯一记录编辑计算字段

MS Access: Edit calculated field for each unique record

这是我第一次post来这里,所以如果我没有使用适当的礼仪或者这个问题太罗嗦,我提前道歉。

为了提供一些背景知识,我创建了一个接收数据库,用于比较我们的操作员实际收到的零件号和数量与我们印度工厂发送的电子发票中显示的零件号和数量。此发票是一个 excel 文件,我将其附加到 table 的访问权限中,其中包含字段“发票编号”、“零件编号”、“货盘编号”和“数量”(加上一些其他字段,但它们与我遇到的这个问题无关。

我们有第二个设施,就在我们存放大部分库存的地方。我们的目标是为每个托盘单元创建一个装箱单,在收到它们并根据发票检查后,我们将其发送到我们的第二个仓库(我们称之为 WH2)。此装箱单是从表单生成的报告,在该表单中,用户将发票编号和托盘编号输入到不受控制的文本框中,这些文本框是 select 查询的参数,该查询用作数据表视图中的子表单。

由于我们的收货团队必须将从印度收到的托盘重新装到新托盘上以运往 WH2,因此他们需要能够 select 他们希望报告用于生成装箱单的唯一记录帮助我们在 WH2 的运营商轻松准确地管理他们的库存。到目前为止,我的工作完全符合我的需要。我遇到的唯一问题是我希望 select 查询创建一个数量字段,该字段默认为源 table 中的“数量”字段值,但我希望用户能够编辑该数量而不编辑源 table 中的值。我已经尝试在 select 查询中创建一个等于“数量”字段值的表达式,但在表单中它不允许我编辑该字段,因为它是计算出来的。我尝试创建一个不受控制的字段并通过 VBA 将该字段的值设置为等于“数量”字段值,但是如果我编辑该字段中的一个值,它会将该记录集中该字段的所有值更改为相同的值。我基本上希望这个新字段默认为与 table 中的“数量”字段相同的值,但仍然能够编辑每个唯一记录。抱歉这个冗长的问题,我想提供尽可能多的上下文,而不必 post 我的数据库,因为我有公司信息和 name/logo 之类的东西。顺便说一句,我正在使用 Access 2016,这是我第一次涉足 vba、sql 和一般访问。如果我的场景与我的布局方式不符,而您需要我的数据库来帮助我,请告诉我。

那么您需要一个绑定到另一个字段的文本框来输入这个其他数量。使用代码将初始值输入字段。真正的诀窍是弄清楚什么时候去做。也许在输入主要数量时 - 使用文本框 AfterUpdate 事件:

If IsNull(Me.tbxQty2) Then Me.tbxQty2 = Me.tbxQty1