Вы можете использовать UNION для объединения двух таблиц и применить одно и то же предложение WHERE:
SELECT CheckItem AS 'Check Item', ItemNo AS 'Item No', Criteria, CheckDate FROM tbl_checklist WHERE CheckDate BETWEEN #" & DTPicker2 & "# AND #" & DTPicker3 & "#"
UNION
SELECT CheckItem AS 'Check Item', ItemNo AS 'Item No', Criteria, CheckDate FROM tbl_Dross WHERE CheckDate BETWEEN #" & DTPicker2 & "# AND #" & DTPicker3 & "#"
Поскольку у вас есть неравное количество столбцов, вам придется либо объединить некоторые поля вместе, либо только вернутьобщие столбцы. Например, если ваши поля a1
, a2
и a3
содержат либо ОК, либо НЕ ОК, то для объединения их в одно поле можно использовать следующее:
IIF(a1 = 'OK' AND a2 = 'OK' AND a3 = 'OK', 'OK', 'NOT OK') AS AMstart
или вы можете объединитьполя в одно:
SELECT a1 + '-' + a2 + '-' + a3 AS AMstart
Вот пример, который использует оба:
SELECT CheckItem AS 'Check Item', ItemNo AS 'Item No', Criteria, CheckDate, AMstart, AMafter, PMstart, PMafter, Mcname FROM tbl_checklist WHERE CheckDate BETWEEN #" & DTPicker2 & "# AND #" & DTPicker3 & "#"
UNION
SELECT CheckItem AS 'Check Item', ItemNo AS 'Item No', Criteria, CheckDate, a1 + '-' + a2 + '-' + a3 AS AMstart, IIF(a4 = 'OK' AND a5 = 'OK' AND a6 = 'OK', 'OK', 'NOT OK') AS AMafter, a7 + '-' + a8 + '-' + a9 AS PMstart, IIF(a10 = 'OK' AND a11 = 'OK' AND a12 = 'OK', 'OK', 'NOT OK') AS PMafter, Mcname FROM tbl_Dross WHERE CheckDate BETWEEN #" & DTPicker2 & "# AND #" & DTPicker3 & "#"