【问题标题】:Unique Values in a Combo Box in AccessAccess 组合框中的唯一值
【发布时间】:2022-02-16 17:12:22
【问题描述】:

好的,这是我的困境。 (使用 Access 2010)

我创建了一个访问数据库,用于管理我工作中的计算机硬件库存。 我创建了一个带有未绑定组合框的表单,仅允许唯一值。我还在表格上添加了一份报告,它将所有适用的设备与用户名匹配。目标是当我点击“John Smith”时,它会显示“John Smith”拥有的所有项目(我已经让它工作了)。

此组合框确实从表中提取其数据,其中不同行中有多个相同名称。

这是组合框的 SQL 代码

SELECT DISTINCT [Master Inventory].ID, [Master Inventory].User
FROM [Master Inventory]
ORDER BY [Master Inventory].User;

问题是我的组合框仍然显示多个相同名称,即使我已告知使用唯一值。任何帮助,将不胜感激。

【问题讨论】:

  • 尝试删除 [Master Inventory].id 列,似乎因为组合框显示一个字段,但您查询返回两个字段的不同列表。不确定您尝试将哪个字段加载到组合框中,无论哪个,删除另一列并尝试。

标签: sql combobox


【解决方案1】:

Id 字段将使每一行都不同。如果您删除该列,它应该只给您一次名称。

【讨论】:

  • 当我删除 ID 字段时,SELECT DISTINCT [Master Inventory].User FROM [Master Inventory] ​​ORDER BY [Master Inventory].User;我的 SQL 看起来像这样,组合框是空白的。 ID 字段也是我的主键。我表上的 .User 列是我要填充 Combobox 的值。
【解决方案2】:

对于其他想知道这个问题的答案的人。这在我的案例中很有效(ACCESS 2016),而且非常简单:

SELECT DISTINCT User
FROM [Master Inventory];

订单显示取决于您的偏好(您可以根据条件添加 ORDER BY)。

要小心的一件事。只有当表名中有空格时,才会添加表名中的括号。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多