powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Управление запросом из VBA
14 сообщений из 14, страница 1 из 1
Управление запросом из VBA
    #32580252
Манагер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Люди! Возможно ли управлять условиями отбора в запросе из кода VBA, причем желательно с Like. Т.е. VBA выдавал бы какую нибудь переменную, например букву "А", а запрос выдавал бы все названия городов начинающихся на букву "А" (Ангарск, Абакан....). Подскажите в какую сторону рыть, возможно это можно как-нибудь по-другому организовать?
...
Рейтинг: 0 / 0
Управление запросом из VBA
    #32580274
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробую потелепятить:

Код: plaintext
SELECT City FROM TblCity WHERE City Like Forms![MyForm].[Text1] & "*"
...
Рейтинг: 0 / 0
Управление запросом из VBA
    #32580278
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вариантов масса :)

1. Генерить строку динамически
2. Если запрос "сложный", то написать запрос, вкличить поле для отбора в выборку, а потом обращаться к запросу как к таблице и уже его фильтровать ( select * from запрос1 where [город] like 'A*'; )
3. Написать запрос с параметром ( PARAMETERS xx Text; SELECT * FROM Таблица1 WHERE (Таблица1.name Like [xx] & '*'); )
...
Рейтинг: 0 / 0
Управление запросом из VBA
    #32580297
Манагер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Rivkin Dmitry на такой запрос он мне ничего не выдает, я и сам пробовал так раньше, т.е. Forms![MyForm].[Text1] присваиваю заначение "А", потом запросе в условиях отбора пишу Like [Forms]![MyForm].[Text1] & "*", ну соответственно с моими названиями форм и полей, Запрос не выдает ни одного названия!
Может с Like что не то?
...
Рейтинг: 0 / 0
Управление запросом из VBA
    #32580305
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Манагер: может кавычек в нужных местах понаставить?
Например вокрук строковых констант?

Код: plaintext
szSql = "SELECT City FROM TblCity WHERE City Like Forms![MyForm].[Text1]" & "'*'"
...
Рейтинг: 0 / 0
Управление запросом из VBA
    #32580306
Манагер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 paparome
1. Генерить строку динамически - это как?
2. (select * from запрос1 where [город] like 'A*';) - мне таких запросов нужно написать на каждую букву алфавита? Мой запрос является источником данных, для списка!
3. Про запрос с параметрами совсем уж не понятно
...
Рейтинг: 0 / 0
Управление запросом из VBA
    #32580307
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это вряд ли :)

Может данных нет для такого критерия отбора? (например буква А и A - они разные - хотя и выглядят одинаково :))
...
Рейтинг: 0 / 0
Управление запросом из VBA
    #32580309
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bely2 Манагер: может кавычек в нужных местах понаставить?
Например вокрук строковых констант?

Код: plaintext
szSql = "SELECT City FROM TblCity WHERE City Like Forms![MyForm].[Text1]" & "'*'"


ИМХО: Бред
...
Рейтинг: 0 / 0
Управление запросом из VBA
    #32580310
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наврал малость...
Код: plaintext
szSql = "SELECT City FROM TblCity WHERE City Like '" & Forms![MyForm].[Text1] & "*'"

Да, еще вместо '*' можно попробовать '%' - иногда помогает :)
...
Рейтинг: 0 / 0
Управление запросом из VBA
    #32580311
Манагер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нет, А-нормальное русское, я проверял
...
Рейтинг: 0 / 0
Управление запросом из VBA
    #32580312
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
papromeИМХО: Бред
согласен :)
...
Рейтинг: 0 / 0
Управление запросом из VBA
    #32580320
Манагер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Простите плохо проверял), Заработало, УРА!!!! Спасибо Всем!
...
Рейтинг: 0 / 0
Управление запросом из VBA
    #32580321
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Манагер2 paparome
1. Генерить строку динамически - это как?
2. (select * from запрос1 where [город] like 'A*';) - мне таких запросов нужно написать на каждую букву алфавита? Мой запрос является источником данных, для списка!
3. Про запрос с параметрами совсем уж не понятно

1.
Код: plaintext
1.
strSQL = "Select * From Tbl1 Where City Like '" & me.text1 & "*'"
me.list1.RowSource = strSQL
2. Вы меня не поняли - этот вариант мало чем отличается от варианта 1, если обращение идет к одной таблице, но если идет "крупное" связывание, то я предлагал сохранить запрос без критериев фильтрации и динамически уже генерить Select, где во From стоить имя запроса (что-то мудрено написал)
3. Использование запроса с параметрами зависит отцелей - в вашем варианте (назначение запоса не было известно, когда я ответ крапал) его использовать сложновато, но для получения результата запроса в перемнную типа RecordSet очень может быть удобно :)
Код: plaintext
1.
2.
3.
4.
Dim q As QueryDef
Dim rs As Recordset
Set q = CurrentDb.QueryDefs("Çàïðîñ1")
q.Parameters("xx") = "A"
Set rs = q.OpenRecordset
...
Рейтинг: 0 / 0
Управление запросом из VBA
    #32580327
Манагер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо paparome, попробую выбрать что мне больше подойдет!
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Управление запросом из VBA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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