[英]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 个字段area1
、 area2
和area3
。 这些字段可以是 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.