追加查询不起作用 Access 2016
Append query not working Access 2016
我正在为 uni 构建一个牙医预约系统。我已经构建了整个东西,直到昨天它都运行良好。
我有一个追加查询,我想追加来自 tblOperation_Schedule 的 Operation_ID、Treatment_ID 和 Patient_ID,其中 Op_Complete = 1 和Operation_ID 发票 table 中尚不存在。
出于某种原因,行没有追加,但我无法发现问题所在。我一直在研究它,试图想出另一种应该写的方式,但我绝不是专家,并且可以看到问题所在。下面查询。
INSERT INTO tblInvoices
( Treatment_ID, Operation_ID, Patient_ID )
SELECT
tblOperation_Schedule.Treatment_ID,
tblOperation_Schedule.Operation_ID,
tblOperation_Schedule.Patient_ID
FROM tblOperation_Schedule
INNER JOIN tblInvoices ON
tblOperation_Schedule.Operation_ID = tblInvoices.Operation_ID
WHERE
(((tblOperation_Schedule.Operation_ID) Not In (Select [Operation_ID]
from tblInvoices))
AND
(((tblOperation_Schedule.Op_Complete)="1"));
请问有没有人能发现这方面的问题或提出其他可能无法正常工作的原因?谢谢!
您的问题是您使用 Operation_ID
创建两个表的 INNER JOIN
,然后在 WHERE
中,您检查 tblOperation_Schedule.Operation_ID
NOT IN ANY Operation_ID
来自 tblInvoices
。所以你的 WHERE
条件与你的 JOIN
条件冲突,并且它在 return.
中没有行
至少您应该将查询更改为:
INSERT INTO tblInvoices
( Treatment_ID, Operation_ID, Patient_ID )
SELECT Treatment_ID,
Operation_ID,
Patient_ID
FROM tblOperation_Schedule
WHERE
Operation_ID NOT IN (
SELECT [Operation_ID]
FROM tblInvoices
)
AND Op_Complete = "1";
我正在为 uni 构建一个牙医预约系统。我已经构建了整个东西,直到昨天它都运行良好。
我有一个追加查询,我想追加来自 tblOperation_Schedule 的 Operation_ID、Treatment_ID 和 Patient_ID,其中 Op_Complete = 1 和Operation_ID 发票 table 中尚不存在。
出于某种原因,行没有追加,但我无法发现问题所在。我一直在研究它,试图想出另一种应该写的方式,但我绝不是专家,并且可以看到问题所在。下面查询。
INSERT INTO tblInvoices
( Treatment_ID, Operation_ID, Patient_ID )
SELECT
tblOperation_Schedule.Treatment_ID,
tblOperation_Schedule.Operation_ID,
tblOperation_Schedule.Patient_ID
FROM tblOperation_Schedule
INNER JOIN tblInvoices ON
tblOperation_Schedule.Operation_ID = tblInvoices.Operation_ID
WHERE
(((tblOperation_Schedule.Operation_ID) Not In (Select [Operation_ID]
from tblInvoices))
AND
(((tblOperation_Schedule.Op_Complete)="1"));
请问有没有人能发现这方面的问题或提出其他可能无法正常工作的原因?谢谢!
您的问题是您使用 Operation_ID
创建两个表的 INNER JOIN
,然后在 WHERE
中,您检查 tblOperation_Schedule.Operation_ID
NOT IN ANY Operation_ID
来自 tblInvoices
。所以你的 WHERE
条件与你的 JOIN
条件冲突,并且它在 return.
至少您应该将查询更改为:
INSERT INTO tblInvoices
( Treatment_ID, Operation_ID, Patient_ID )
SELECT Treatment_ID,
Operation_ID,
Patient_ID
FROM tblOperation_Schedule
WHERE
Operation_ID NOT IN (
SELECT [Operation_ID]
FROM tblInvoices
)
AND Op_Complete = "1";