几天来我一直在努力解决这个问题......我在 Access 方面没有那么有经验,所以希望我能够为每个人正确解释它。
不久前,我的任务是为我公司的内部流程创建一个合规性测试数据库。现在这一切都是通过 Excel 完成的,结构如下:
Compliance Test 01:
-------|Sample1|Sample2|Sample3|etc...
Item1 |GradeA |GradeB |GradeC |etc...
Item2 |GradeB |GradeA |GradeC |etc...
Item3 |GradeC |GradeC |GradeA |etc...
etc...
这是数据库结构,或多或少:
[tbl_ComplianceTests]
lngID_CT(链接到 tbl_LINK_Tests_Items.lngID_CT 和 tbl_Samples.lngCT_ID)
[tbl_Items]
lngItemID(链接到 tbl_LINK_Items_Samples.lngID_Item 和 tbl_LINK_Tests_Items.lngID_Item)
[tbl_LINK_Tests_Items] (many-to-many link table)
lngID_Item
lngID_CT
[tbl_Samples]
lngSampleID(链接到 tbl_LINK_Items_Samples.lngID_Sample)
lngCT_ID(链接到 tbl_ComplianceTests.lngID_CT)
[tbl_LINK_Items_Samples] (many-to-many link table)
lngID_Item
lngID_Sample
我希望数据库在每次创建新的 lngSampleID/lngCT_ID 组合时检查 [tbl_Samples]。然后它会查看 (tbl_LINK_Tests_Items.lngID_CT) 并检查任何匹配的 lngID_CT。然后,对于 tbl_LINK_Tests_Items 表中对应的 lngID_Item,查看 tbl_LINK_Items_Samples 内部并创建匹配的 lngID_Item/lngID_Sample 组合。
例如:
a) 用户在 [tbl_ComplianceTests] 中创建一个 Test01;
b) 用户在[tbl_Items]中创建Item1和Item2;
c) Item1 和 Item2 通过表格分配给 Test01。(我已经完成了这一点)所以现在 [tbl_LINK_Tests_Items] 有 Test01/Item1 和 Test01/Item2 组合。
d) 用户在[tbl_Samples]中创建Sample1、Sample2和Sample3,通过[tbl_Samples].lngCT_ID分配给Test01
e) 现在是棘手的部分。当用户在表单中创建样本时,我需要将它们自动匹配到 [tbl_LINK_Tests_Items] 中也具有相同 lngCT_ID 的所有项目。然后这些 ItemID 与其对应的 SamplesID 一起存储在 [tbl_LINK_Items_Samples] 中。因此,由于具有匹配的 lngCT_ID,Item1 与 Sample1、Sample2 和 Sample3以及具有相同样本的 Item2 匹配。
与往常一样,我很感激任何帮助,对于这个巨大的帖子感到抱歉,但我想确保我正确地解释了一切。如果我能为你们澄清任何事情,请告诉我。