0

我正在尝试创建一个表单,该表单从某些字段中获取总和并将其显示在其适当的字段名称旁边。我以数据表形式(如何显示)及其设计形式附上了它的图片。

更详细地说,左侧的描述项目是“字段”(从现在开始我将称之为“标签”,并将在其他表格中的一个名为Associated Bid Items的列中列出)。我基本上在整个 Access 应用程序中标记了表和查询中的其他几个项目。我正在尝试收集具有相同标签/字段的所有项目,并将与这些项目关联的总 MH(工时)单位相加。

我在第二张图片的第二个文本框中的代码是:

=DSum("[Total MH]","qry-PipingHandleMH","[Associated Bid Item]=[Text_BidItem].Value")

其中Total MH是我总结的内容,qry-PipingHandleMH是我从中提取的查询,Text_BidItem是第二张图片中的第一个文本框。我只想总结关联投标项目(列出标签的其他表中的列)与Text_BidItem匹配的总 MH

现在的问题:其他表和查询中的几个项目已经用第一张图像中显示的每个标签进行了标记。第一张图片中的每个描述/标签都应该有一个与之关联的Total MH 。上面的 SQL 代码没有将总数适当地分成各行,如第一张图片所示。这是代码的较长版本:

=DSum("[Total MH]","qry-PipingHandleMH","[Associated Bid Item]=[Text_BidItem].Value")+DSum("[Total MH]","qry-PipingMakeupMH","[Associated Bid Item]=[Text_BidItem].Value")+DSum("[Total MH]","qry-PipingValvesMH","[Associated Bid Item]=[Text_BidItem].Value")+DSum("[Total MH]","qry-PipingWeldingMH","[Associated Bid Item]=[Text_BidItem].Value")+DSum("[Total MH]","qry-CoatingAGMH","[Associated Bid Item]=[Text_BidItem].Value")+DSum("[Total MH]","qry-CoatingUGMH","[Associated Bid Item]=[Text_BidItem].Value")

基本上相同的代码适用于不同的表,但加在一起。这就是当前第二张图片的第二个文本框中的内容。正如您在第一张图片中看到的那样,它全部应用于“大口径管道 2”和更大“行。为什么总 MH的总和不分成各自的行?DSum() 正在工作,但过滤和分离都是错的。

4

1 回答 1

0

必须连接可变参数。对 Text_BidItem 的引用是一个可变参数。

=DSum("[Total MH]","qry-PipingHandleMH","[Associated Bid Item]=" & [Text_BidItem])

如果 [Associated Bid Item] 是文本类型,则需要撇号分隔符:

=DSum("[Total MH]","qry-PipingHandleMH","[Associated Bid Item]='" & [Text_BidItem] & "'")

建议在命名约定中不要使用空格或标点符号/特殊字符(下划线除外)。

于 2017-06-06T17:48:04.967 回答