Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.89/121: Рейтинг темы: голосов - 121, средняя оценка - 4.89
3 / 3 / 0
Регистрация: 08.10.2010
Сообщений: 44
1

Выпадающий список параметрического запроса

25.10.2010, 19:08. Показов 23872. Ответов 14
Метки нет (Все метки)

объясните пожалуйста, как реализовать такую штуку..
вот выполняется параметрический запрос..
и когда вылетает сообщение о вводе данных..
то там нужен ниспадающий список с наименованием товаров..
из таблицы "Справочник товаров"..
как это можно реализовать..??

и второй вопрос..
есть запрос на удаление данных..
называется "Коррекция: удаление данных о реализации за прошлый год"..
сделал запуск этого запроса через макрос..
и вынес на форму "Запросы"..
но почему то оттуда не запускается..
каким образом можно разрешить этот вопрос..??
вылетает ошибка о невозможности выполнения запроса..
т.к. не задана таблица.. но прост о заброс работает..
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Вложения
Тип файла: rar bd.rar (652.1 Кб, 342 просмотров)
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.10.2010, 19:08
Ответы с готовыми решениями:

Создание параметрического запроса
есть таблица нужно создать параметрический запрос с выборкой параметра. например:нужно ввести...

Вызов параметрического запроса кнопкой
Помогите ублажить юзеров! У меня больные лежат в реанимациях, а юзеры-реаниматологи хотят....

Вызов из формы параметрического запроса
Друзья, возникла небольшая проблема. Делаю в базе небольшую лабораторную и столкнулся с тем, что...

Создание параметрического запроса с выпадающим списком
Опишите пжл подробно каким образом можно создать параметрический запрос, чтобы при его запуске в...

14
76 / 76 / 1
Регистрация: 22.08.2010
Сообщений: 208
25.10.2010, 22:10 2
И Вам доброго времени суток

и второй вопрос..
для выполнения запроса на удаление необходимо указать 1 таблицу, откуда Вы собрались удалять записи.
т.е. запрос SQL будет выглядеть так:
SQL
1
2
3
DELETE [Продажа товара в магазине].[Дата продажи], YEAR(Now())
FROM [Продажа товара в магазине]
WHERE (((YEAR(Now()))>YEAR([Дата продажи])));
по этому примеру мы удаляем все записи год которых меньше текущего (по системе)

вот выполняется параметрический запрос..
и когда вылетает сообщение о вводе данных..
то там нужен ниспадающий список с наименованием товаров..
обратите внимание, что слово запрос тут главное, в MS Access запросы возвращают значения с заданными критериями, а устанавливаются эти критерии при помощи элементов управления форм или прописываются в самом запросе, т.к. Вам необходим всплывающий список значений это реализуется через форму, где пользователь сначала выбирает значение, а потом выполняет запрос с параметром (кстати поиском это назвать сложно, обычная выборка с параметром по критерию).
2
3 / 3 / 0
Регистрация: 08.10.2010
Сообщений: 44
25.10.2010, 23:49  [ТС] 3
Цитата Сообщение от WiLex Посмотреть сообщение
И Вам доброго времени суток


для выполнения запроса на удаление необходимо указать 1 таблицу, откуда Вы собрались удалять записи.
т.е. запрос SQL будет выглядеть так:
SQL
1
2
3
DELETE [Продажа товара в магазине].[Дата продажи], YEAR(Now())
FROM [Продажа товара в магазине]
WHERE (((YEAR(Now()))>YEAR([Дата продажи])));
по этому примеру мы удаляем все записи год которых меньше текущего (по системе)



обратите внимание, что слово запрос тут главное, в MS Access запросы возвращают значения с заданными критериями, а устанавливаются эти критерии при помощи элементов управления форм или прописываются в самом запросе, т.к. Вам необходим всплывающий список значений это реализуется через форму, где пользователь сначала выбирает значение, а потом выполняет запрос с параметром (кстати поиском это назвать сложно, обычная выборка с параметром по критерию).
Спасибо большое..
с sql буду пытаться понять.. с этим пробле в знаниях.. изза смены преподавателей..

а вот про второе.. про форму я чет написал, теперь сам не понимаю для чего..
она тут даже не причем..
да у меня запрос на выборку по опрделенному критерию..
а именно нужно ввести название товара.. далее покажутся сведения о нем..
и вот смысл..как бы таков..
имеется справочник товаров компьютерного магазина..
но как бы я знаю что там находится.. а обычный пользователь нет..
и вот в окошке ввода названия товара.. нужен этот самый выпадающий список..
для удобства обчного пользователя.. чтобы была возможность выбрать товар, без осуществления ввода..

