追加查询不起作用 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";