我正在尝试设计一个名为“Master PO”的采购订单表单,其中包含一个名为 POContent 的连续子表单。为此,我使用了 2 个名为 tblMasterPO 和 tblPOsContent 的表。这是它的屏幕截图:
关键是主 PO 表单是一个拆分视图,顶部是数据表视图,底部是文本和组合框的组合。“PO 内容”子表单是主 PO 表单下部的连续表单。
在我的公司,我们正努力记录我们对采购订单所做的每一次更改以供将来分析,因此需要采购订单修订号。这个想法是每次我们对主 PO 或 PO 内容进行更改时,当用户单击“保存/更新 PO”按钮时,我将使用(大量)VBA 代码使用更新的数据创建一个新记录. 表单/子表单组合并不是最好的调用方式,因为它实际上应该是 2 个完全链接的表(如果 PO 内容发生变化,那么 Master PO 也将使用新的 ID# 进行更新)。
我有多个问题要达到使此表单工作的目标:
- 确保我可以自由切换到表单和子表单字段的最佳方法/做法是什么?例如,同时弄脏两个表?或者有一个未绑定的连续子表单?还是临时表?
- 如果我使用未绑定的连续子表单,如何让用户在向 PO 添加新项目时添加行?例如,我希望用户单击数据表表单以查看 PO,然后将 PO 内容项填充到未绑定的子表单中。但是当用户点击“新建采购订单”按钮时,主采购订单和采购订单内容字段中的任何一个都没有数据,因此用户可以在表单和子表单中添加项目,最后通过点击“保存所有内容”保存/更新采购订单”按钮。
您有什么提示或想法可以使这项工作在访问中发挥作用吗?
我知道会有很多 VBA,但我期待它;我只是想从经验丰富的访问程序员那里找到解决方法/解决方案!
谢谢!
编辑1:
基本上,在创建 PO 时,工作流程是首先添加一般信息,例如,谁在创建 PO、什么日期、它与什么项目相关等;这些进入“主 PO”表。然后,您想实际将项目添加到此 PO,因此您有多行(例如,您需要 1x 包螺丝,然后需要 2x 包螺母等)。完成 PO 后,您最终可以使用“保存/更新 PO”按钮将其保存,这会将所有内容保存在专用表中。
如果我开始向子表单添加项目,父表单确实会自动更新,但这是我试图“暂停”的内容,同时我在子表单中添加部分。“最简单的”可能是有一个表将两者结合起来,但如果我必须为每个“PO 内容”行保存相同的一般信息(意味着每次我向采购订单添加项目时,数据库将增长得非常快,我将保存供应商、用户名、订购日期...);对于我订购的每个项目,每个修订版,每个 PO,我的表格中都会有 100 多列!
设置标志或公共变量是我研究过的,但我不确定在向子表单中添加项目时如何停止主表单的输入。
弄脏父文件也是我想过的;但这意味着我们在创建 PO 时将有 2 个“常规数据”实例,因为您将首先将项目添加到主 PO 字段中,然后移动到 PO 内容子表单,该子表单将自动将主 PO 数据保存在 ID 下#. 然后,当实际向子表单添加项目时,它会重新整理父表单,为相同的数据创建另一个 ID#;
我们可以同时合并两个条目吗?某种 2 表完整链接,因为没有另一个就不存在?