читал что это можно сделать через групповые операции.. это так..??
1
Изображения
 
3 / 3 / 0
Регистрация: 08.10.2010
Сообщений: 44
25.10.2010, 23:58  [ТС] 4
попробовал поискать..
это есть в свойствах поля запроса..
выбираю поле со списком..
откуда получать данные..
но выпадающего списка не появляется..
1
76 / 76 / 1
Регистрация: 22.08.2010
Сообщений: 208
26.10.2010, 01:25 5
с sql буду пытаться понять..
1. создаем пустой запрос (через конструктор)
2. переходим в режим sql (для Access 2003 ужо не помню как, кажись по нажатию правой кнопки в конструкторе, в 2007 снизу в правом углу написано мелким шрифтом, достаточно просто кликнуть на слово)
3. копируем то что я Вам "навоял"
4. сохраняем, закрываем, выполняем (запросы на обновление, добавление, удаление выполняются в фоновом режиме) рекомендую в параметрах базы поставить флажок "спрашивать перед выполнением запросов на удаление у пользователя"

а вот про второе.. про форму я чет написал, теперь сам не понимаю для чего..
1. на Вашей форме делаем поле со списком (форма "Запросы")
2.1. поле свойств "Данные" или "Control Source" оставляем пустым
2.2. поле свойств "Источник строк" или "RowSource" указываем запрос (предположим: СПИСОК_ТОВАРОВ)
он состоит из КОД_ТОВАРА и НАЗВАНИЯ_ТОВАРА
2.3. поле свойств "Число столбцов" или "ColumnCount" пишем 2
2.4. поле свойств "ширина столбцов" или "ColumnWidths" пишем 0;7
3.1. в запросе "Поиск: сведения о товаре по названию XX" добавляем поле КОД_ТОВАРА условие отбора пишем Forms![Запросы]![ПолеСоСписком1] (т.е. Ваше название элемента поле со списком)
3.2. удаляем все остальные условия отбора ([Введите назваиние товара]) сохраняем.

Совет!
Если надо выводить единственное значение на VBA можно прописать процедуру блокирующую кнопку "Поиск: сведения о товаре по названию XX" если значение поля со списком NULL
2
3 / 3 / 0
Регистрация: 08.10.2010
Сообщений: 44
26.10.2010, 12:13  [ТС] 6
Спасибо с sql все получилось..
вот только со списком что-то никак..
вот попробовал все сделать по пунктам, если можешь посмотри пожалуйста, что получилось..

и возможно ли сделать этот выпадающий список вообще без участия формы.. допустим ее вообще нет..
просто запрос..
с вводом названия определенного комплектующего..
но в нем можно не вводить, а выбрать из списка название комплектующего..
1
Вложения
Тип файла: rar bd.rar (651.1 Кб, 535 просмотров)
76 / 76 / 1
Регистрация: 22.08.2010
Сообщений: 208
26.10.2010, 21:49 7
3.1. в запросе "Поиск: сведения о товаре по названию XX" добавляем поле КОД_ТОВАРА условие отбора пишем Forms![Запросы]![ПолеСоСписком1] (т.е. Ваше название элемента поле со списком)
смотрим что прописано у Вас в запросе и как называется поле со списком в форме. Проблема там!!!
1
3 / 3 / 0
Регистрация: 08.10.2010
Сообщений: 44
26.10.2010, 22:41  [ТС] 8
Спасибо большое..
причем заходил в свойства смотрел.. отображалось "Поле со списком 1"..
а дальше не листал в сторону..
0
3 / 3 / 0
Регистрация: 08.10.2010
Сообщений: 44
26.10.2010, 22:49  [ТС] 9
Цитата Сообщение от terchik Посмотреть сообщение
возможно ли сделать этот выпадающий список вообще без участия формы.. допустим ее вообще нет..
просто запрос..
с вводом названия определенного комплектующего..
но в нем можно не вводить, а выбрать из списка название комплектующего..
если честно мне нужно немного другое..
я писал что допустим совсем нет формы..
у меня есть параметрический запрос..
просто запрос (!!!форма не используется!!!)..
и в нем реализовать так как показано на рисунке ниже..
0
Изображения
 
76 / 76 / 1
Регистрация: 22.08.2010
Сообщений: 208
26.10.2010, 23:27 10
Цитата Сообщение от terchik Посмотреть сообщение
если честно мне нужно немного другое..
я писал что допустим совсем нет формы..
у меня есть параметрический запрос..
просто запрос (!!!форма не используется!!!)..
и в нем реализовать так как показано на рисунке ниже..
Уважаемый terchik если по сути говорить, то:

