如何在不创建查询的情况下从 Access table 中获取值

How to take values from an Access table without creating Query

我是 Access 的新手,我正在尝试为我的想法找到替代(且更有效)的解决方案。我有一个包含多个字段的 table,我只想检索一个字段(文本值)。

我的目标是创建一个组合框来显示该字段中的所有值(不重复),我已经通过将组合框链接到手动创建的查询来消除该字段的重复项来实现。

这里举个例子更清楚:

Field 1       Combobox
AAA           AAA
AAA           BBB
BBB           CCC
BBB
CCC
CCC
CCC

如何通过VBA获得相同的结果?当然,字段 1 中的任何记录更改都必须是动态的。

将 Combobox 的 Row Source 属性 设置为:

select distinct [Field 1] from YourTable

如果你想让VBA完成,但是@Lee Mac的答案更简单,你可以使用表单加载事件来触发vba代码,如下所示:

Private Sub Form_Load()
Dim rst As DAO.Recordset
Dim strRowSource As String
Dim strSQL As String
Dim dbs As DAO.Database

Set dbs = CurrentDb

strSQL = "SELECT DISTINCT rowname FROM tablename"

Set rst = dbs.OpenRecordset(strSQL)

If Not (rst.EOF And rst.BOF) Then
    rst.MoveFirst
    Do Until rst.EOF = True
        strRowSource = strRowSource & rst!vehicle_name & ";"
        rst.MoveNext
    Loop
    With Me.ComboBoxname
        .RowSourceType = "Value List"
        .RowSource = strRowSource
    End With

End If

rst.Close
Set rst = Nothing

End Sub