要做到这一点,必须有一个简单的(r)方法。
在这种情况下,我会使用连续表单列出部件。零件清单包括零件类型、制造商、零件号和数量。该列表包含零件实例和数量。我可以从部件的实例中查找其他内容,因此显示现有部件没有问题,只需使用联接查询来检索相关记录,或者使用dlookup单独提取字段。
Type Manufacturer Number Qty
-------------------------------------
Widget Acme 123ab 1
Widget Acme 456 1
Anvil Xyz 12345 2
Llama Northwind 322-12A 1
...
问题是用户需要在哪里添加新部件。有数千个不同的部分,因此它们不能真正从单个部件号组合框中选择。他们希望能够从三个不同的组合框中选择零件类型、制造商,然后选择零件号,从而连续缩小每个组合框中的结果范围。
选择零件类型>>选择制造这些类型之一的制造商>>按该制造商选择该类型零件的零件号>>输入数量
好的,所以我可以使用2个未绑定的组合框,默认使用dlookup,并通过行源查询链接它们。最后一个组合框是零件号,其行源已过滤,因此它只列出所选类型和制造商的零件。我以前在这种情况下做过,而且效果很好。
但是,我尝试使用Access中的连续表单来完成此操作,它将为每个记录的dlookup返回相同的结果。例如。
Type Manufacturer Number Qty
-------------------------------------
Widget Acme 123ab 1
Widget Acme 456 1
Widget Acme 12345 2
Widget Acme 322-12A 1
...
啊,怎么了?我的dlookups似乎只使用第一条记录中的值。为什么?
这是一个很好的方法吗?是否有比在连续表单上钻取组合框更好的模式可供使用?我唯一能想到的解决这个问题的方法是使用“添加/编辑零件”类型表单上的组合框,在对话框中选择详细信息,然后从中填充零件号。但这似乎更加笨拙。