
Методи вирішення задачі
Пошук закладу за районом та типом кухні
Рис. 2 Форма пошуку закладу за районом та типом кухні
Рис. 3 Запит для пошуку закладу за районом та типом кухні
За допомогою «построителя выражений» параметри пошуку зчитується з форми та використовуються для фільтрування записів у запиті
Умова відбору для поля тип кухні
[Forms]![Форма для складного запиту "Заклади по району і типу кухні"]![ПолеСоСписком4]
Умова відбору для поля код району
[Forms]![Форма для складного запиту "Заклади по району і типу кухні"]![ПолеСоСписком2]
Форма для складного запиту "Заклади по району і типу кухні" містить поля зі списками та кнопки «Звіт», «Знайти».
SQL-запит:
SELECT Заклад.[Назва закладу], Заклад.Адреса, Заклад.Телефон, Заклад.Сайт, [Тип кухні].[Назва кухні], Район.[Назва району]
FROM [Тип кухні] INNER JOIN (Район INNER JOIN Заклад ON Район.[Код району] = Заклад.Район) ON [Тип кухні].[Код типу] = Заклад.Кухня
WHERE ((([Тип кухні].[Код типу])=[Forms]![Форма для складного запиту "Заклади по району і типу кухні"]![ПолеСоСписком4]) AND ((Район.[Код району])=[Forms]![Форма для складного запиту "Заклади по району і типу кухні"]![ПолеСоСписком2]));
Розширений пошук
Рис. 5 Форма «Розширений пошук»
Рис. 6 Запит «Розширений пошук»
За допомогою «построителя выражений» параметри пошуку зчитується з форми та використовуються для фільтрування записів у запиті
Умова відбору для поля тип кухні:
IIf([Forms]![Розширений пошук]![Флажок15]=Истина;[Forms]![Розширений пошук]![ПолеСоСписком11];[Код типу])
Умова відбору для поля код району:
IIf([Forms]![Розширений пошук]![Флажок9]=Истина;[Forms]![Розширений пошук]![ПолеСоСписком7];[Район]![Код району])
Умова відбору для поля код закладу:
IIf([Forms]![Розширений пошук]![Флажок4]=Истина;[Forms]![Розширений пошук]![ПолеСоСписком0];[Код закладу])
SQL-запит:
SELECT Заклад.[Назва закладу], Район.[Назва району], [Тип кухні].[Назва кухні]
FROM [Тип кухні] INNER JOIN (Район INNER JOIN Заклад ON Район.[Код району] = Заклад.Район) ON [Тип кухні].[Код типу] = Заклад.Кухня
WHERE ((([Тип кухні].[Код типу])=IIf([Forms]![Розширений пошук]![Флажок15]=True,[Forms]![Розширений пошук]![ПолеСоСписком11],[Код типу])) AND ((Район.[Код району])=IIf([Forms]![Розширений пошук]![Флажок9]=True,[Forms]![Розширений пошук]![ПолеСоСписком7],[Район]![Код району])) AND ((Заклад.[Код закладу])=IIf([Forms]![Розширений пошук]![Флажок4]=True,[Forms]![Розширений пошук]![ПолеСоСписком0],[Код закладу])));
Рис. 7 Запит «Розширений пошук»
Умова відбору для поля ціна
Between IIf([Forms]![Розширений пошук]![Поле25] Is Not Null;[Forms]![Розширений пошук]![Поле25];0) And IIf([Forms]![Розширений пошук]![Поле27] Is Not Null;[Forms]![Розширений пошук]![Поле27];1000000)
Умова відбору для поля код меню
IIf([Forms]![Розширений пошук]![Флажок17]=Истина;[Forms]![Розширений пошук]![ПолеСоСписком13];[Меню]![Код меню])
Умова відбору для поля код страви
IIf([Forms]![Розширений пошук]![Флажок33]=Истина;[Forms]![Розширений пошук]![ПолеСоСписком23];[Страва]![Код страви])
SQL-запит:
SELECT Меню.[Назва меню], Страва.[Назва страви], Страва.Ціна
FROM Страва INNER JOIN (Меню INNER JOIN [Склад меню] ON Меню.[Код меню] = [Склад меню].[Код меню]) ON Страва.[Код страви] = [Склад меню].[Код страви]
WHERE (((Страва.Ціна) Between IIf([Forms]![Розширений пошук]![Поле25] Is Not Null,[Forms]![Розширений пошук]![Поле25],0) And IIf([Forms]![Розширений пошук]![Поле27] Is Not Null,[Forms]![Розширений пошук]![Поле27],1000000)) AND ((Меню.[Код меню])=IIf([Forms]![Розширений пошук]![Флажок17]=True,[Forms]![Розширений пошук]![ПолеСоСписком13],[Меню]![Код меню])) AND ((Страва.[Код страви])=IIf([Forms]![Розширений пошук]![Флажок33]=True,[Forms]![Розширений пошук]![ПолеСоСписком23],[Страва]![Код страви])));
3) Пошук страв в меню, у діапазоні ціни
Рис. 8 Форма пошуку страв в меню, у діапазоні ціни
Рис. Запит пошуку страв в меню, у діапазоні ціни
Умова відбору для поля код меню
[Forms]![Форма для складного запиту "Страви у меню, у діапазоні ціни"]![ПолеСоСписком8]
Умова відбору для поля ціна
Between [Forms]![Форма для складного запиту "Страви у меню, у діапазоні ціни"]![Поле0] And [Forms]![Форма для складного запиту "Страви у меню, у діапазоні ціни"]![Поле2]