1

所以,我有这份报告:

路由文件

这个查询:

路由查询

该报告从查询中提取所有数据。字段 STA1、STA2、STA3 和 STA4 来自作业订单表,其中每个作业都有一个基于工作站(命名为 CU01、CU02、BR01...)的订单集。

我试图制作本质上说的宏

If Reports![Production Router LBPW]![Work Station 1]="CU01" Then Reports![Production Router LBPW]![Run Time 1]=Query![Query Laser Hours by P/N]![Total Laser Hours]

如果我理解正确的话,类似这样的一系列语句基本上可以将每个工作站与特定类型的时间数据(切割、弯曲、插入和焊接)相关联,有效地重新排列我的字段以在这些地方自动显示我想要的时间数据我想要它们。唉,我对宏的了解还不够,无法做到这一点,而且我对 VBA 的了解甚至更少。如果我可以填写几行代码或其他内容,这将使我能够完成此任务,我相信我可以从那里弄清楚。

4

2 回答 2

0

一种方法是创建各种查询,例如:

查询CU01

SELECT [Cuttime] As Pos1, [Weldtime] As Pos2, [Rivettime] As Pos3, Bend As Pos4 
FROM JobOrder

您的报告将参考 Pos1,而不是 CutTime。标签也可以是文本框,因此它们也会自动更新,例如:

SELECT [Cuttime] As Pos1, "Cut" As lbl1, [Weldtime] As Pos2, "Weld" As lbl2
       [Rivettime] As Pos3, "Rivet" As lbl3, Bend As Pos4 "Bend" As lbl4
FROM JobOrder

您可以通过规范化表格来进一步简化。

任务表

Job   Action Time Machine SortOrder
 1    Cut    10   AB         3
 1    Bend    4   CD         1
 1    Rivet  30   EF         6
于 2013-01-26T18:58:50.893 回答
0

所以,我所做的是在我的查询中使用一系列 Switch 函数,以便将拉入每个查询的数据通过逻辑语句插入到每个字段中。对于操作名,逻辑如下:

OP2: 开关([ST2]="PE01","Insert",[ST2]="PE02","Insert",[ST2]="BR01","Bend",[ST2]="BR02","Bend ",[ST2]="WE01","自动焊接",[ST2]="WE02","MIG 焊接",[ST2]="WE03","TIG 焊接",True,"N/A")

这基本上意味着,如果 ST2=PE01,那么 OP2=Insert,否则如果 ST2=BR01,那么 OP2=Bend...

然后我设置了另一个开关,上面写着 If OP2=Bend, Time2=BendTime... 依此类推。这样,每个字段都包含一个基于逻辑语句输入的值,并且作业的顺序由我在作业顺序表中输入站点名称时设置的顺序确定。

于 2013-01-28T17:45:00.623 回答