我正在使用Access 2003,并且有一个允许用户从各种过滤器中选择的表单,我使用VBA来更新基于这些过滤器的子表单的记录集(我在VBA中生成一个SQL语句)。此子表单可能有重复的客户端ID,现在我正在尝试访问唯一的客户端ID列表。
如果我有子窗体的源SQL,有没有简单的方法可以使用VBA查询唯一的客户端ID?我想到了这些选择:
SELECT DISTINCT client_id FROM <the recordset object>
,但我找不到任何可以让我相信这是可能的信息SELECT DISTINCT client_id FROM ('original select query text here')
可以工作,但它在FROM语句中给了我一个语法错误答案 0 :(得分:1)
瞄准第三种选择。如果您对子查询进行别名,那么这应该有效,并且'original select query text here'
可以适合。
SELECT DISTINCT sub.client_id
FROM
(
'original select query text here'
) AS sub
如果Access仍然窒息,请告诉我们您对'original select query text here'
的所作所为。
对于替代#1你是对的......这很浪费。
替代#2是不可能的,因为Access不允许您使用记录集对象作为FROM
源运行查询。