Как кодировать диапазон дат, используя 2 DTPicker с таблицей Two (2) - PullRequest
0 голосов
/ 04 ноября 2019
Private Sub DTPicker3_Change()

   loadData "Select  CheckItem as 'Check Item',CheckItem as 'Check Item',ItemNo as 'Item No.',Criteria as 'Criteria',Mcname as 'Machine Name',AMstart as 'Start of Shift' ,AMafter as 'After 1st break',PMstart as 'Start of Shift' ,PMafter as 'After 1st break',CheckDate FROM tbl_Checklist where CheckDate BETWEEN '" & DTPicker2.Value & "'AND  '" & DTPicker3.Value & " '" '

 End Sub


Private Sub DTPicker2_Change()

  loadData "Select  CheckItem as 'Check Item',CheckItem as 'Check Item',ItemNo as 'Item No.',Criteria as 'Criteria',Mcname as 'Machine Name',AMstart as 'Start of Shift' ,AMafter as 'After 1st break',PMstart as 'Start of Shift' ,PMafter as 'After 1st break',CheckDate FROM tbl_Checklist  where CheckDate BETWEEN '" & DTPicker2.Value & "'AND  '" & DTPicker3.Value & "'" 
End Sub

В моем предыдущем вопросе о том, как искать только диапазон дат между двумя dtpicker только в 1 таблице

1 Ответ

0 голосов
/ 04 ноября 2019

Вы можете использовать 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 & "#"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...