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

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

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

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

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

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


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

Да, еще вместо '*' можно попробовать '%' - иногда помогает :)
...
Рейтинг: 0 / 0
29.06.2004, 09:30:46
    #32580311
Манагер
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Управление запросом из VBA
нет, А-нормальное русское, я проверял
...
Рейтинг: 0 / 0
29.06.2004, 09:31:20
    #32580312
Bely
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Управление запросом из VBA
papromeИМХО: Бред
согласен :)
...
Рейтинг: 0 / 0
29.06.2004, 09:37:04
    #32580320
Манагер
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Управление запросом из VBA
Простите плохо проверял), Заработало, УРА!!!! Спасибо Всем!
...
Рейтинг: 0 / 0
29.06.2004, 09:38:22
    #32580321
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Управление запросом из VBA
Манагер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
29.06.2004, 09:43:31
    #32580327
Манагер
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Управление запросом из VBA
Спасибо paparome, попробую выбрать что мне больше подойдет!
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Управление запросом из VBA / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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