如何从MS Access中的多列组合框中删除重复项?

时间:2016-05-12 00:30:31

标签: sql ms-access

现在基本上我有一个组合框,如果我做一个简单的查询,我只是因为某些原因而得到空白。我需要抓住ID和我想要的字段,然后将绑定列设置为2,以便数据显示在组合框中。

问题是,这会导致SELECT DISTINCT无效,因为每个字段都会有不同的ID,尽管我想要的字段有多个重复值。

SELECT DISTINCT ESP_PGPI.ID, ESP_PGPI.Identificacao 
FROM ESP_PGPI 
WHERE (((ESP_PGPI.Identificacao) Is Not Null)) 
ORDER BY ESP_PGPI.Identificacao;

这就是我现在正在使用的。如果我也不选择ID,我只会得到空白。

我有两个问题中的一个需要回答:

  1. 是否可以只抓住第二个字段来填充我的 组合框?
  2. 如果没有,无论如何都要删除重复项?
  3. 致以最诚挚的问候,

    旧金山

2 个答案:

答案 0 :(得分:0)

您需要从组合框的行来源中删除ID:

SELECT DISTINCT Identificacao 
FROM ESP_PGPI 
WHERE Identificacao Is Not Null 
ORDER BY 1

(此代码可以正常工作),

&安培;你需要改变你使用组合框中选择的内容的方式;

例如,如果您目前有一些像

这样的代码
SELECT some_column, ... 
FROM some_table 
WHERE ESP_PGPI_ID = [combobox],

您需要将其更改为:

SELECT some_column, ...
FROM some_table INNER JOIN ESP_PGPI ON some_table.ESP_PGPI_ID = ESP_PGPI.ID
WHERE ESP_PGPI.Identificacao = [combobox]

答案 1 :(得分:0)

“嗨,

尝试使用以下代码删除重复项

SELECT DISTINCT ESP_PGPI.ID, ESP_PGPI.Identificacao 
FROM ESP_PGPI 
WHERE Nz(ESP_PGPI.Identificacao, """") <> """"
ORDER BY ESP_PGPI.Identificacao; 

或按照以下步骤

我们希望消除组合框中显示的任何重复项。 ·

  1. 在设计视图中打开表单。然后右键单击组合框并从弹出菜单中选择属性
  2. 然后单击行源属性右侧的按钮以显示查询构建器窗口
  3. 在查询构建器窗口中,在表格右侧的区域上方,然后单击鼠标左键。这会将焦点切换到主查询。 (这样当您查看“属性”窗口时,它将显示查询的属性,而不是其中一个字段)
  4. 出现查询属性窗口时,将unique values属性设置为yes
  5. 接下来关闭查询构建器窗口,系统将提示我们保存更改。 “