MS Access SQL 查询结果
MS Access SQL query results
我有两个表:
rapprovals_tbl
rId rAssignment rState rApprover rapprovaldt rType rNotes
12345678
1 12345679 Paid 12345678 31/05/2015 18:23 Flex
5 12345679 Approved 12345678 14/05/2015 18:23 Normal
6 12345679 Pending Normal
timerecord_tbl
RowID Assignment1 wMonth StartTime EndTime
1 12345679 Mar-15 17/03/2015 11:29 18/03/2015 16:12 Flex
5 12345679 Mar-15 17/03/2015 11:00 17/03/2015 12:00 Normal
6 12345679 Mar-15 17/03/2015 11:50 18/03/2015 16:11 Normal
我有两个组合框的表单,它们链接并处理此来源;
方框 1 -
Select [staffid] FROM [control_tbl] WHERE [supervisorid] = '12345678'
方框 2
SELECT timerecord_tbl.[RowID]
FROM timerecord_tbl
INNER JOIN rapprovals_tbl ON timerecord_tbl.RowID = rapprovals_tbl.rId
WHERE (((timerecord_tbl.[Assignment1])='" & Box 1 & "'
AND (rapprovals_tbl.[rState] is null ) Or (rapprovals_tbl.[rState] = 'Pending' )));
我只想获取与 Box 2 中的 Box 1 员工记录相关的那些 RowID。
我该怎么做,目前它列出了所有行 ID。
如有任何帮助,我将不胜感激。
尝试更改方框 2 的 SQL,如下所示:
SELECT timerecord_tbl.[RowID]
FROM timerecord_tbl
INNER JOIN rapprovals_tbl ON timerecord_tbl.RowID = rapprovals_tbl.rId
WHERE (timerecord_tbl.[Assignment1]='" & Box 1 & "')
AND ((rapprovals_tbl.[rState] is null ) Or (rapprovals_tbl.[rState] = 'Pending' )));
我认为@MarcB 也在说同样的话。您的 "OR" 语句被应用于整个 WHERE 子句,而不仅仅是另一个 rState 过滤器。更改括号将正确分隔并修复它。
我有两个表:
rapprovals_tbl
rId rAssignment rState rApprover rapprovaldt rType rNotes
12345678
1 12345679 Paid 12345678 31/05/2015 18:23 Flex
5 12345679 Approved 12345678 14/05/2015 18:23 Normal
6 12345679 Pending Normal
timerecord_tbl
RowID Assignment1 wMonth StartTime EndTime
1 12345679 Mar-15 17/03/2015 11:29 18/03/2015 16:12 Flex
5 12345679 Mar-15 17/03/2015 11:00 17/03/2015 12:00 Normal
6 12345679 Mar-15 17/03/2015 11:50 18/03/2015 16:11 Normal
我有两个组合框的表单,它们链接并处理此来源; 方框 1 -
Select [staffid] FROM [control_tbl] WHERE [supervisorid] = '12345678'
方框 2
SELECT timerecord_tbl.[RowID]
FROM timerecord_tbl
INNER JOIN rapprovals_tbl ON timerecord_tbl.RowID = rapprovals_tbl.rId
WHERE (((timerecord_tbl.[Assignment1])='" & Box 1 & "'
AND (rapprovals_tbl.[rState] is null ) Or (rapprovals_tbl.[rState] = 'Pending' )));
我只想获取与 Box 2 中的 Box 1 员工记录相关的那些 RowID。
我该怎么做,目前它列出了所有行 ID。
如有任何帮助,我将不胜感激。
尝试更改方框 2 的 SQL,如下所示:
SELECT timerecord_tbl.[RowID]
FROM timerecord_tbl
INNER JOIN rapprovals_tbl ON timerecord_tbl.RowID = rapprovals_tbl.rId
WHERE (timerecord_tbl.[Assignment1]='" & Box 1 & "')
AND ((rapprovals_tbl.[rState] is null ) Or (rapprovals_tbl.[rState] = 'Pending' )));
我认为@MarcB 也在说同样的话。您的 "OR" 语句被应用于整个 WHERE 子句,而不仅仅是另一个 rState 过滤器。更改括号将正确分隔并修复它。