我有一个包含多个表的数据库。我希望能够创建一个Report,根据第二个表(ProjectInfo)中的信息为SampleInfo表中的每个记录生成多个标签。
SampleInfo表由以下部分组成:
SampleNumber(主键)
ProjectID(链接到ProjectInfo表)
SampleID收集日期收集的时间
ProjectInfo表包含以下内容:
项目ID
一系列是/否分析字段,根据是否需要对特定项目进行分析来检查和取消检查
我需要能够为SampleInfo表中输入的每个记录生成一系列样品瓶标签,这些标签将根据在ProjectInfo表中为特定ProjectID检查"是/否"字段而变化。因此,可能需要为一个ProjectID的记录生成5个标签,而可能需要为不同ProjectID的纪录生成8个标签。
有没有想过我该如何做到这一点?
因为项目表中的测试是"是/否"字段,所以需要一个单独的SQL来为每个测试添加标签。
INSERT INTO Samples ( ProjectId, ForTest )
SELECT ProjectInfo.ProjectId, "Test1" AS ForTest
FROM ProjectInfo
WHERE (((ProjectInfo.test1)=Yes));
INSERT INTO Samples ( ProjectId, ForTest )
SELECT ProjectInfo.ProjectId, "Test2" AS ForTest
FROM ProjectInfo
WHERE (((ProjectInfo.test2)=Yes));
这并没有听起来那么糟糕,您可以在查询设计窗口中开发它们,然后将它们全部包含在一个宏中,该宏将在一条语句中运行所有它们。
SampelId ProjectId ForTest
1 1 Test1
4 1 Test2
9 1 Test4
2 2 Test1
5 2 Test2
7 2 Test3
3 3 Test1
6 3 Test2
8 3 Test3
10 3测试4