Использование параметров в запросах и отчетах
Показать всеСкрыть всеЗапросы предназначены для работы только с полями таблицы, которые относятся к выполняемой задаче. Если необходимо дополнительно ограничить данные на основе значений, содержащихся в полях, в запросах следует использовать условия. Эти правила определяют, какие значения должны содержать поля или каким образцам они должны соответствовать, чтобы их возвращал запрос.

Если требуется, чтобы запрос предлагал ввести значение или образец при каждом его выполнении, можно создать запрос с параметрами (Запрос с параметрами. Запрос, в котором одно или несколько значений, определяющих условия отбора, вводятся в интерактивном режиме пользователем. Запрос с параметрами не является отдельным типом запроса; это функциональное расширение запросов на выборку.). Параметры можно также использовать в отчетах, чтобы при их выполнении запрашивались условия. Для оптимизации сбора и передачи параметров запроса или отчета можно использовать следующие возможности форм:

элементы управления, предназначенные для определенных типов данных;
сохранение значений параметров;
поля со списком (которые позволяют выбрать значение из списка, а не вводить его);
другие доступные управляющие элементы.
источник: MS ACCESS OnLine Help
1
1173 / 626 / 37
Регистрация: 30.05.2010
Сообщений: 712
27.10.2010, 00:16 11
Лучший ответ Сообщение было отмечено как решение

Решение

Здравствуйте terchik.
"..просто запрос (!!!форма не используется!!!).." - не есть хорошо, таблицы являются хранилищем данных, а для работы с данными в большинстве случаев нужна Форма - интерфейс посредник, защищающий данные от случайных и намеренных проблем.
Банки своим пользователям разрешают общаться только с оператором, Как Вы думаете, что будет если Вы захотите посетить хранилище, в котором хранятся и Ваши ценности? Полагаю понятно....
Ко всем данным необходимо относиться как банк относится к ценностям, во всяком случае подобным образом.

Ну а чисто технически, запрос с параметрами (который Вы усердно называете - параметрический)
может быть сконструирован подобным образом:
SQL
1
2
3
4
PARAMETERS [с Даты] DateTime, [по Дату] DateTime;
SELECT  [Код товара], [Название товара], [Дата продажи], Покупатель
FROM [Справочник товаров] INNER JOIN [Продажа товара в магазине] ON [Справочник товаров].[Код товара] = [Продажа товара в магазине].Товар
WHERE [Дата продажи] BETWEEN [с Даты] AND [по Дату]
Успехов Вам.
Евгений.
4
3 / 3 / 0
Регистрация: 08.10.2010
Сообщений: 44
27.10.2010, 13:28  [ТС] 12
Цитата Сообщение от WiLex Посмотреть сообщение
Уважаемый terchik если по сути говорить, то:


источник: MS ACCESS OnLine Help
Спасибо большое.. все теперь разобрался..
просто преподаватель утверждал что нужно именно так сделать как я говорил..
0
168 / 166 / 54
Регистрация: 08.11.2010
Сообщений: 1,501
23.01.2011, 15:14 13
А как сделать 2 поле для ввода на форме! чтобы я мог указывать цену от и до?
0
168 / 166 / 54
Регистрация: 08.11.2010
Сообщений: 1,501
28.02.2011, 22:03 14
SQL
1
BETWEEN (таблица.столбец<forms![имяФормы]![имяПоля1] AND таблица.столбец>forms![имяФормы]![имяПоля2])
0
1173 / 626 / 37
Регистрация: 30.05.2010
Сообщений: 712
01.03.2011, 11:46 15
to Макc
Здравствуйте, Вам обязательно надо ознакомиться с правилами форума
2. Рекомендации участникам форума при создании тем.
...
2.4. На каждый вопрос создавайте по одной теме

3 Запреты и ограничения.
...
3.4. Запрещено размещать тему в нескольких разделах одновременно (кросспостинг), а также дублировать тему в одном разделе.
Евгений.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.03.2011, 11:46

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Создать форму/отчёт на основе параметрического перекрёстного запроса
Как создать форму или отчёт на основе параметрического перекрёстного запроса, при том, что параметр...

Отключение диалогового окна на ввод значения параметра при открытии параметрического запроса
Здравствуйте! Я работаю с параметрическим запросом. Диалоговое окно на ввод значения параметра...

Выпадающий список
Привет, форум! Спасайте, горит дипломная база. Признаюсь сразу- VBA не знаю, думала справиться...

Выпадающий список
Допустим, на форме есть графа &quot;разработчики&quot; (список со стрелкой). При запуске форме поле...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.