【发布时间】:2019-02-20 15:07:11
【问题描述】:
我正在尝试在给定仓库创建产品列表。 Allen Browne 的 ConcatRelated() 函数似乎是在链接变量相同时创建列表的经过验证的真正方法,但我无法让它工作。
我已将我的信息分解为一个查询...“qry_Products”
SELECT qry_AX_LineItems_LINES.Warehouse, tblREF_Chemical.[Sales Name]
FROM qry_AX_LineItems_LINES INNER JOIN tblREF_Chemical ON
qry_AX_LineItems_LINES.ItemId = tblREF_Chemical.[Item Number]
GROUP BY qry_AX_LineItems_LINES.Warehouse, tblREF_Chemical.[Sales Name];
它会生成一个包含销售名称和仓库的表格。
我需要看到的是当他们的仓库匹配时销售名称的列表。
我尝试在表单的文本框中使用该函数...
=ConcatRelated("[Sales Name]","[qry_Products]"," Warehouse ='" & [Warehouse]
& "'")
它会导致错误 3061 并将单元格留空。
我使用 Dlookup() 仔细检查了引号内的语法,它产生了列表的第一个结果。
我也尝试过更改我的查询...
SELECT qry_AX_LineItems_LINES.Warehouse, ConcatRelated("[Sales Name]","
[tblREF_Chemical]") AS Expr1
FROM qry_AX_LineItems_LINES INNER JOIN tblREF_Chemical ON
qry_AX_LineItems_LINES.ItemId = tblREF_Chemical.[Item Number];
不幸的是,它随后将我数据库中的每个产品都列为列表。
我还尝试创建一个新查询来引用产生最少信息的查询。
SELECT ConcatRelated("[Sales Name]","qry_Products") AS Expr1
FROM qry_Products;
我知道初始查询是正确的,但是当我运行新查询时,我收到多个错误 3061 弹出窗口和空单元格以显示结果。
我仔细检查了我是否准确地复制了模块。 http://allenbrowne.com/func-concat.html 模块名为“Concat”。
我正在阅读那里的所有帮助指南,但我不知道接下来应该尝试什么。
非常感谢您的时间和任何建议!
【问题讨论】:
-
表单上的 Warehouse 是什么类型的控件?它是否放置在子表单中?打开表单后,在查询设计器中运行(填写表单名称),不带引号:
SELECT [Sales Name] FROM [qry_Products] WHERE Warehouse = Forms!myform![Warehouse] -
我运行了这个并且确实得到了产品的列列表。我有 [frm_SalesOrderEntry] 允许用户选择给定的销售订单...它与我公司的操作系统集成以提取订单信息。虽然订单有一个主仓库操作员,但一个订单下可能有多个仓库,并以子表单表示。
-
产品栏目列表?但是这个查询运行 Sales Name?再次,Warehouse 控件是否位于子窗体上?是组合框吗?也许为我们截取您的表格。
-
我需要引用的仓库在子表单上,因为可以有多个仓库。我已经包含了我的子表单和工作查询的一些图像。
-
当我尝试引用子表单时,我收到一个参数请求,它会让我引用主表单,但是我只得到一个仓库的值,它们仍然在一列中。
标签: sql concatenation ms-access-2016