Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Примеры построения запросов




Рассмотрим ряд примеров, поясняющих технологию построения запросов.

Пример 1. Создать запрос, формирующий список студентов, фамилии которых начинаются на “C” и родившихся в 1991 – 1992 годах. В результате запроса вывести таблицу, содержащую поля ФИО, Группа, Дата рождения. Условие отбора совпадает с условием поиска в фильтре по умолчанию для аналогичной задачи, рис. 21: ФИО=С* AND Дата рождения >= 01.01.1991 AND Дата рождения <= 31.12.1992. Сравнить задание условия отбора в запросе с условием поиска в фильтре по умолчанию.

1. В главном окне БД Сессия на вкладке Запросы выберите задачу Создать запрос в режиме дизайна. Откроются окна построителя запросов и добавления таблиц, рис. 23.

2. В окне добавления таблицы выберите из списка таблицу Студент и нажмите кнопку «Добавить». Закройте окно добавления таблицы.

3. В таблице Студент дважды щелкните по следующим полям в указанной последовательности: ФИО, Группа, Дата рождения, Дата рождения.

4. Снимите в строке Видимый флажок для последнего поля Дата рождения.

5. Введите в строке Критерий условие отбора. Напомним, что апострофы и символы # подставляются автоматически при нажатии клавиши «Enter» или щелчке по другой ячейке. Результаты проделанных действий представлены на рис. 24.

Рис. 24. Запросная форма примера 1

 

6. Просмотрите запрос, нажав клавишу «F4», рис. 25.

Рис. 25. Просмотр результатов выполнения запроса

Повторное нажатие клавиши «F4» восстанавливает запросную форму для возможных ее исправлений. Проверьте.

7. Закройте окно построителя запросов и в появившемся окне сохранения запроса задайте ему имя Пример1 для дальнейшего использования.

8. Если вы хотите убедиться, правильно ли расставлены в условии отбора логические операторы AND (“И”) или OR (“ИЛИ”), перейдите в режим SQL. Для этого щелкните правой кнопкой мыши по значку запроса Пример1 и выберите в контекстном меню команду Редактировать в режиме SQL. Откроется окно построителя запросов с условием отбора на языке SQL, рис. 26. Просмотрите условие WHERE. Закройте окно построителя запросов.

Рис. 26. Условие отбора на языке SQL

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

10. Щелкните правой кнопкой мыши по значку запроса Пример1 и выберите в контекстном меню команду Изменить. Откроется окно построителя запросов, в котором можно произвести необходимые изменения.

Рассмотрим другой вариант задания условия отбора для рассматриваемой задачи.

11. Удалите правый столбец Дата рождения, для чего выделите его щелчком по серому полю над заголовком и нажмите клавишу «Delete».

12. Введите новое условие отбора BETWEEN 01.01.1992 AND 31.12.1992. Результаты проделанных действий представлены на рис. 27.

13. Просмотрите запрос, нажав клавишу «F4». Результаты просмотра запроса совпадают с данными рис. 25.

Рис. 27. Новое условие отбора

14. Сохраните запрос под другим именем, для чего выполните команду Файл > Сохранить как и задайте запросу имя Пример1_1.

15. Закройте окно построителя запросов.

16. Просмотрите условие WHERE в режиме SQL. Закройте окно построителя запросов.

 

Пример 2. Создать запрос, формирующий список студентов – мужчин, родившихся в 1990 г. или 1993 г. В результате запроса вывести таблицу, содержащую поля ФИО, Пол, Дата рождения и отсортированную по полю Дата рождения (например, по возрастанию). Условие отбора: (Пол=М AND Дата рождения >= 01.01.1990 AND Дата рождения <= 31.12.1990) OR (Пол=М AND Дата рождения >= 01.01.1993 AND Дата рождения <= 31.12.1993).

1. В главном окне БД Сессия на вкладке Запросы выберите задачу Создать запрос в режиме дизайна. Откроются окна построителя запросов и добавления таблиц, рис. 23.

2. В окне добавления таблицы выберите из списка таблицу Студент и нажмите кнопку «Добавить». Закройте окно добавления таблицы.

3. В таблице Студент дважды щелкните по следующим полям в указанной последовательности: ФИО, Пол, Дата рождения, Дата рождения.

4. Снимите в строке Видимый флажок для последнего поля Дата рождения.

5. Для первого поля Дата рождения установите сортировку по возрастанию. Для этого щелкните в ячейке на пересечении строки Сортировка и столбца Дата рождения и выберите в раскрывающемся списке сортировку по возрастанию.

6. Введите в строках Критерий и ИЛИ условие отбора. Просмотрите запрос, нажав клавишу «F4» Результаты проделанных действий представлен на рис. 28.

7. Закройте окно построителя запросов и в появившемся окне сохранения запроса задайте ему имя Пример2.

8. Просмотрите условие WHERE в режиме SQL. Закройте окно построителя запросов.

Рис. 28. Условие отбора и результат запроса примера 2

 

