从链接表中删除 ms access

Delete from linked tables ms access

我有一个 MS Access DB 有几个 table。

我的主要 table 名为 Client,它链接到另一个名为 Abonament 的 table,等等。

两个 table 共享同一个名为 client_id 的字段,其中包含相同的 ID。

Table 名为 Abonament 的另一个 字段 名为 data_expirarii,其中包含日期。

如何根据 data_expirarii 字段中的特定日期从 table 中删除所有条目(ClientAbonament, 来自 Abonament table?

我已经使用设计向导从 Abonament table 中删除了它们,随后删除了低于或等于 1-Jun-17[=38 的所有条目=] (<= 1-Jun-17) 但客户端条目保留在 Client table 中。 MS Access 让我头疼。

首先您需要从 Abonament table 中删除记录。

DELETE  *
FROM    Abonament
WHERE   data_expirarii<=#06/01/2017 23:59:59#  

注意:日期的美国格式 (mm/dd/yyyy)- 必须使用此格式。

接下来可以删除在 Abonament 中不再有任何匹配记录的任何客户记录。此查询将 return 来自 Clients 的所有记录(写在联接的左侧),并且只有 Abonament 中具有匹配 Client_ID 的记录 - 任何其他记录将 return NULLAbonament.Client_ID 字段中,在 WHERE 子句中过滤并删除。

DELETE DISTINCTROW Clients.*
FROM    Clients LEFT JOIN Abonament ON Clients.Client_ID = Abonament.Client_ID
WHERE   Abonament.Client_ID IS NULL  

确保在测试时备份您的数据!