代码之家  ›  专栏  ›  技术社区  ›  Dale

使用可访问“连续形式”的未绑定组合框向下钻取

  •  4
  • Dale  · 技术社区  · 15 年前

    要做到这一点,必须有一个简单的(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似乎只使用第一条记录中的值。为什么?

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

    1 回复  |  直到 15 年前
        1
  •  7
  •   Fionnuala    15 年前

    在连续窗体上使用未绑定的控件只会使您精神错乱,因为未绑定的控件只能引用所选记录,而所选记录可能是其中任何一个记录。我认为添加新记录的弹出式表单会非常好,而且用户很容易理解。