Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Сетевое окружение\Вся сеть\Microsoft Windows Network\Asou-mo\ Fileserver2\k_it\Учебные материалы\Access\TCBIT.xls

Читайте также:
  1. Best Windows Apps 2013. Часть 1. Или приводим чистую операционную систему в рабочее состояние.
  2. Examined with deep attention the outsides of the windows.
  3. FTP- и WEB-сервер в среде Windows Server 2008
  4. Oslash; 1. РАБОТА СО СТАНДАРТНЫМИ ПРИЛОЖЕНИЯМИ WINDOWS.
  5. The small farmhouse has no wall, no bars on the windows, and no lock on the door. When I ask the owner about his vulnerability he simply chuckles and resumes his lunch.
  6. Valuable release windows
  7. Windows 95/98 бен Windows 2000-ды салыстыру

Найдите файл TCBIT.xls по указанному пути и скопируйте его в папку Лаб_Access на Вашем диске.

2. Запустите программу Excel и откройте файл TCBIT.xls.

3. Выделите всю таблицу без первой строки с заголовками столбцов и скопируйте её в Буфер обмена щелчком «мыши» по инструменту «Копировать» в Панели инструментов.

4. Закройте окно программы Excel и Вы снова увидите окно своей БД.

5. Щёлкните по значку таблицы Слушатели и затем по кнопке «Открыть». Откроется пустая таблица Слушатели.

6. Выделите всю первую ПУСТУЮ строку таблицы Слушатели и вставьте на её место нужную Вам таблицу из Буфера обмена щелчком по значку «Вставить» в Панели инструментов Access. Вы увидите готовую таблицу Слушатели, содержащую десятки строк.

7. Закройте окно таблицы Слушатели.

Создание Базы Данных завершено. Начнём пользоваться?

ТЕОРИЯ: Получение информации из базы данных при помощи запросов. Простые запросы

Запрос – это средство Access для отбора данных из БД по некоторому, формируемому Вами критерию. Результатом обработки запроса является динамический, или временный набор данных, который строится заново при каждом выполнении запроса. Динамический набор может отображаться в виде таблицы или формы.

Ранее сформированные запросы можно корректировать или использовать как основу для новых запросов.

Упражнение 15. Формирование простейшего запроса в режиме Конструктора

Формулировка запроса: «Вывести фамилии всех слушателей, пожелавших пройти обучение по специализации номер 2».

1. В окне БД выберите объект «Запросы» и щёлкните «мышью» по инструменту «Создать». Появится окно «Новый запрос».

2. В окне «Новый запрос» выделен фоном режим Конструктор, он-то Вам и нужен. Щёлкните «мышью» по кнопке ОК. Откроется окно «Запрос1: запрос на выборку» и одновременно диалоговое окно «Добавление таблицы».

3. Добавьте таблицу Слушатели, которая содержат нужные данные. Для этого выберите её «мышью» и щёлкните по кнопке «Добавить». Закройте окно «Добавление таблицы» кнопкой «Закрыть».

4. Отрегулируйте положение и размеры отображения таблицы Слушатели в верхней части окна «Запрос1: запрос на выборку» так, чтобы были видны имена всех полей. Высоту верхней части окна можно изменять «мышью». В нижней части окна Вы формируете запрос. Её высоту тоже можно настраивать «мышью», как и высоту всего окна.

5. Перенесите «мышью» поле ЗаявСпециал из таблицы Слушатели в верхней части окна в строку «Поле:» первого столбца запроса. Проще всего это сделать ДВОЙНЫМ щелчком «мыши» по полю ЗаявСпециал – и оно вставится в первый столбец конструктора запросов.

6. В первом столбце в строке «Условие отбора:» введите 2.

7. Вставьте ДВОЙНЫМ щелчком «мыши» поле Фамилия из таблицы Слушатели во второй столбец запроса. Запрос готов.

8. Сохраните запрос командой Файл - Сохранить или щёлкните «мышью» по кнопке инструмента «Сохранить», введите имя запроса «СлушателиПоСпец2» и щёлкните по кнопке ОК.

9. Выполните Запрос командой Запрос - Запуск или щёлкните «мышью» по инструменту «Запуск» . Появляется таблица со списком пожелавших обучаться по специализации номер 2 (машинопись) – результат обработки запроса.

10. Закройте окно результата запроса щелчком по его кресту. В окне БД в списке запросов появляется значок нового запроса с указанным Вами именем. Он выделен темным фоном. Не снимайте выделение!

Упражнение 16. Создание нового запроса «Машинопись» путём доработки в режиме Конструктора существующего запроса «СлушателиПоСпец2»

В созданном только что запросе выводится список слушателей, пожелавших пройти (но необязательно фактически прошедших) обучение по специализации номер 2. Создадим на его основе новый запрос с формулировкой: «Вывести фамилии всех слушателей, прошедших обучение машинописи, с указанием сроков обучения».

Фактическое прохождение обучения определяется зачислением слушателя в одну из учебных групп. Пока слушатель не зачислен в группу, в поле Группа таблицы Слушатели находится значение «-».

1. Выберите в окне Вашей БД объект «Запрос» в списке объектов слева, если был выбран другой объект.

2. Выделите «мышью» Запрос СлушателиПоСпец2, если он не выделен, затем щёлкните по инструменту «Копировать» и сразу по инструменту «Вставить» в Панели инструментов Access. Появится окно «Вставка», в котором введите имя копии запроса, а именно «Машинопись» (без кавычек) и щёлкните по кнопке ОК. Значок нового запроса выделен. Не снимайте выделения!

3. Откройте окно конструирования запроса Машинопись, для чего щёлкните «мышью» по значку «Конструктор» .

4. Добавьте в запрос таблицу Группы, которая содержит данные о сроках обучения. Для этого выполните команду Запрос – Отобразить таблицу или щёлкните «мышью» по инструменту «Отобразить таблицу» , – появится окно «Добавление таблицы». Выберите «мышью» таблицу Группы и щёлкните по кнопке «Добавить». Закройте окно «Добавление таблицы» кнопкой «Закрыть».

5. В нижней части окна Конструктора в первом столбце в строке «Имя таблицы:» выберите в выпадающем списке таблицу Группы вместо таблицы Слушатели. В строке «Поле:» выберите в выпадающем списке поле КодСпециал вместо поля ЗаявСпециал. Теперь номер специализации будет проверяться по таблице Группы, что означает фактическую специализацию, по которой пройдено обучение.

6. Из таблицы Группы поместите в запрос ДВОЙНЫМ щелчком «мыши» поля Начало (в 3-й столбец) и Окончание (в 4-й столбец). Из таблицы Слушатели поместите поле Группа (в 5-й столбец).

7. В последнем, 5-м столбце уберите «галочку» в строке «Вывод на экран». Затем здесь же в строке «Условие отбора:» введите <>’-‘ Это выражение означает отбор только тех слушателей, которые были зачислены в группы, поскольку знак '-' означает отсутствие группы, а Вы записали в условии «не равно ‘-‘».

8. Выполните запрос командой Запрос - Запуск или щёлкните «мышью» по значку «Запуск» . Обратите внимание, этот запрос вывел меньше записей, чем предыдущий. Это значит, что фактически обучились машинописи не все, кто желал.

9. Сохраните доработанный запрос щелчком по значку «Сохранить» и закройте его.

Упражнение 17. Создание Запроса «СпискиГрупп». Использование фильтра при выполнении запроса

Запрос предназначен для формирования списков слушателей по группам в алфавитном порядке.

1. В окне Базы данных выберите объект «Запросы» и щёлкните по кнопке «Создать». Появится окно «Новый запрос».

2. В этом окне для выбора способа создания запроса Конструктор (первый в списке) щёлкните по ОК. Появится окно Конструктора и окно «Добавление таблицы».

3. Из окна «Добавление таблицы» последовательно добавьте в окно Конст­руктора таблицы Группы и Слушатели и закройте окно «Добавление таблицы».

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

5. Выберите ДВОЙНЫМ щелчком «мыши» из таблицы Группы поле НомерГруппы. Оно попадёт в 1-й столбец Конструктора запросов. Из таблицы Слушатели точно также ДВОЙНЫМ щелчком «мыши» поместите поля Фамилия, Имя, Отчество во 2-й, 3-й и 4-й столбцы конструктора запросов.

6. В первом столбце в строке «Условие отбора:» введите условие <>’-‘ (не равно '-'), что означает отбор только тех слушателей, которые были зачислены в группы.

7. В столбцах с первого по третий в строке «Сортировка:» выберите в выпадающем списке вариант «по возрастанию».

8. Запрос готов. Сохраните его под именем «СпискиГрупп».

9. Проверьте работу запроса, перейдя в режим таблицы щелчком «мыши» по инструменту «Вид» в панели инструментов Access. Вы увидите списки всех групп в алфавитном порядке.

10. Чтобы просмотреть список слушателей не всех групп, а какой-нибудь одной группы, выберите «мышью» ячейку с номером любой группы, а затем щёлкните по инструменту «Фильтр по выделенному» в панели инструментов Access. В таблице останутся только записи, относящиеся к выбранной группе, остальные записи будут скрыты.

Чтобы снова увидеть все списки, щёлкните «мышью» по инструменту «Удалить фильтр» .

11. Применяя и удаляя фильтр по номеру группы, просмотрите списки слуша­телей нескольких групп.

12. Закройте запрос.

ТЕОРИЯ: Параметрические запросы

Рассмотренные выше запросы можно назвать постоянными, так как условия отбора данных заданы жёстко. Существуют параметрические запросы, в которых некоторые значения (параметры) вводятся в диалоге при выполнении запроса.

Упражнение 18. Формирование параметрического запроса

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

1. Аналогично предыдущему упражнению в окне базы данных скопируйте запрос Машинопись при помощи инструментов «Копировать» и «Вставить». Новому запросу присвойте имя «ОбученыПоСпециализации».

2. Перейдите в режим Конструктора щелчком по инструменту «Конструктор».

3. Вместо значения 2 в строке «Условие отбора» в поле КодСпециал введите обязательно в квадратных скобках: [Номер специализации]. Текст в квадратных скобках будет выводиться в диалоге при обработке запроса.

4. Выполните команду меню Запрос - Параметры... Открывается диало­говое окно «Параметры запроса». В первой строке в поле «Параметр» введите слова «Номер специализации» (без кавычек), перейдите в поле «Тип данных» и выберите в выпадающем списке «Длинное целое». Закройте диалоговое окно кнопкой ОК.

5. Параметрический запрос готов. Сохраните его ещё раз щелчком «мыши» по кнопке «Сохранить» и закройте окно запроса.

6. Откройте параметрический запрос щелчком «мыши» по кнопке «Открыть». Появится диалоговое окно «Введите значение параметра». Введите число 1 и щёлкните по кнопке ОК. Вы получите список слушателей по специализации номер 1 (Windows с «нуля»).

7. Закройте окно Запроса с параметром.

Упражнение 19. Формирование параметрического запроса «Справка»

Формулировка запроса: «Вывести фамилию, имя, отчество, специализацию и сроки обучения конкретного слушателя, прошедшего обучение в УЦ «БИТ»».

1. В окне БД выберите объект «Запрос», если был выбран другой объект, и щёлкните «мышью» по инструменту «Создать». Появится окно «Новый запрос».

2. В окне «Новый запрос» выделен фоном режим Конструктор; щёлкните «мышью» по кнопке ОК. Откроется окно конструктора «Запрос<n>: запрос на выборку» и одновременно диалоговое окно «Добавление таблицы».

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

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

5. Вставьте ДВОЙНЫМ щелчком «мыши» поля Фамилия, Имя и Отчество из таблицы Слушатели в первый, второй и третий столбцы запроса.

6. Вставьте ДВОЙНЫМ щелчком «мыши» поля КодСпециал, Начало и Окончание из таблицы Группы в верхней части окна поочерёдно соответственно в четвёртый, пятый и шестой столбцы запроса.

7. В первом столбце в строке «Условие отбора:» введите в квадратных скобках слова: [Фамилия слушателя:]. Запрос готов.

8. Сохраните запрос под именем «Справка» (без кавычек) и закройте его. В окне БД в списке запросов появляется значок нового запроса с именем «Справка».

9. Выделите значок запроса «Справка» и откройте запрос щелчком по значку «Открыть». Появляется окно «Введите значение параметра». Введите фамилию Михайлов и щёлкните по ОК. Вы увидите результат Вашего параметрического запроса.

Этот запрос Вам понадобится для выдачи справок слушателям о сроках их обучения в УЦ «БИТ» в виде объектов-отчётов.

10. Закройте окно с результатом параметрического запроса.

Упражнение 20. Создание параметрического Запроса для расчёта учебной нагрузки преподавателей за месяц

В дальнейшем Вам потребуется запрос, который выдаёт количество учебных часов занятий, проведённых каждым преподавателем по каждой специализации за указанный промежуток времени, как правило, за месяц. Границы промежутка времени целесообразно задать в виде двух параметров запроса: ПериодНачало (Дата начала обучения) и ПериодКонец (Дата окончания обучения).

1. В окне базы данных выберите объект «Запросы» и щёлкните по кнопке «Создать». Появится окно «Новый запрос».

В этом окне выберите способ создания запроса – Конструктор.

2. Включите в запрос последовательно таблицы: Преподаватели, Группы, Специализации.

3. Настройте размеры изображения таблиц в верхней части окна конструк­тора так, чтобы были хорошо видны все поля и связи.

4. Поместите в последовательные столбцы таблицы Конструктора поле Фамилия из таблицы Преподаватели, поля Специализация, Объем из таблицы Специализации, поля Начало, Окончание из таблицы Группы.

5. Вместо имени поля Фамилия таблицы Преподаватели в Конструкторе необходимо ввести следующее выражение (с пробелом между кавычуками):

Преподаватель: [Фамилия] & " " & [Имя] & " " & [Отчество]

Это позволит вместо поля Фамилия подставлять одновременно фамилию, имя и отчество преподавателя.

6. Вместо имени поля Объем таблицы Специализации в Конструкторе необходимо ввести следующее выражение, в котором используется функция Iif() языка программирования Visual Basic for Applications (описание этой и некоторых других функций приведено в Приложении 4):

Нагрузка: Объем * iif(Группы!Начало >= [ПериодНачало] And Группы!Окончание <= [ПериодКонец]; 1; 0,5)

Вы сделаете это при помощи Построителя выражений в следующем упражнении, а сейчас введите выражение «вручную».

Смысл введённого выражения можно передать следующими словами:

«Если период занятий группы, заданный полями Начало и Окончание таблицы Группы, полностью принадлежит интервалу, задаваемому параметрами запроса [ПериодНачало] и [ПериодКонец], то берётся весь этот период – умножается на 1. В противном случае берётся половина периода – умножается на 0,5».

7. В столбце с полем Начало в строке «Условие отбора:» введите в точности следующее выражение:

Between [ПериодНачало] And [ПериодКонец]

На языке баз данных это эквивалентно отношению:

[ПериодНачало] £ [Дата начала обучения] £ [ПериодКонец]

8. В столбце с полем Окончание в строке «или:» скопируйте условие отбора из предыдущего столбца:

Between [ПериодНачало] And [ПериодКонец]

На языке баз данных это эквивалентно отношению:

[ПериодНачало] £ [Дата окончания обучения] £ [ПериодКонец]

На русском языке смысл пунктов 6-7 можно сформулировать так.

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

9. Выполните команду меню Запрос - Параметры... Открывается диало­говое окно «Параметры запроса».

В первой строке в столбце «Параметр» введите «ПериодНачало» (без кавычек), перейдите в столбец «Тип данных» и выберите в выпадающем списке «Дата/Время».

Во второй строке в столбце «Параметр» введите «ПериодКонец» (без кавычек), перейдите в столбец «Тип данных» и выберите в выпадающем списке «Дата/Время». Закройте диалоговое окно кнопкой ОК.

10. Сохраните запрос под именем «УчебнаяНагрузкаПреподавателей». Про­верьте выполнение запроса. Для параметра ПериодНачало введите 01.03.2007, затем для параметра ПериодКонец введите 31.03.2007, то есть задайте определение нагрузки преподавателей за март 2007 года.

11. Закройте окно запроса.

Упражнение 21. Создание Запроса «Учебная_Нагрузка_Преподавателей» с использованием Построителя выражений

1. В окне базы данных выберите объект «Запросы» и щёлкните по кнопке «Создать». Появится окно «Новый запрос».

В этом окне выберите способ создания запроса – Конструктор.

2. Включите в запрос последовательно таблицы: Преподаватели, Группы, Специализации.

3. Настройте размеры изображения таблиц в верхней части окна конструк­тора так, чтобы были хорошо видны все поля и связи.

4. Поместите в последовательные столбцы таблицы Конструктора поля Фамилия, Имя, Отчество из таблицы Преподаватели, поля Специализация, Объем из таблицы Специализации, поля Начало, Окончание из таблицы Группы.

5. Вместо имени поля Объем таблицы Специализации введите следующее выражение:

Нагрузка: Объем * iif(Группы!Начало >= [ПериодНачало] And Группы!Окончание <= [ПериодКонец]; 1; 0,5)

при помощи Построителя выражений. Для этого:

5.1. Позиционируйте курсор перед именем поля Объем таблицы Специализации и щёлкните «мышью» по инструменту «Построить» в панели инструментов Конструктора запросов . – открывается окно Построителя выражений:

5.2. В окне построителя перед словом «Объём» введите «Нагрузка:» (с двоеточием без кавычек), а после слова «Объём»вставьте знак умножения Ý.

5.3. В левой нижней области окна построителя ДВОЙНЫМ щелчком «мыши» разверните группу «Функции». В развернувшемся поддереве выберите щелчком папку «Встроенные функции».

5.4. В средней нижней области окна построителя выберите щелчком группу функций «Управление». В правой нижней области окна построителя выберите щелчком функцию iif – «i mmediate if - непосредственное если». Внизу окна построителя отображается краткое описание функции.

5.5. Щёлкните по кнопке «Вставить» – функция добавляется в выражение. При этом обозначаются три аргумента функции:

«expr» – первый аргумент: логическое выражение (условие); от expr ession – выражение;

«truepart» – второй аргумент: выражение, которое вычисляется, если условие выполнено: (true – истинный);

«falsepart» – третий аргумент: выражение, которое вычисляется, если условие не выполнено: (false – ложный);

5.6. Щёлкните по первому аргументу «expr» – аргумент выделяется фоном. В левой нижней области окна построителя двойным щелчком разверните группу «Таблицы». В развернувшемся поддереве выберите щелчком папку «Группы». В средней нижней области окна построителя отображаются поля таблицы Группы.

5.7. В средней нижней области окна построителя выберите щелчком поле Начало и щёлкните по кнопке «Вставить». В области выражения щёлкните по слову «Выражение», чтобы выделить его, затем щёлкните последовательно по кнопкам операций «>», «=». В выражении все символы, включая пробелы, между > и = нужно удалить! Получилась операция отношения «больше или равно» (можно было просто ввести с клавиатуры два символа подряд, без пробела, >=).

5.8. Справа от операции отношения, перед точкой с запятой, введите [ПериодНачало]. Затем вставьте And щёлком по кнопке операции «And».

5.9. Действуя аналогично пп. 5.7-5.8, сформируйте вторую часть условия [Группы]![Окончание]<=[ПериодКонец] (см. выше готовую формулу).

5.10. Щёлкните по второму аргументу «truepart» – аргумент выделяется фоном. Введите с клавиатуры число 1

5.11. Щёлкните по третьему аргументу «falsepart» – аргумент выделяется фоном. Введите с клавиатуры число 0,5

Выражение готово. Щёлкните по кнопке ОК. Смысл этого выражения можно передать следующими словами.

Если период занятий группы, заданный полями Начало и Окончание таблицы Группы, полностью принадлежит интервалу, задаваемому параметрами запроса [ПериодНачало] и [ПериодКонец], то берётся весь этот период (1). В противном случае берётся половина периода (0,5).

6. В столбце Начало в клетке «Условие отбора:» введите «вручную» в точности следующий текст (использование построителя выражений в данном случае не даёт реального выигрыша, так как «[ПериодНачало]» и «[ПериодКонец]» всё равно придётся вводить с клавиатуры):

Between [ПериодНачало] And [ПериодКонец]

Это выражение на языке баз данных это эквивалентно отношению:

[ПериодНачало] £ [Дата начала обучения] £ [ПериодКонец]

7. В столбце Окончание в клетку «или:» скопируйте условие отбора из предыдущего столбца:

Between [ПериодНачало] And [ПериодКонец]

На языке баз данных это эквивалентно отношению:

[ПериодНачало] £ [Дата окончания обучения] £ [ПериодКонец]

На русском языке смысл пунктов 5-7 можно сформулировать так.

Отобрать учебные группы, для которых дата начала обучения или дата окончания обучения приходятся на указанный параметрами запроса промежуток времени. Для этих групп взять объём учебных часов, причём, если весь период обучения лежит в указанном промежутке времени, то берётся полный объём часов по специализации (коэффициент 1), иначе берётся половина объёма часов (коэф­фициент 0,5).

8. Выполните команду меню Запрос - Параметры... Открывается диалого­вое окно «Параметры запроса».

В первой строке в поле «Параметр» введите «ПериодНачало» (без кавычек), перейдите в поле «Тип данных» и выберите в выпадающем списке «Дата/Время».

Во второй строке в поле «Параметр» введите «ПериодКонец» (без кавычек), перейдите в поле «Тип данных» и выберите в выпадающем списке «Дата/Время». Закройте диалоговое окно кнопкой ОК.

9. Сохраните запрос под именем «Учебная_Нагрузка_Преподавателей». Проверьте выполнение запроса. Для параметра ПериодНачало введите 01.03.2007, для параметра ПериодКонец введите 31.03.2007, то есть задайте определение нагрузки преподавателей за март 2007 года.

10. Закройте окно запроса.

ТЕОРИЯ: Запросы с группировкой

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

Групповыми операциями являются: Count – подсчёт количества записей, Sum – суммирование значений, Max, Min – определение максимального и минимального значений, Avg – вычисление среднего и др.

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

Упражнение 22. Создание Запроса «ИнфоГрупп»

1. В окне базы данных выберите объект «Запросы» и щёлкните по кнопке «Создать». Появится окно «Новый запрос».

2. В этом окне выберите способ создания запроса – Конструктор.

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

4. Поместите поля Группа, РегНомер и СуммаОплаты ДВОЙНЫМ щелчком «мыши» в 1-й, 2-й и 3-й столбцы таблицы Конструктора.

5. Включите режим группировки данных с помощью инструмента «Групповая операция» на панели инструментов. После этого в таблице Конструктора запросов в строке «Групповая операция:» в трёх столбцах появится выпадающий список групповых операций под именем «Группировка».

6. Во втором столбце выберите в выпадающем списке «Группировка» операцию Count, т.е. подсчёт количества записей с одинаковыми значениями в поле Группа.

7. Перед именем поля РегНомер вставьте, т.е. введите псевдоним «Слушателей:» (с двоеточием и пробелом, но без кавычек).

8. В третьем столбце выберите в выпадающем списке «Группировка» операцию Sum, т.е. подсчёт суммы оплаты (выручки) слушателей с одинаковыми значениями в поле Группа.

9. Перед именем поля СуммаОплаты вставьте, т.е. введите псевдоним «Выручка:» (с двоеточием и пробелом, но без кавычек).

10. Проверьте работу запроса щелчком по инструменту «Запуск» . Запрос показывает количество слушателей и выручку в каждой группе. Обратите внимание на «группу номер -». Значение поля Слушателей для неё – это количество слушателей, не зачисленных ни в одну группу.

11. Сохраните запрос под именем «ИнфоГрупп» и закройте окно запроса.

ТЕОРИЯ: Каскадные запросы

Простые запросы извлекают данные из одной-двух таблиц. Сложные запросы извлекают данные из нескольких таблиц и других запросов. Так могут образовы­ваться цепочки (каскад) запросов, осуществляющих последовательный отбор данных. Вам предстоит создать сложный запрос ДляПриказа, в котором используются ранее созданные запросы СпискиГрупп и ИнфоГрупп. Запрос ДляПриказа понадобится Вам при создании отчёта Приказ.

Упражнение 23. Создание каскадного Запроса «ДляПриказа»

1. В окне Базы Данных выберите объект «Запросы» и щёлкните по кнопке «Создать». Появится окно «Новый запрос». В этом окне выберите способ создания запроса Конструктор. Появятся окно Конструктора и окно «Добавление таблицы».

2. В окне «Добавление таблицы», на вкладке «Таблицы», последовательно добавьте в Конструктор запросов таблицы Преподаватели, Группы, Специали­зации, а из вкладки «Запросы» добавьте запрос ИнфоГрупп. Закройте окно «Добавление таблицы».

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

4. В окне Конструктора должны автоматически отобразиться связи таблиц Преподаватели и Группы по одноимённым полям КодПрепод, таблиц Специали­зации и Группы по одноимённым полям КодСпециал в том виде, как они представлены в Схеме данных. Связь таблицы Группы с запросом ИнфоГрупп по полям соответственно НомерГруппы и Группа необходимо установить «вручную», протаскивая «мышь» от одного поля к другому.

5. Выберите в таблицах и переместите в соответствующие столбцы Конструктора нужные для запроса поля (в столбцы 1, 2, 3, 4, 5), а другие поля (в столбцах 6, 7, 8) введите в соответствии с нижеследующей вспомогательной таблицей.

Поля запроса ДляПриказа в окне Конструктора

Поле: НомерГруппы Специализация Слушателей Начало Окончание
Имя таблицы: Группы Специализации ИнфоГрупп Группы Группы
Условие отбора: <>’-‘        

(продолжение таблицы)

Время: Choose([Группы]![Смена]; «9 - 12 час»; «12 - 15 час»; «15 - 18 час»; «18 - 21 час») Преподаватель: [Преподаватели]![Фамилия] & «» & Left([Преподаватели]![Имя]; 1) & «.» & Left([Преподаватели]![Отчество]; 1) & «.» Менеджер: «Волкова И.М.»
     
     

Пояснение к таблице «Поля запроса ДляПриказа»:

1) В столбце 1 (НомерГруппы) в строке «Условие отбора» указано условие выбора только сформированных групп. Несформированные группы отмечены как ‘-‘.

2) В столбцах 6 и 7 значения полей формируются с использованием функций языка программирования Visual Basic. Будьте внимательны при вводе скобок и знаков препинания – здесь требуется абсолютная точность.

3) В поле с псевдонимом «Время:» с помощью функции Choose (выбрать) по номеру смены 1, 2, 3 или 4 выбирается время занятий: «9 -12 час», «12 -15 час» и т.д.

4) В поле с псевдонимом «Преподаватель:» из значений полей Фамилия, Имя, Отчество, например, Иванов Иван Иванович, формируется фамилия с инициалами: Иванов И.И. ВАЖНО: после поля [Фамилия] в кавычках стоит ПРОБЕЛ!

5) В поле с псевдонимом «Менеджер:» подставляются конкретная фамилия и инициалы менеджера (в кавычках), которые указываются в приказе, но отсутствуют в базе данных. Так тоже можно!

6. Сохраните запрос под именем «ДляПриказа».

7. Проверьте работу запроса щелчком по инструменту «Запуск». Он отбирает из базы все данные, необходимые для формирования приказа о зачислении слушателей. Этот запрос выводит данные по всем группам. Чтобы оставить данные только для одной группы, при использовании запроса нужно применить фильтр.

8. Закройте окно запроса.

ТЕОРИЯ: Перекрёстные запросы

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

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

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

Упражнение 24. Создание перекрёстного запроса «Подготовлено
Слушателей»

1. В окне Базы Данных выберите объект «Запросы» и щёлкните по кнопке «Создать». Появится окно «Новый запрос». В этом окне выберите способ создания запроса Конструктор. Появятся окно Конструктора и окно «Добавление таблицы».

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

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

4. В заголовке окна Конструктора запросов указано «запрос на выборку». Этот тип Запроса нужно поменять на «перекрёстный запрос». Для этого:

4.1. На панели инструментов найдите инструмент «Тип запроса» (он имеет кнопку выпадающего списка).

4.2. Раскройте список и выберите тип Перекрёстный. Обратите внимание на то, что вид таблицы в нижней части окна изменился!

5. Заполните ячейки таблицы в нижней части окна Конструктора запросов в соответствии со следующей таблицей.

Табл. 10. Таблица в окне конструктора перекрёстного запроса


Дата добавления: 2015-10-29; просмотров: 83 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
ВАША НОВАЯ ЗАДАЧА ПРИ ИЗУЧЕНИИ Access| Пояснение к таблице

mybiblioteka.su - 2015-2024 год. (0.034 сек.)