powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / List (Список) и стандартный Query (Запрос) с параметром
8 сообщений из 8, страница 1 из 1
List (Список) и стандартный Query (Запрос) с параметром
    #32070716
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Access 2000 + MDB
Есть компонента на форме - List (Список). У этой компоненты есть свойство RowSource (Источник Строк). Я использую Query (Запрос) из тех что я создал, но он с параметром! Элемент List обновляется по нажатии на кнопку. Как мне задать параметр в этот запрос? Я думал реализовать примерно как-то так:

Код: plaintext
1.
2.
3.
Set qdf = CurrentDb.QueryDefs( "MY_QRY" )
qdf.Parameters( "CUST_ID:" ) = VAR_CUST_ID
MY_LIST.RowSource = qdf.SQL


Где:
MY_QRY соответственно запрос который я настрочил в запросах.
CUST_ID: - это параметр в этом запросе который соответственно участвует при выборке
...WHERE CUST_ID=[CUST_ID:]...
MY_LIST - это элемент List в которм я хочу обновить данные.

Но так это все не работает :( Но хочется это все создать без генерации SQL запроса в коде VBA :( А то потом отыскивать, где этот SQL и т.д.
...
Рейтинг: 0 / 0
List (Список) и стандартный Query (Запрос) с параметром
    #32070725
В конструкторе запроса в качестве параметра указать поле (напр.) формы.
В А97 это замечательно делалось с пом. "Построить...", а вот в А2000 придется ручками прописать...
...
Рейтинг: 0 / 0
List (Список) и стандартный Query (Запрос) с параметром
    #32070747
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не покатит! :( Я этот запрос во многих местах на разных формах использую :( Потому и написал запрос, что-б он в одном месте был! Но дело даже не в этом! Мне даже как-то посоветовали свою функцию написать, которая должна возвращать необходимое значение! Но тоже как-то не очень :( Есть-же параметр, почему его так сложно использовать - не понимаю! Я уже думаю над тем, чтоб написать функцию которой передаешь qdf со значениями в параметрах, а она его разгеребала и составляла сама запрос! Но!!! Параметр в оригинале хорошо получается использовать когда в значениях встречаются кавычки и прочие служебные символы - не надо париться над перекодированием! :)
...
Рейтинг: 0 / 0
List (Список) и стандартный Query (Запрос) с параметром
    #32070866
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну что?! Никаких идей нет?! Так и делать через функцию :( Некрасиво как-то :(
...
Рейтинг: 0 / 0
List (Список) и стандартный Query (Запрос) с параметром
    #32070913
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да не молчите! Скажите - таких способов нет и я со спокойной душой начну изобритать велосипед! :)
...
Рейтинг: 0 / 0
List (Список) и стандартный Query (Запрос) с параметром
    #32070963
ДиД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
текст запроса:
SELECT Клиент
FROM Клиенты
WHERE код=[Клиент1];

Dim rst As ADODB.Recordset
Dim cmd As ADODB.Command
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = CurrentProject.Connection
cmd.CommandText = "[Запрос1]"
cmd.Parameters.Append cmd.CreateParameter("[Клиент1]", adInteger, adParamInput, , 2)
Set rst = cmd.Execute()
If Not (rst.EOF And rst.BOF) Then
Debug.Print rst![Клиент]
End If
rst.Close
...
Рейтинг: 0 / 0
List (Список) и стандартный Query (Запрос) с параметром
    #32070996
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предлагаешь список ручками заполнять! Тоже тема :)
Так и поступлю! Обновилось! Ручками данные закидали и готово! :)
...
Рейтинг: 0 / 0
List (Список) и стандартный Query (Запрос) с параметром
    #32071292
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если кому интиресно, то я написал функцию
RstToStr Которая берет RecordSet и возвращает строку подходящую для компонента LIST в качестве RowSource при RowSourceType = "Value List". Конечно это все работает! Но я огорчен аляповатостью Access в некоторых вещах! Разве не логично, то как я собирался использовать компоненту?!

В Borland'е как я помню есть компонента DataSource и компоненты Table и SQLQuery и цепляешь их в таком порядке и все Ок!

SQLQuery.Params...
DataSource.DataSet=SQLQuery
LIST.DataSource=DataSource

Крастота! :)
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / List (Список) и стандартный Query (Запрос) с параметром
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]