КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Поиск продуктов, которых нет в наличииПервый шаг — поиск всех заказов, включающих продукты, которых в данный момент нет на складе. Для этого нужен запрос, содержащий две таблицы: ■ Products, т. к. в ней есть поля с уровнями запасов; ■ OrderDetails,потому что она сообщает, в какие заказы входят конкретные продукты. В данном случае таблица OrderDetails— дочерняя таблица, a Products— родительская. В результате, когда вы выполните этот запрос, то действительно получите список записей таблицы OrderDetails,снабженных информацией о продукте. После того как создан запрос с нужными таблицами, необходимо добавить в него подходящие поля. ■ UnitsInStock(поле из таблицы Products).Это поле сообщает о наличии продукта на складе. Для поиска отсутствующих компонентов заказа задайте свойство поля Условие отбораравным 0; ■ OrderID(поле из таблицы OrderDetails).Это поле идентифицирует заказы с отсутствующими ингредиентами. Рис. 8.9. Этот запрос (названный OrdersWithOutOfStockltems(заказы с отсутствующими на складе ингредиентами)) генерирует список кодов продуктов, которых нет в наличии. Поле UnitsInStock(единиц на складе) используется в нем для отбора, но не включено в результат запроса (обведенный флажок Вывод на экрансброшен). Для исключения повторения одних и тех же заказов (если в них содержится несколько продуктов, которых нет в наличии) свойству запроса Уникальные значения(также обведенному) присвоено значение Да Одна проблема все еще остается. Когда этот запрос выполняется, один и тот же ID может выводиться много раз, поскольку извлекается список отсутствующих на складе продуктов, а в одном заказе их может быть несколько. (Вы, конечно же, не хотите, чтобы сотрудники отдела по обслуживанию клиентов звонили клиенту несколько раз, не так ли?) Самый легкий способ решения этой проблемы — сообщить программе Access о необходимости игнорировать дубликаты в вашем запросе, выполнив следующие действия. 1. Выберите на ленте Работа с запросами | Конструктор → Показать или скрыть → Страница свойств(Query Tools | Design → Show/Hide → Property Sheet). В правой части окна программы Access появится область Окно свойств(Property Sheet) с низкоуровневыми параметрами запроса. 2. Щелкните кнопкой мыши на пустом месте в зоне Конструктора запросов(например, рядом с одним из прямоугольников таблиц). В верхней части области Окно свойствпоявится строка: Возможен выбор: Свойства запроса(Selection Type: Query Properties). 3. В области Окно свойствизмените значение параметра Уникальные значения(Unique Values) с Нет на Да. Теперь в результатах запроса каждый заказ будет появляться только один раз. На рис. 8.9 показан законченный запрос.
|