首页 > 解决方案 > MS Access:编辑每个唯一记录的计算字段

问题描述

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

只是为了提供一点背景故事,我创建了一个接收数据库,该数据库将我们的操作员实际收到的零件编号和数量与我们在印度工厂发送的电子发票中显示的零件编号和数量进行比较。此发票是一个 Excel 文件,我将其附加到表中,其中包含“发票编号”、“零件编号”、“托盘编号”和“数量”字段(加上其他一些字段,但它们与此问题无关我有)。

我们在路上还有第二个设施,我们保留了大部分库存。我们的目标是在收到并对照发票核对后,为每个托盘创建一个装箱单,然后将其发送到我们的第二个仓库(我们称之为 WH2)。此装箱单是从表单生成的报告,其中用户将发票编号和托盘编号输入到不受控制的文本框中,这些文本框是选择查询的参数,该查询用作数据表视图中的子表单。

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

标签: ms-access

解决方案


然后你需要一个绑定到另一个字段的文本框来输入这个其他数量。使用代码在字段中输入初始值。真正的诀窍是弄清楚何时这样做。也许当输入主要数量时 - 使用文本框 AfterUpdate 事件:

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

推荐阅读