我正在开发一个数据库来跟踪产品的组装过程,用于生产车间,非常类似于路由器。有一个具有33个子窗体的主窗体(frm_WO)。每个子窗体表示流程中的单个步骤,并链接回父表tbl_WO中的字段WONum。子窗体按生产顺序列在主窗体上,但不以任何方式相互链接。技术人员单击“通过/失败”复选框以指示该步骤已完成。我想写一个查询,告诉我每个产品在生产过程中的位置。例如,如果小部件X有frm_Process 1的数据(没有其他数据),小部件Y有frm_Process1和frm_Process2的数据(没有其他数据),小部件Z有frm_Process 1、frm Process2和frm_Process 3的数据(等等),我希望能够快速查询并让它输出如下所示的数据:
微件X进程1微件Y进程2微件Z进程3
由于子窗体没有链接,这是可能的吗?在每个子窗体的通过/失败状态都有一个字段的情况下进行查询是最佳解决方案吗?
我是一个非常,非常新的访问者,所以请尽可能简单的回复。
谢谢!
发布于 2015-03-27 21:44:07
我建议您添加一个表,并将它们放在关系中,如下所示:

好处:现在您可以查询哪个小部件已经完成了多少个进程。
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代码,您可以将其转换为您想要的形式。
这也可以接受吗?某些小部件偶尔会跳过某个进程吗?如果是,我的解决方案就不能正常工作。那么你就需要一个多对多的关系。
请随时向我们报告您的计划。
https://stackoverflow.com/questions/29289139
复制相似问题