我正在使用 Access 2003 并有一个允许用户从各种过滤器中进行选择的表单,并且我使用 VBA 来更新基于这些过滤器的子表单的记录集(我在 VBA 中生成一条 SQL 语句)。这个子表单可以有重复的客户端 ID,现在我正在尝试获取一个唯一的客户端 ID 列表。
如果我有子表单的源 SQL,是否有任何简单的方法可以使用 VBA 查询唯一的客户端 ID?我想到了这些选项:
- 将所有 id 写入临时表,然后查询该表(似乎需要更多的工作/资源)
- 以某种方式将查询应用于 VBA 中的记录集对象(这可能吗?);我将记录集对象设置为等于 SQL 查询,然后尝试运行 a
SELECT DISTINCT client_id FROM <the recordset object>
,但我没有找到任何信息让我相信这是可能的 - 根据原始查询生成一个新的 SQL 查询(我希望
SELECT DISTINCT client_id FROM ('original select query text here')
可以工作,但它在 FROM 语句中给了我一个语法错误