Фильтр по выделенному фрагменту



1) Выделим данные, которые будут использоваться в качестве критерия фильтрации (в нашем примере выделим полеПол со значением «ж»);

2) в меню Записи активизируем командуФильтр, а в открывшемся подменю-командуФильтр по выделенному. Можно также щелкнуть на одноименной кнопке на панели инструментов.

В результате фильтрации будут показаны только те записи, для которых заданное условие выполняется,

Расширенный фильтр

Для демонстрации возможностей расширенного фильтра решим более сложную задачу.

Задание 8

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

В данном случае необходимо выполнить четыре основных операции:

1. выбрать поля, по которым осуществляется поиск;

2. определить порядок сортировки (причем можно использовать различный порядок сортировки для различных полей);

3. установить критерий отбора;

4. применить фильтр.

Для выполнения этого алгоритма выполним следующие действия:

1) откроем таблицуГодовая успеваемость класса;

2) откроем менюЗаписи, укажем менюФильтр и выберемРасширенный фильтр;

3) в нижнюю часть раскрывшегося окна перетащим с помощью мыши имя поляКод ученика и установим в строкеСортировка значение по возрастанию;

4) аналогично переместим в нижнюю часть окна полеПредмет;

5) аналогично переместим в нижнюю часть окна полеОценка;

6) в строкеУсловие отбора введем значение «5»;

7) щелкнем на кнопкеПрименение фильтра на панели инструментов Фильтр или выберем командуПрименить фильтр в менюФильтр.

В результате фильтрации будут показаны записи, удовлетворяющие указанному условию.

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

Самостоятельная работа № 2

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

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

3. С помощью командыРасширенный фильтр создать фильтр, позволяющий просмотреть все оценки по любым двум предметам.

Связывание таблиц в Access

Access 97 позволяет строить реляционные базы данных, отдельные таблицы которых могут быть связаны между собой.

Простейшей и наиболее редкой формой связи между таблицами является связь «один к одному», при которой для каждой записи в одной таблице существует в лучшем случае одна связанная с ней запись в другой таблице. Примером такой ситуации может служить связь ЯВЛЯЮТСЯ_РОДИТЕЛЯМИ между таблицейСведения об учениках и Сведения о родителях.

Гораздо чаще встречается связь «один ко многим», при которой для каждой записи в одной таблице существует одна, несколько или ни одной записи в другой таблице. Примером такой ситуации может служить связь ГОДОВЫЕ_ОЦЕНКИ_УЧЕНИКА между таблицейСведения об учениках и Годовая успеваемость класса.

Нередко приходится иметь дело также со связью «многие ко многим», при которой отсутствуют ограничения на множества пар записей, принадлежащих связи. Такая связь в Access не используется. Ее необходимо представить в виде двух связей «один ко многим».

При установке связи одна из таблиц является главной, а другая - подчиненной.

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

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

При наличии связи между таблицами Access 97 будет автоматически выбирать связанные данные из таблиц в отчетах, запросах и формах.

Для каждой связи в Access 97 обязательно должен быть выбран один из параметров объединения, который задается в окнеПараметры объединения.

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

Помимо определения параметра объединения, пользователь должен позаботиться о дополнительных средствах контроля связанных данных, вводимых в разные таблицы.

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

Целостность данных означает:

- в связанное поле подчиненной таблицы можно вводить только те значения, которые имеются в связанном поле главной таблицы;

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

Включив механизм поддержки целостности данных, пользователь может потребовать, чтобы при модификации данных система запускала следующие процессы:

- каскадное обновление связанных полей;

- каскадное удаление связанных записей.

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

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

Задание 9.

Установить связь между таблицамиСведения об учащихся и Сведения о родителях.

1) Из менюСервис выберем командуСхема данных. На экране появится окно Схема данных, в котором можно создавать, просматривать или удалять связи между таблицами базы данных. При работе с базой данныхКласс мы обращаемся к этой команде первый раз, поэтому окно должно быть пустым.
Если это не так, то предварительно очистим его, выбрав командуОчистить макет из менюПравка или нажав кнопкуОчистить макет на панели инструментов;

