![]() |
|
Модераторы: Akina |
![]()
|
|
| alexIrish |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.1.2006 Где: Ireland, Dublin Репутация: нет Всего: нет |
Здравствуйте.
можно ли програмно переписать (изменить) SQL koд готового запроса? Есть Запрос: Select T1.F1, T2.F2 into Temp1 From T3 Where <uсловие отбора1> данный запрос нужно применить несколько раз но при етом поменять таблицу назначения и условиe отбора, т.е.: Select T1.F1, T2.F2 into Temp2 From T3 Where <uсловие отбора2> потом Select T1.F1, T2.F2 into Temп3 From T3 Where <uсловие отбора3> и т.д. Можно конечно написАть много запросов, но ... хотелось бы через модуль. |
|||
|
||||
| alexIrish |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.1.2006 Где: Ireland, Dublin Репутация: нет Всего: нет |
Dа и еще хотел спросить, большоe кол-во маленьких запросов- ето нормально?
Любую инфо можно получить используя один запрос для другого и т.д. У меня v итогe получается более 50 v проекте и я начинаю сердится потому как приходится ужe время тратить на поиск нужного. да и скорость нe впечатляет. Может если писать длинные запросы будет быстрее? |
|||
|
||||
| Akina |
|
||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Да, можно. См. коллекцию QueryDefs. А можно использовать параметрический запрос... а можно... есть еще несколько вариантов. Вопрос не имеет однозначного ответа
Не умеете именовать? не хотите скрыть промежуточные? Вопрос не имеет однозначного ответа -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
| alexIrish |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.1.2006 Где: Ireland, Dublin Репутация: нет Всего: нет |
Однозначно спасибо.
А чтo такоe параметрический запрос?
Да я то скрыл! Страшно когда раскрываешь! |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| alexIrish |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.1.2006 Где: Ireland, Dublin Репутация: нет Всего: нет |
Срочно нужно доделать.
Посмотрите код, надо завершить работу с querydef. v идеале нужно временный запрос который бы существовал пока открыта форма. Но можно и постоянный. Я его потом просто удалять буду. А со временным потом разберусь. Все работает до создания запроса и передачи его как источника данных в BAResult (sub форма в основной) Ругается, что "Query must have at least one destination fild" V chem delo?
|
|||
|
||||
| alexIrish |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.1.2006 Где: Ireland, Dublin Репутация: нет Всего: нет |
Привет.
Подскажите где я нe прав! Мнe надо создать временный запрос, вывести набор записей выбранных тим запросом в дочернюю форму нa основной. Пишу:
А дальше не понимаю: во первых strSQL нe передается в qdf. T.e koгда я пытаюсь вернуть значение qdf.SQL tо у меня получается чисто "Select;" i все. Ну а дальше, могу ли я RecordSet uказать как SourceObject for SubForm: SubForm.SourceObject = rst; Или Надо сам обьект QueryDef указывать, или создавать временную таблицу? Растолкуйте а, плиз. А то я посмотрел вот тут:http://www.firststeps.ru/ вроде вседелаю ка там написано, но... :( спасибо. |
|||
|
||||
| alexIrish |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.1.2006 Где: Ireland, Dublin Репутация: нет Всего: нет |
Oп ля!
А что, когда создаешь объект queryDef, Sql sтроку нельзя передавать как заранее определенную техтовую переменную? Надо писать сам запрос? |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 30 Всего: 454 |
Если надо, загони текст запроса не в текстовую переменную, а в свойство SQL своего QueryDef, после чего вызывай CreateQueryDef без передачи ему строки запроса. А из текстовой переменной - не получается... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| alexIrish |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.1.2006 Где: Ireland, Dublin Репутация: нет Всего: нет |
Все вопрос по запросу снялся. Была ошибка в техте запроса.
Каюсь грешен. Нужен совет как получившийся запрос обозначить как источник данных для формы. Если пишу Форма.SorceObject = Query.QueryName где QueryName имя созданного запроса (при помощи CreateQueryDef) ругается что нужен обьект. |
|||
|
||||
| alexIrish |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.1.2006 Где: Ireland, Dublin Репутация: нет Всего: нет |
делал так:
написал запрос Запрос1 потом
Потом пытаюсь сделать СабФорма.Requery Но она ни фига не обновляется. а вот если закрыть всю форму и открыть опять то получишь то что хотел до етого. Короче все на шаг сзади. Почему? |
|||
|
||||
| bopoha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1283 Регистрация: 10.5.2006 Где: Беларусь, Минск Репутация: 21 Всего: 21 |
Насколько я понимаю. "Запрос1" источник записей для подчиненной формы. Попробуй вместо СабФорма.Requery, СабФорма.RecordSource = "Запрос1".
|
|||
|
||||
| alexIrish |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 217 Регистрация: 26.1.2006 Где: Ireland, Dublin Репутация: нет Всего: нет |
Все, сделал.
That's it. Thanks to everyone involved. |
|||
|
||||
![]()
|
| Правила форума "MS Access" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS Access | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |