Как взять значения из таблицы Access без создания запроса - PullRequest
0 голосов
/ 27 октября 2019

Я новичок в Access и пытаюсь найти альтернативное (и более эффективное) решение для моей идеи. У меня есть таблица с несколькими полями, и я заинтересован в извлечении только одного поля (текстовые значения).

Моя цель - создать комбинированный список, который показывает все значения в этом поле (без дубликатов), и я 'Нам удалось это сделать, связав выпадающий список с созданным вручную запросом, который устраняет дубликаты для этого поля.

Вот пример, чтобы сделать его более понятным:

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

Как я могу получитьтот же результат через VBA? Конечно, оно должно быть динамическим для любого изменения записи в поле 1.

Ответы [ 2 ]

2 голосов
/ 27 октября 2019

Установите для свойства Row Source вашего Combobox значение:

select distinct [Field 1] from YourTable
0 голосов
/ 27 октября 2019

Если вы хотите, чтобы это сделал 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
...