LEADERSOFT.ru
Разработка на заказ программ и сайтов
Разработка
Заказ программы
Прайс-лист
Техническое задание
Проектная документация
Наши клиенты
Реклама и продвижение
Магазин
Перейти в магазин
Новинки магазина
Бизнес программы
Финансовый учет
Документооборот
Исходные коды
Интернет решения
Обучение
Перейти в раздел
Форумы по разработке
Примеры на Access
Рассылка статей
Магазин IT литературы
Блог
Все статьи
Microsoft Access (VBA)
Microsoft Access (Проекты)
Microsoft ASP.NET
Сервисы Google
Технические задания
Новости IT технологий
Сервисы
Форумы разработчика
Контакты
О компании
Регистрация на сайте
Подписка на новости по Email
Сообщество Google+
Подписка subscribe.ru
Новости в формате Атом
Загрузить
Загрузить каталог программ
Форумы по информационным технологиям
Начало
Forums
Регистрация
|
Вход
Forums
Обновлено ::
27 января 2005
Форумы
Поиск
Список форумов
Программирование
Microsoft Access. Файлы mdb и accdb
Тема: Длинная ц...
Тема: Длинная цепочка запросов через VBA
15.06.2007 21:09:33
All
4316 сообщения
Тема: Длинная цепочка запросов через VBA
Сначала простой пример:
В коде обработки насложная строка -
Set rst = CurrentDb.OpenRecordset _
("SELECT * FROM [Запос последняя цена товара] WHERE [КодТовара] ='" & Kod & "'")
prise = rst![ПоследняяЦена]
Т.е. мы создаем запрос на основе другого запоса [Запос последняя цена товара] вытаскиваем от туда нужную цену и вставляем ее в поле.
А запрос [Запос последняя цена товара] сам в свою очередь построен на запросе [динамика цен на товары].
Т.е. все запутано. В принципе все работает и нормально. Но появилась новая задачка. Вот этот запрос в основании цепочки ([динамика цен на товары]) тепель вставлен параметр для условия сравнения и этот параметр должен каждый раз занова определятся перед выполнением вышеуказанного кода VBA.
Как тут поступить? Ведь я обращаюсь ко второму запросу, а параметр нужен для первого.
Еслибы обращение шло сразу к первому запросу, то тут все понятно -
qd.Parameters(0) = значение из поля формы
set rs = qd.OpenRecordSet()
Как нужно действовать в этом случае?
P.S. Общие вопросы по базе данных
Автор:
Владимир Донецк
от 0:00:00
Источник ...
15.06.2007 21:09:33
All
4316 сообщения
RE: Длинная цепочка запросов через VBA
Параметр можно представить как функцию VBA, например, funGetParameter([ПолеЗапроса]) и использовать ее в запросе. Далее в этой функции можно обрабатывать и возращать нужные значения в зависимости от поля запроса. Для этого применяют глобальные переменные, условия сравнения и другие команды VBA.
P.S. Общие вопросы по базе данных
Автор:
Admin
от 0:00:00
Источник ...
15.06.2007 21:09:34
All
4316 сообщения
RE: Длинная цепочка запросов через VBA
Существуют запросы, которые черпают данные из других запросов (это не диковинка).
Но почему такие сложности, когда запрос-источник имеет параметр.
Прочемубы первый запрос не вызовет второй(источник), тот в свою очередь запросит параметр (через диалоговое окно), получит его и поехали дальше!
Как вообще делаются запросы на запросах с параметрами.
Неужели это такая сложная задача.
Кстати вот что предложиль на другом форуме
Dim qd as Querydef
Set qd=CurrentDb.CreateQueryDef("","SELECT * FROM [Запос последняя цена товара] WHERE [КодТовара] ='" & Kod & "'")
qd.Parameters(0) = значение из поля формы
set rs = qd.OpenRecordSet()
Но qd.Parameters(0) " отсутствует в данном семействе".
Может чтото недосмотрел?
P.S. Общие вопросы по базе данных
Автор:
Владимир Донецк
от 0:00:00
Источник ...
15.06.2007 21:09:34
All
4316 сообщения
RE: Длинная цепочка запросов через VBA
Понятно! Тут скорее все дело в DLookUp.
Вот первый запрос (называется сокращенно "Хрон"):
SELECT пост.ном, пост.тов, пост.цена
FROM пост 'это таблица
WHERE (((пост.ном)<[Np])) 'Np-параметр
ORDER BY пост.ном DESC;
Вот второй:
SELECT Тов.Опис, Тов.кодТ, DLookUp("цена","Хрон","тов= """ & [кодТ] & """ ") AS ПослЦена
FROM Тов; 'это тоже таблица
При вызове второго никакого параметра не запрашивалось. Поле ПослЦена имело везде значение #Ошибка.
Потом я заменил последнюю строку второго запроса на
FROM Тов, Хрон;
Теперь при запуске второго запроса действительно запрашивается параметр, но! пеоле ПослЦена всеравно имеет значение #Ошибка.
Что тут надо?
P.S. Общие вопросы по базе данных
Автор:
Владимир Донецк
от 0:00:00
Источник ...
Страница 1 из 1
Программирование
Microsoft Access. Файлы mdb и accdb
Тема: Длинная ц...
Одноуровневый вид
Древовидная структура
Самый старый из новых
Новейший из старых
Поиск
Список форумов
Начало
|
Forums
Copyright 2002-2016 Leadersoft.ru
::
Leadersoft
::
Соглашение о безопасности
::
Условия использования