必须有一种简单的(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默认,并通过他们的Row Source查询链接它们。最终的组合框是部件编号,其行源已过滤 - 因此它仅列出所选类型和制造商的零件。在这种情况发生之前,我已经做到了这一点并且效果很好。
但是我试图在Access中使用连续表单来执行此操作,并且它会在每条记录上为Dlookup返回相同的结果。 E.g。
Type Manufacturer Number Qty
-------------------------------------
Widget Acme 123ab 1
Widget Acme 456 1
Widget Acme 12345 2
Widget Acme 322-12A 1
...
哎呀,发生了什么事?我的Dlookups似乎只使用第一条记录中的值。为什么?
这甚至是一个很好的方法吗?有没有比连续形式的向下钻取组合框更好的模式?我能想到的另一种解决方法是在“添加/编辑部件”类型表单上使用组合框,在对话框中选择详细信息,然后从中填充部件号。但这似乎更加愚蠢。
答案 0 :(得分:7)
在连续表单上使用未绑定的控件只会驱使你发疯,因为未绑定的控件只能引用所选的记录,这些记录可能是其中任何记录。我认为添加新记录的弹出窗口非常好,用户也很容易理解。