2) чтобы добавить таблицы в окноСхема данных, выберем опциюДобавить таблицу в менюСвязи или нажмем кнопкуДобавить на панели инструментов;

3) укажем системе те таблицы, между которыми устанавливаем связь.

Рис. 16. Окно добавление таблицы.

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

4) переместим используемое для связи поле (в данном случае -Код ученика)таблицыСведения об учениках к соответствующему полю (Код ученика) Сведения о родителях с помощью мыши;

5) на экране появится диалоговое окноСвязи, в котором будет предложена связь между таблицамиСведения об учениках и Сведения о родителяхчерез полеКод ученика;

6) теперь путем установления типа отношений между таблицами определим параметры связи. Щелкнем на кнопкеОбъединение и в раскрывшемся окне выберем параметр объединения. Затем активизируем опциюОбеспечение целостности данных;

7) после нажатия кнопкиСоздать в окнеСвязи созданная связь между таблицамиСведения об учениках и Сведения о родителях отображается графически.

 

Самостоятельная работа № 3

1) Свяжите таблицыСведения об учениках и Годовая успеваемость класса по полю Код ученика.

2) Свяжите таблицыСведения об учениках и Сведения о родителях по полю Код ученика.

Запросы

Существует несколько типов запросов: на выборку, на добавление, на удаление, на обновление, запрос на создание таблиц, перекрестный запрос.

Запросы могут создаваться двумя способами: «вручную» и с помощью мастера. Имеется четыре мастера запросов:

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

С помощьюКонструктора запросы создаются «вручную».

Создание запросов

При создании макета запроса в общем случае необходимо выполнить следующие базовые операции:

1) указать системе, какие поля и из каких таблиц мы хотим включить в запрос;

2) указать тип запроса (по умолчанию установлен запрос на выборку);

3) при необходимости описать вычисляемые поля, то есть поля, значения которых являются функциями значений существующих полей;

4) описать групповые операции над записями исходных таблиц;

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

При разработке конкретного запроса допускается любое сочетание перечисленных операций.

Задание 10

Создать запросАдреса для вывода фамилий, имен и адресов учеников.

1) перейдем на вкладкуЗапросы и щелкнем на кнопкеСоздать, чтобы перейти к созданию запроса;

2) на экране появится диалоговое окноНовый запрос, предназначенное для выбора способа построения запроса;

3) выберем значениеПростой запрос и нажмем кнопкуОК;

4) в первом диалоговом окне в спискеТаблицы/Запросы выберем таблицу, поля которой будут анализироваться при выполнении запроса(Сведения об учениках);

5) в спискеДоступные поля отметим полеФамилия и перенесем его в список Выбранные поля;

6) те же действия выполним для полейИмя и Адрес. Нажмем кнопку Далее;

7) в последнем окне присвоим запросу имя Адреса. После этого нажмем кнопкуГотово.

Самостоятельная работа № 4

1. Создайте запросТелефоны, позволяющий выводить фамилии, имена, телефоны учеников.

2. Создайте запрос Журнал, позволяющий выводить фамилию, имя, предмет и оценку.

Конструктор запросов

Вернемся к запросуЖурнал. Выделим его и нажмем кнопку Конструктор, расположенную на вкладкеЗапросы.

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

Рис. 17. Режим конструктора запроса

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

Пользователь может редактировать эту схему, добавляя в нее новые объекты: таблицы или запросы.

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

Таблица расширяется вправо автоматически, когда пользователь добавляет в запрос новые поля.

Заполнив строкуУсловие отбора, мы сможем произвести выборку из базы данных.

СтрокаГрупповая операция содержит список функций и во многом определяет тип запроса.

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

СтрокаГрупповая операция появляется после нажатия кнопки с греческой буквой сигма (S), расположенной на панели инструментов, или выбора командыГрупповые операции менюВид.

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

1) в режиме конструктора щелкните правой кнопкой мыши на бланке запроса в требуемой колонке;

2) из контекстного меню выберите командуСвойства;

3) на открывшейся вкладкеОбщие в строкеПодпись введите желаемый заголовок;

4) Назначение строкиСортировка очевидно - можно отсортировать полученные в результате запроса данные.

Самостоятельная работа № 5

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

2) Исправьте запросДата рождения так, чтобы сведения выводились только для мальчиков.

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

4) Создайте запросОценки по предмету, позволяющий выводить оценки учеников по какому-нибудь определенному предмету.

Вычисление в запросах

Запрос можно использовать для выполнения расчетов. Для этих целей предусмотрены статистические функции. Статистическую функцию задают в строкеГрупповая операция.

Функция Выполняемая операция
Sum Суммирование значений определенного поля
Avg Вычисление среднего значения
Min Вычисление минимального значения
Мах Вычисление максимального значения
Count Вычисление количества записей в определенном поле
First Определяется первое значение в указанном поле
Last Определяется последнее значение в указанном поле
StDev Вычисляется стандартное отклонение значений данного поля
Var Вычисляется вариация значений данного поля

Задание 11.

Создать запросРейтинг учеников для подсчета среднего балла каждого ученика в классе.

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

Таким образом, для решения данной задачи мы будем использовать две таблицы.

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

В нашем случае отношение между таблицами уже задано, между полями таблиц проведена линия.

1) в окне базы данных перейдем на вкладкуЗапросы и щелкнем на кнопке Создать, чтобы перейти к созданию запроса;

2) на экране появится диалоговое окноНовый запрос, предназначенное для выбора способа построения запроса;

3) выберем значениеКонструктор и нажмем кнопкуОК;

4) в результате на экране появится два окна: окно конструктора запросов Запрос: Запрос на выборку и окно выбора таблицДобавление таблицы. Окно Добавление таблицы состоит из трех вкладок, содержащих перечни объектов, предлагаемых программой для проектирования запроса: Таблицы, Запросы, Таблицы и запросы. В бланке запроса укажем параметры запроса и данные, которые нужно отобрать, а также способ их отображения на экране;

5) перейдем на вкладкуТаблицы, маркируем таблицуСведения об ученикахи щелкнем на кнопкеДобавить. Затем маркируем таблицуУспеваемость класса и снова выполним щелчок на кнопкеДобавить. Закроем диалоговое окно (кнопкаЗакрыть). В окне проектирования запроса появятся имена выбранных таблиц;

6) установим тип запроса Выборка, нажав кнопкуТип запроса на панели инструментов;

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

8) аналогично во вторую колонку строкиПоле вставим имя поляИмя из таблицыСведения об учениках;

9) для упорядочения отобранных записей по алфавиту воспользуемся возможностями сортировки самого запроса. Для этого в строкеСортировкастолбцаФамилия откроем список значений и зададим сортировку данных по возрастанию;

10) аналогичные операции выполним для поляИмя таблицыСведения об учениках;

11) вставим в бланк запроса полеОценка из таблицыГодовая Успеваемость класса;

12) в бланке запроса добавим строкуГрупповые операции;

13) в поляхФамилия и Имя строкиГрупповые операции установим значение Группировка;

14) в полеОценка установим значение Avg. Нам необходимо, чтобы после запятой стояло только одно число (например, 3.4 или 4.5). Для этого надо указать формат вывода результатов в запросе. Выполним следующие операции: в строкеГрупповая операция поляОценка щелкнем правой клавишей мыши и из раскрывшегося меню выберем командуСвойства. В строкеФормат поля окнаСвойства поля введем значение Фиксированный, а в полеЧисло десятичных знаков - число 1. Можно также указать подпись поля - Средний балл;

15) сохраним запрос с именемРейтинг учеников.

Самостоятельная работа № 6

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

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

3. Создать запрос, показывающий отличников в классе.

 


Дата добавления: 2018-04-05; просмотров: 564; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!