如何在不创建查询的情况下从 Access 表中获取值
Posted
技术标签:
【中文标题】如何在不创建查询的情况下从 Access 表中获取值【英文标题】:How to take values from an Access table without creating Query 【发布时间】:2019-10-27 10:26:08 【问题描述】:我是 Access 的新手,我正在尝试为我的想法找到一个替代(和更有效)的解决方案。我有一个包含多个字段的表,我只想检索一个字段(文本值)。
我的目标是创建一个组合框,显示该字段中的所有值(不重复),我设法通过将组合框链接到手动创建的查询来消除该字段的重复项。
这里有一个更清楚的例子:
Field 1 Combobox
AAA AAA
AAA BBB
BBB CCC
BBB
CCC
CCC
CCC
如何通过 VBA 获得相同的结果?当然,对于字段 1 中的任何记录更改,它必须是动态的。
【问题讨论】:
【参考方案1】:将 Combobox 的 Row Source 属性设置为:
select distinct [Field 1] from YourTable
【讨论】:
【参考方案2】:如果您希望通过 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 表中获取值的主要内容,如果未能解决你的问题,请参考以下文章
如何在不使用按钮或 tbody 的情况下从动态生成的表中单击一行来获取 HTML 表中单元格的值
如何在不触摸或点击文本字段的情况下从动态创建的 UITextField 获取文本(禁用用户交互)?