Ms access 使用VBA查询记录集对象

Ms access 使用VBA查询记录集对象,ms-access,ms-access-2003,recordset,Ms Access,Ms Access 2003,Recordset,我使用的是Access 2003,它有一个表单,允许用户从各种过滤器中进行选择,我使用VBA根据这些过滤器更新子表单的记录集,并在VBA中生成SQL语句。这个子表单可以有重复的客户端ID,现在我正试图获得一个唯一的客户端ID列表 如果我有子窗体的源SQL,是否有任何简单的方法可以使用VBA查询出唯一的客户端ID?我想到了这些选择: 将所有ID写入临时表,然后查询该表 喜欢比需要更多的工作/资源 以某种方式将查询应用于VBA中的记录集对象这可能吗?;我将记录集对象设置为SQL查询,然后尝试从中运行

我使用的是Access 2003,它有一个表单,允许用户从各种过滤器中进行选择,我使用VBA根据这些过滤器更新子表单的记录集,并在VBA中生成SQL语句。这个子表单可以有重复的客户端ID,现在我正试图获得一个唯一的客户端ID列表

如果我有子窗体的源SQL,是否有任何简单的方法可以使用VBA查询出唯一的客户端ID?我想到了这些选择:

将所有ID写入临时表,然后查询该表 喜欢比需要更多的工作/资源 以某种方式将查询应用于VBA中的记录集对象这可能吗?;我将记录集对象设置为SQL查询,然后尝试从中运行SELECT DISTINCT client_id,但我没有找到任何信息使我相信这是可能的 在原始SQL查询的基础上生成一个新的SQL查询。我希望从“原始SELECT查询文本”中选择不同的客户机id可以工作,但它在FROM语句中给了我一个语法错误
瞄准第三种选择。如果您将子查询命名为别名,并且可以使用“原始选择查询文本”

如果访问仍然受阻,请向我们展示“原始选择查询文本”的内容

关于备选方案1,你是对的。。。那是浪费

备选方案2不可能,因为Access不允许您使用记录集对象作为源运行查询

SELECT DISTINCT sub.client_id
FROM
    (
        'original select query text here'
    ) AS sub