访问查询以了解哪些子表单已完成或尚未完成

时间:2015-03-26 21:24:05

标签: mysql ms-access subform

我正在开发一个数据库来跟踪产品的装配过程,以便在生产车间使用,非常类似于路由器。有一个包含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

这是否可行,因为子表单没有链接?是否有最佳解决方案来查询每个子表单的通过/失败状态字段?

我非常非常新,所以请尽可能简单地做出任何回复。

谢谢!

1 个答案:

答案 0 :(得分:0)

我建议你添加一个表并将它们放在一个关系中,如下所示:

enter image description here

好处:现在您可以查询哪个小部件已完成了多少个进程。

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代码,您可以将其添加到所需的表单中。

这也可以接受吗?有些小部件偶尔跳过一个过程吗?如果是,我的解决方案无法正常工作。那么你需要多对多的关系。

让我们了解您计划如何继续进行。