ms-access: вместо источника строк, запущенного из запроса

0

У меня очень сложный запрос, который выполняется из строки rowbox. я просто делаю listbox1.requery и заполняет список.

вместо этого так, я хотел бы:

  • Я просто хочу сохранить запрос в разделе запросов
  • назовите его оттуда.
  • тогда я хочу сохранить результаты запроса в строку
  • тогда я хочу передать строку в список

можете ли вы помочь мне с кодом для этих четырех вопросов.

спасибо!

Теги:
ms-access

3 ответа

3
Лучший ответ

другое решение - открыть запрос в наборе записей, а затем установить для него свойство recordset элемента управления списком. У меня есть своя функция для этого (я использую его в основном для comboboxes). Если необходимо, вы можете добавить дополнительный параметр "подключение" к югу, если вы хотите открыть набор записей из другой базы данных.

Public Sub addQueryToCombobox(x_query As String, x_control As Control)
Dim rs As ADODB.Recordset

On Error GoTo ERREUR

Set rs = New ADODB.Recordset

Set rs.ActiveConnection = CurrentProject.AccessConnection

rs.CursorType = adOpenStatic
rs.LockType = adLockReadOnly
rs.CursorLocation = adUseClient

rs.Open x_Query

Set rs.ActiveConnection = Nothing

Set x_control.Recordset = rs

Set rs = Nothing

On Error GoTo 0
Exit Sub

ERREUR:
'add here your own error manager'
End Sub
1

Я думаю, что ваши первые 3 пункта адресованы этим ответом на ваш другой вопрос:

ms-access сохранить результат запроса в строке

Что касается четвертого элемента в этом вопросе, установите для поля списка Row Source Type значение "Список значений" и напишите строку в свой свойство Row Source.

  • 1
    Но имейте в виду, что есть ограничение на длину строки, которая может быть назначена списку значений. Я забываю фактическую длину в разных версиях (я считаю, что она намного длиннее, чем раньше), но если ваш список будет иметь любую длину, вы можете вместо этого использовать функцию обратного вызова.
0

вы можете просто задать для строки запрос rowource в списке.

  • 0
    Нет, это не то, что я пытаюсь сделать

Ещё вопросы

Сообщество Overcoder
Наверх
Меню