Пример 3. Создать запрос, формирующий список студентов группы 112, получивших на экзамене неудовлетворительные оценки (балл < 53) по математике или информатике. В результате запроса вывести таблицу, содержащую поля ФИО, Группа, Дисциплина, Балл и отсортированную по полю ФИО (по возрастанию). Условие отбора: (Группа=112 AND Математика < 53) OR (Группа=112 AND Информатика < 53).

1. В главном окне БД Сессия на вкладке Запросы выберите задачу Создать запрос в режиме дизайна. Откроются окна построителя запросов и добавления таблиц, рис. 23.

2. Данный запрос строится на основе трех таблиц: Студент, Экзамен и Дисциплина. В окне добавления таблицы выбирайте последовательно из списка таблицы Студент, Экзамен и Дисциплина, нажимая каждый раз кнопку «Добавить», рис. 29. Связи между таблицами берутся из схемы данных, созданной ранее, и устанавливаются автоматически. Закройте окно добавления таблицы.

3. Добавьте нужные поля в запросную форму: из таблицы Студент – поля ФИО и Группа, из таблицы Дисциплина – поле Дисциплина, из таблицы Экзамен – поле Балл.

4. Для поля ФИО установите сортировку по возрастанию.

5. Введите в строках Критерий и ИЛИ условие отбора. Результаты проделанных действий представлены на рис. 29.

 

Рис. 29. Запросная форма примера 3

6. Просмотрите запрос, нажав клавишу «F4» Результат выполнения запроса сравните с рис. 30.

Рис. 30. Результат запроса примера 3

7. Закройте окно построителя запросов и в появившемся окне сохранения запроса задайте ему имя Пример3.

 

Пример 4. Создайте запрос с параметрами, формирующий сведения о баллах студентов заданной группы по заданной дисциплине. В результате запроса вывести таблицу, содержащие поля ФИО, Группа, Балл, Дисциплина и отсортированную по полю Балл (по убыванию). Условие отбора: Номер группы AND Название дисциплины.

Запросы, которые представляют собой варианты базового запроса и незначительно отличаются друг от друга, называются параметрическими. Поля строк Критерий и ИЛИ заполняются не конкретным условием отбора, а обращением к пользователю для ввода параметров условия отбора. Во время выполнения запроса это обращение будет адресовано пользователю, который введет параметры условия отбора. На основании введенных параметров (с учетом других компонент, заданных в строках Критерий и ИЛИ) будет осуществляться отбор записей. Обращение необходимо начинать с двоеточия, например :номер_группы.

1. В главном окне БД Сессия на вкладке Запросы выберите задачу Создать запрос в режиме дизайна. Откроются окна построителя запросов и добавления таблиц, рис. 23.

2. Данный запрос строится на основе трех таблиц: Студент, Экзамен и Дисциплина. В окне добавления таблицы выбирайте последовательно из списка таблицы Студент, Экзамен и Дисциплина, нажимая каждый раз кнопку «Добавить», рис. 31. Закройте окно добавления таблицы.

3. Добавьте нужные поля в запросную форму: из таблицы Студент – поля ФИО и Группа, из таблицы Экзамен – поле Балл, из таблицы Дисциплина – поле Дисциплина.

4. Для поля Балл установите сортировку по убыванию.

5. Введите в строке Критерий для поля Группа обращение :номер_группы, а для поля Дисциплина обращение :название_дисциплины. Результаты проделанных действий представлены на рис. 31.

Рис. 31. Запросная форма примера 4

6. Нажмите клавишу «F4» для просмотра запроса. Откроется окно для ввода параметров по запросу, рис. 32.

 

Рис. 32. Окно ввода параметров запроса

7. При выделенном параметре название_дисциплины введите в поле Значение текст Физика и нажмите кнопку «Следующий». Указатель параметра перейдет на строку номер_группы. Активизируйте щелчком поле Значение и введите число 112. Нажмите кнопку «ОК». Результат выполнения запроса сравните с рис. 33.

Рис. 33. Результат запроса примера 4

8. Закройте окно построителя запросов и в появившемся окне сохранения запроса задайте ему имя Пример4.

9. В главном окне БД Сессия дважды щелкните по значку запроса Пример4. В появившемся окне Ввод параметра введите название другой дисциплины и номер нужной группы. Просмотрите результат запроса. Закройте окно Представление данных таблицы.

 

Задание 5. Создайте запрос по указанному преподавателем варианту.

1. Создайте запрос, формирующий список студентов заданной группы, получивших отличную оценку по заданной дисциплине.

2. Создайте запрос, формирующий список студентов заданной группы, получивших отличные оценки в сессию. Поля ФИО и Дисциплина отсортировать по возрастанию.

3. Создайте запрос, формирующий список анкетных данных студентов, проживающих на улице Советская. Список отсортировать по возрастанию поля ФИО.

4. Создайте запрос, формирующий список анкетных данных студентов, не имеющих домашнего телефона.

5. Создайте запрос, формирующий список анкетных данных студентов заданной группы. Список отсортировать по возрастанию поля ФИО.

6. Создайте запрос, формирующий список анкетных данных студентов, фамилии которых начинаются на “С” или “П”.

7. Создайте запрос, формирующий список анкетных данных студентов, домашний телефон которых заканчивается на цифру 15.

