繁体   English   中英

在 Access VBA 中,如何从表的多个列中获取 DISTINCT 值作为组合框的行源?

[英]In Access VBA, how do I get DISTINCT values from multiple columns of a table to be the row source of a combo box?

我有一个 ComboBox combo1和 3 个字段area1area2area3 这些字段可以是 null 或重复项。 我希望combo1只显示那些不重复且不为空的值。 我当前的代码显示字段中的所有值,包括所有重复项和 Null。 就好像完全忽略了DISTINCT 我肯定弄错了。 如果有人帮助我,我将不胜感激。 tblMain

+-----------+----------+-------------+
+ area1     + area2    +    area3    +
+---------- +----------+-------------+
+ Islington + Barnet   +             +
+-----------+----------+-------------+
+ Stratford +          + Islington   +
+-----------+----------+-------------+
+   603     +    501   + Islington   +
+-----------+----------+-------------+

combo1中的预期结果:

501
603
Barnet
Islington
Stratford

以下是我当前代码的 state:

Private Sub Form_Load()
Dim rowS As String

rowS = "SELECT DISTINCT area1, area2, area3 FROM tblMain"

With Me.combo1
Me.combo1.RowSource = rowS
End With

End Sub

在这里你 go,试试这个并确保它适合你。

Private Sub Form_Load()
    Dim rowS As String

    rowS =  "SELECT area1 as Area FROM tblMain WHERE area1 IS NOT NULL UNION "
    rowS = rowS & "SELECT area2 as Area FROM tblMain  WHERE area2 IS NOT NULL UNION "
    rowS = rowS & "SELECT area3 as Area FROM tblMain WHERE area3 IS NOT NULL "

    Me.combo1.RowSource = rowS
End Sub

编辑 - 我已经复制了您的问题,我可以验证您的列中必须有空字符串。 请帮我们核实一下好吗?

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM