[Форум] [Помощь] [Поиск] [Выйти] |
Добро пожаловать, User |
|
|
| ||
Имеем Access :) (мелочь, а приятно) Необходимо сделать запрос на много всяких условий. Варианты (имхо): 1) Все мышкой (не проходит, в запросе очень много чего...) 2) Пишем на Делфи программу, которая на выходе имеет SQL запрос, который позже мы импортируем в Access или кидаем в файл, откуда потом из Accessа прочитаем (все ОК, только извратом и геморроем попахивает) 3) Пишем все на VBA (начал почитывать), импортируем SQL запрос в виде текста в настоящий запрос (перезаписываем select * from DbName на наш запрос). Вариант 3 должен работать. Не подскажете, как конкретно, перезаписать текст SQL запроса в запросе Accessа? Спасибо. Заранее. |
| ||
Дык... Помогите!!! |
| ||
Помогаю, Серега, помога-а-аю! PS. Дай денег на CD-R (лучше конечно непосредственно CD-R), а... получиться немного быстрее... :) |
| ||
Миста Сержопель, вы какую-то фигню сказали :-) Даж не знаю, чем помочь, почти ничего не понял, чё надо-то ваще :-) |
| ||
Эх, как мало у меня недостатков, один из них - без визуального контакта, плохо объясняю...харизмы не хватает... не бритой... Access.... Есть запрос - Запрос1. Его можно просмотреть в SQL-виде. Есть подозрения, что програмно его можно изменить, т.е. подменить текст непосредственно SQL-запроса. Вопрос: Как конкретно это сделать в VBA for Access. |
| ||
Где есть? На такие вводные ответом будет - пусть там будет ваш запрос, там где есть этот. |
| ||
Попробуй сделать макрос. см. Макрокоманда Удалить объект |
| ||
Сергей, насчёт изменения запроса решение такое: (точно катит в 97-м, в 2к-том - не знаю) Имеются семейства объектов Tables, Forms, Reports, Modules, Queries. Тебе нужно семейство Queries, через круглые скобки добираешься до своего запроса, там должно быть свойство вроде Text или SQL - там и лежит твой текст запроса; он не только на чтение, но и на запись, если этот запрос не открыт сейчас. Подробнее - см. хелп или подожди, я уточню. Успехов! |
| ||
Пример: Set dbs = CurrentDb Set gry = dbs.QueryDefs(Хорошие продажи) DoCmd.OpenForm FormName:=Вводпериода, WindowMode:=acDialog НДень = Month(НачДень) & / & Day(НачДень) & / & Year(НачДень) КДень = Month(КонДень) & / & Day(КонДень) & / & Year(КонДень) StrSQL = gry.sql S1 = Left(StrSQL, InStr(StrSQL, HAVING) - 1) S2 = HAVING (((Продажи.Дата)Between & # & НДень & # & And & # & КДень & # & ) AND ((Sum(Продажи.Количество))>4)); gry.sql = S1 & S2 ^^^^^^^^^^^ Вот то что тебе нужно, но если уж начал делать на васике, так и делай все там. |