在 MS Access 中使用 VBA 查看 Combobox 中的唯一值

Posted

技术标签:

【中文标题】在 MS Access 中使用 VBA 查看 Combobox 中的唯一值【英文标题】:view unique values in Combobox using VBA in MS Access 【发布时间】:2019-12-04 08:29:05 【问题描述】:

请阅读我的问题以结束,因为我在 *** 中测试了所有以前的解决方案并且没有答案。 我正在尝试使用 VBA 以 MS Access 数据库的形式显示 Combobox,这个 Combobox 从一个表中获取它的值,问题是我不能只显示唯一值,即使我使用 DISTINCT 仍然查看所有值,Combobox 也会查看所有值。 另外,我正在尝试使用 GROUP BY 但不起作用。 我知道这是一个简单的问题,但我该如何解决呢?

SELECT DISTINCT Exports_imports_Table.ID, Exports_imports_Table.content FROM Exports_imports_Table;

【问题讨论】:

可能 Exports_imports_Table.ID 拥有唯一的值 - ID 通常是这样 - 因此每条记录都是唯一的。 你得到了什么?可能您正在使用一个独特的字段,但会强制其他字段重复。此外,您应该发布清晰的细节。你的桌子怎么样?你确定有重复吗? @Gustav 的 corse ID 是唯一的,但内容的值不是,我只需要显示内容的唯一值而不是唯一记录 你应该能够弄清楚这个悖论以及如何解决它。 【参考方案1】:

假设 ID 字段是唯一值(并且内容字段可能有重复值),您不能将其包含在 DISTINCT 中。试试这样

SELECT DISTINCT Exports_imports_Table.content FROM Exports_imports_Table;

这是否满足您的期望?

【讨论】:

我不能写这个,因为 Access 自动编写的事件(添加组合框后,你应该从任何表中检测到它的值,然后将写入事件)即使我试过了在 VBA 编辑器中写入您的代码(在事件 onClick 中),但它以红色显示并且编辑器拒绝它 您的评论中的相同代码。另外,我尝试在行源中写入(自动事件发生的地方>>它给了我空值(可能是因为事件中没有ID) 我没有给你代码,我给了你一个SELECT语句。 SELECT 语句是您在“代码”中使用的字符串。

以上是关于在 MS Access 中使用 VBA 查看 Combobox 中的唯一值的主要内容,如果未能解决你的问题,请参考以下文章

如何在 VBA 代码中的 ms-access 中执行查询?

使用VBA打开由mdw文件保护的ms-access数据库时模拟SHIFT键?

在 MS Access/VBA 中使用 ADO 连接对话框

使用 vba 在 MS-Access 前端中来自 MySQL 存储过程的多个结果集?

使用 MS Access 和 VBA 更新 Ms Word 文档中的(字段代码:数据库)字段

MS Access 2013:通过 VBA 使用 MS Word 的语法检查