如何在不创建查询的情况下从 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
我是 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