首页 > 解决方案 > VBA - 带有过滤器的 SQL 请求

问题描述

我想在 VBA 中执行一个避免某些值的 SQL 请求。

  1. 首先,我做了一个请求,给了我不想要的值:

    例如,我将这些值放在一个表a中:a = (1, 25, 3)

  2. 然后我想做一个请求,例如:

    rst.Source = "SELECT TableNumerosClients.NOM_CLIENT ," & _
                 "FROM table.Clients WHERE NOT table.id in a ;"

我的问题是,我不知道如何让查询明白a = (1, 25, 3)

谢谢

标签: sqlvba

解决方案


假设您的示例对象a确实是一个而不是一个值数组,有几种方法可以实现这一点:

WHERE子句中使用子查询:

select c.nom_client
from clients c
where c.id not in (select a.id from a)

使用LEFT JOIN

select c.nom_client
from clients c left join a on c.id = a.id
where a.id is null

推荐阅读