【问题标题】:Drilldown using unbound comboboxes with Access "Continuous Form"使用带有访问“连续表单”的未绑定组合框向下钻取
【发布时间】:2009-12-08 20:41:58
【问题描述】:

必须有一种简单的方法来做到这一点。

我有一种情况,我使用连续表格列出零件。零件清单包含零件类型、制造商、零件编号和数量等内容。该列表是零件实例和数量。我可以从零件的实例中查找其他内容,因此显示现有零件没有问题,只需使用联合查询检索相关记录或使用 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 似乎只使用第一条记录中的值。为什么?

这甚至是一个好方法吗?有没有比连续表单上的向下钻取组合框更好的模式?我能想到的解决此问题的唯一其他方法是使用“添加/编辑零件”类型表单上的组合框,其中在对话框中选择详细信息,然后从中填充零件编号。但这似乎更加笨拙。

【问题讨论】:

    标签: ms-access forms vba


    【解决方案1】:

    在连续表单上使用未绑定的控件只会让您发狂,因为未绑定的控件只能引用选定的记录,这可能是其中的任何一个。我认为添加新记录的弹出表单会很不错,并且易于用户理解。

    【讨论】:

    • 这就解释了,谢谢 Remou。我现在正在尝试使用弹出方法来更改零件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-20
    • 1970-01-01
    • 1970-01-01
    • 2015-09-02
    • 1970-01-01
    相关资源
    最近更新 更多