8. Создайте запрос, формирующий список анкетных данных студентов, родившихся во втором квартале 1992 или 1993 годах.

9. Создайте запрос, формирующий список анкетных данных студентов - мужчин, фамилии которых не начинаются на “С”. Список отсортировать по возрастанию поля ФИО.

10. Создайте запрос, формирующий список студентов заданной группы, получивших хорошие и отличные оценки в сессию. Поля ФИО и Дисциплина отсортировать по возрастанию.

 

Создание отчетов

 

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

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

Отчеты создаются на основе таблиц или запросов. Если отчет создается на основе отобранных данных из таблиц, то наилучшим источником данных для отчета является запрос. В этом случае перед созданием отчета необходимо позаботиться о том, чтобы получить эти данные с помощью запроса.

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

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

Находясь в главном окне БД на панели выберите вкладку Отчеты и щелкните по строке Использовать мастер для создания отчета. На экране появится окно мастера отчетов, рис. 34.

Рис. 34. Окно мастера отчетов

Шаг 1. Из выпадающего списка Таблицы или запросы, выберите таблицу Студент. Из списка существующих полей с помощью кнопки перемещаем все поля в список Поля в отчете, рис. 35. Нажмите кнопку «Дальше» и перейдите к следующему шагу.

Рис. 35. Выбор полей для отчета

Шаг 2. Во втором окне мастера можно изменить надписи полей отчета, рис. 36. Оставьте из без изменений. Нажмите кнопку «Дальше» и перейдите к следующему шагу.

Рис. 36. Окно задания надписей полей отчета

Шаг 3. На третьем этапе можно создать уровни группировки. Выбор уровней влияет на структуру отчета. Создайте один уровень группировки – по номеру группы. Перемесите кнопкой cо стрелкой поле Группа в список Группировка поля, рис. 37. Нажмите кнопку «Дальше» и перейдите к следующему шагу.

Рис. 37. Задание уровней группировки

Шаг 4. В четвертом окне предлагается задать способ сортировки данных, рис. 38. Сортировка по полю Группа (по возрастанию) установится автоматически. В поле Затем по выберите в раскрывающемся списке поле ФИО и установите сортировку по возрастанию. Нажмите кнопку «Дальше» и перейдите к следующему шагу.

Рис. 38. Задание порядка сортировки данных

Шаг 5. Мастер отчетов предоставляет пользователю набор стилей отчетов рис. 39. Выяснить, что представляет собой тот или иной стиль, можно непосредственно в окне построителя отчета, переместив верхнее окно мастера отчетов вниз. В поле Разметка данных выберите стиль Табличный и укажите ориентацию листа отчета – Книжная. Нажмите кнопку «Дальше» и перейдите к следующему шагу.

Рис. 39. Задание порядка сортировки данных

Шаг 6. На последнем шаге задайте заголовок отчета – Сведения о студентах, выберите тип отчета – Динамический отчет и вариант дальнейших действий – Создать отчет сейчас, рис. 40. Нажмите кнопку «Готово».

Рис. 40. Окно завершения создания отчета

При нажатии на кнопку «Готово» экране появится сформированный отчет в окне OpenOffice.org Writer. Для того чтобы привести отчет к требуемому виду (улучшить шрифтовое и композиционное оформление, добавить информацию и т.п.), его можно отредактировать. Редактирование отчета выполняется в OpenOffice.org Writer.

Для редактирования отчета нажмите кнопку «Редактировать документ» на панели инструментов. На листе отчета появятся три области: верхний колонтитул, область данных и нижний колонтитул.

В область верхнего колонтитула введите название документа – Сведения о студентах, данные об авторе и дату создания документа.

В области данных:

1. Если текст не умещается полностью по ширине какого-либо столбца, увеличьте его ширину перетаскиванием границы столбца.

2. Увеличьте высоту строки заголовка таблицы группы 111. Для этого выделите ее, щелкните по ней правой кнопкой мыши и в контекстном меню выполните команду Строка > высота. Введите новое значение высоты строки.

3. Для выделенной строки заголовка таблицы измените размер шрифта – 14 пт.

4. Выделите данные в таблице группы 111. Увеличьте высоту строк таблицы. Измените размер шрифта – 14 пт.

5. Измените формат вывода в столбце Дата рождения. Выделите данные столбца, выполните в контекстном меню команду Числовой формат и выберите в диалоговом окне новый формат (Категория > Дата >Формат 31.12.1999).

6. Отредактируйте аналогичным образом таблицу группы 112.

В режиме предварительного просмотра документа (команда Файл > Предварительный просмотр страницы) просмотрите внешний вид отчета, рис. 41.

Рис. 41. Отчет в режиме предварительного просмотра

Сохраните отредактированный отчет в своей папке командой Файл > Сохранить как.

Закройте окно OpenOffice.org Writer.

Задание 6.

1. Создайте отчет, содержащий сведения о баллах студентов заданной группы по заданной дисциплине.

Указание: В качестве источника данных для отчета используйте запрос к примеру 4.

2. Создайте отчет по запросу, созданному вами при выполнении задания 5.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных