我正在开发一个数据库来跟踪产品的装配过程,以便在生产车间使用,非常类似于路由器。有一个包含33个子表单的主表单(frm_WO)。每个子表单代表进程中的一个步骤,并链接回父表tbl_WO的字段WONum。子表单按生产顺序列在主表单上,但不以任何方式相互链接。技术人员单击“通过/失败”复选框以指示步骤已完成。我想写一个查询,告诉我每个产品在生产过程中的位置。例如,如果窗口小部件X具有frm_Process 1的数据(并且没有其他内容),则窗口小部件Y具有frm_Process1和frm_Process2(并且没有别的)的数据,并且窗口小部件Z具有用于frm_Process 1,frm Process2和frm_Process 3(等)的数据,I希望能够快速查询并让它吐出看起来像这样的数据:
小工具X流程1 小工具Y流程2 小工具Z流程3
这是否可行,因为子表单没有链接?是否有最佳解决方案来查询每个子表单的通过/失败状态字段?
我非常非常新,所以请尽可能简单地做出任何回复。
谢谢!
答案 0 :(得分:0)
我建议你添加一个表并将它们放在一个关系中,如下所示:
好处:现在您可以查询哪个小部件已完成了多少个进程。
SELECT wo.WO_Number AS Widget, pr.process_ID AS Process
FROM tbl_WO AS wo INNER JOIN tbl_WO_processes AS pr ON wo.WO_number = pr_WO
WHERE WO_Number = [the widget your are looking for]
现在您需要确保每个子表单在表中自动写入其process_ID。
这将为您提供如下表格:
Widget | Process
X | 1
Y | 4
Z | 9
使用某些VBA代码,您可以将其添加到所需的表单中。
这也可以接受吗?有些小部件偶尔跳过一个过程吗?如果是,我的解决方案无法正常工作。那么你需要多对多的关系。
让我们了解您计划如何继续进行。