Что такое запрос с параметром в access. Запросы выборки данных в Access: Создание запроса с параметром, создание перекрестного запроса


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

· Создайте запрос для следующих полей таблицы Преподаватели: Фамилия, Имя, Отчество, Дисциплина . Запрос создайте как Простой запрос аналогично тому, как это делалось в п.1.

· Задайте имя запросу Преподаваемые дисциплины. Щелкните по кнопке Готово. На экране появится таблица с результатами.

· Перейдите в режим конструктора, щелкнув по кнопке или выполнив команду Вид/ Конструктор .

· В строке Условия отбора для поля Фамилия введите фразу (скобки тоже вводить): [Введите фамилию преподавателя:].


· Выполните запрос, щелкнув по кнопке на панели инструментов или выполните команду Запрос/ Запуск .

· В появившемся окне введите фамилию Гришин и щелкните по кнопке ОК .

· На экране появится таблица с данными о преподавателе Гришине – его имя, отчество и преподаваемая дисциплина.

· Сохраните запрос, щелкнув по кнопке или выполнив команду Файл/ Сохранить

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

Отчеты.

Отчет – форматированное представление данных для вывода на принтер, экран или в файл.

На основе таблицы Преподаватели создайте отчет с группированием данных по должностям. Для создания отчета:

· В окне базы данных Преподаватели выберите объект Отчеты и щелкните по кнопке Создать .

· В открывшемся окне Новый отчет выберите пункт Мастер отчетов .

· Щелкните по значку раскрывающегося списка в нижней части окна. Выберите из появившегося списка таблицу Преподаватели . Щелкните по кнопке ОК .

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

· В появившемся окне присутствует перечень полей. Выделите поле Должность . Щелкните по кнопке . Таким образом вы задаете группировку данных по должности. Щелкните по кнопке Далее .

· В появившемся окне выберите порядок сортировки: сначала по полю Фамилия , затем по полю Имя , затем по полю Отчество .

· Нажмите на кнопку Итоги . Подведите итоги по Зарплате , выбрав функцию Sum . ОК .

· В появившемся окне выберите макет для отчета.

· В появившемся окне выберите стиль оформления отчета. Щелкните по кнопке Далее .

· В появившемся окне введите название отчета Преподаватели .

· Щелкните по кнопке Готово. На экране появится сформированный отчет.

· Просмотрите отчет. Зайдите в режим конструктора отчетов (кнопка ) и измените название поля Sum на ИТОГО:. Для этого в режиме конструктора щелкните правой кнопкой мыши полю Sum. В раскрывшемся контекстном меню выберите Свойства .

· Выберите вкладку Макет , затем свойство Подпись . Удалите слово и введите Итого :.

· Перейдите в режим просмотра отчета, нажав кнопку или выбрав команду меню Вид/ Предварительный просмотр.

· Просмотрите, а затем закройте отчет.

· Завершите работу с СУБД MS Access.


Занятие 3. Связи между таблицами.

Виды связей.

3.1.1. Связь 1:1 (один к одному).

При связи 1:1 (один к одному) каждой записи первой таблицы соответствует одна запись второй и наоборот.


Например:

Таблицы связаны по полю «Фамилия И.О.», в обоих таблицах по этому полю должен существовать уникальный индекс или ключ.

Такой вид связи встречается редко. Графически изображается:

3.1.2. Связь 1:M (один ко многим).

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


Например:

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

Это основной вид связи, встречается наиболее часто. Графически изображается:

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

3.1.3. Связь M:M (много ко многим).

Одной записи первой таблицы может соответствовать одна или несколько записей второй таблицы, либо не соответствовать ни одной записи и наоборот.

Например:

Каждый студент сдает зачеты и экзамены по многим предметам. По каждому предмету сдают зачеты и экзамены многие студенты.

Графическое изображение:

Например:

3.2. Создание базы данных со связью 1:М.

Создание таблиц.

Создадим базу данных «Продажа автомобилей», состоящую из двух таблиц: «Поставщики» и «Автомобили», связанную отношением 1:M.

14. Запустите MS Access: Пуск/ Программы/ Microsoft Access .

15. В диалоговом окне при старте Access выберите опцию Создание базы данных – Новая база данных и щелкните ОК . В диалоговом окне Файл новой базы данных выберите свою папку и задайте имя базы данных Автомагазин.mdb .

16. В окне СУБД Access выберите объект Таблицы , в правой области окна выберите вариант Создание таблицы в режиме конструктора.


17. В режиме конструктора таблицы в столбце Имя поля введите имя Марка . В столбце Тип данных оставьте тип Текстовый . В столбце Описание введите описание данных, которые будет содержать это поле, например, марка автомобиля . Перейдите в бланк Свойства поля в нижней части окна и задайте значения Размер поля: 30 символов .

18. Действуя аналогично, задайте названия для полейОбъем двигателя, Цвет , укажите тип и свойства данных для этих полей, в соответствии с таблицей:

6. Щелкните по полю «Тип кузова». Перейдите на вкладку Подстановка. Выберите тип элемента управленияСписок.

7. Выберите Тип источника строк - Список значений . В стоку Источник строк введите: седан;комби;хетчбек .

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


9. Сохраните структуру таблицы командой Файл/ Сохранить как . В диалоговом окне Сохранение задайте имя таблицы Автомобили , в поле Как выберите вариант Таблица и щелкните ОК для сохранения.

10. Закройте окно конструктора таблицы. После этого в окне базы данных Автомагазин на вкладке Таблицы появится новый объект – таблица Автомобили .

11. Сохраните таблицу, щелкнув кнопку Сохранить на панели инструментов, и закройте ее.

12. Создайте таблицу Поставщики , описав поля следующим образом:

13. В качестве ключевого поля укажем поле Фирма, значения которого в таблице являются уникальными. Закроем таблицу Поставщики с сохранением структуры.

Создание связи между таблицами.

Установим связь между таблицами Автомобили и Поставщики. Для этого:

1. Выберем команду Схема данных в меню Сервис . После этого раскроется пустое окноСхема данных , а в главном меню Access появится новый пункт меню Связи .

2. В диалоговом окне Добавление таблицы выберем вкладкуТаблицы . Выбирая из списка таблиц открытой базы данных Автомагазин и щелкая кнопкуДобавить , добавим в окно схемы данных таблицы Автомобили и Поставщики.

3. Закроем окно Добавление таблицы , щелкнув кнопку Закрыть .

4. Для установки связи между двумя таблицами выделим имя поля с первичным ключом (Фирма) главной таблицы Поставщики и перетащим его, используя левую кнопку мыши, на поле Поставщик подчиненной таблицыАвтомобили. Как только вы отпустите левую кнопку мыши, на экране появится диалоговое окно Изменение связей .

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

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

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

Запросы с параметрами работают по двум вариантам:

· отбор данных происходит в отдельном диалоговом окне. Такие диалоговые окна существуют в любой справочной системе, где вводится вопрос, и программа ищет ответ;

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

1. Диалоговое окно для запроса

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

Любой запрос начинается с создания простого запроса, а так как предстоит дополнительная работа, то создавать его лучше в режиме Конструктора.

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

[введите:КодТовара].

После слова «введите» указывается название поля (рис. 18).

Рис. 18. Создание запроса с параметром

При проверке или запуске запроса открывается диалоговое окно Введите значение параметра (рис. 19), в котором пользователю предлагают ввести параметры. Какой параметр внести, указано на сером фоне окна, а в текстовом окне мигает курсор, дожидаясь ввода данных с клавиатуры.

Рис. 19. Диалоговое окно Введите значение параметра

После ввода параметра в диалоговом окне Введите значение параметра нажмите ОК, и на экране появится таблица с выбранными параметрами (рис. 20).

Рис. 20. Результат действия запроса с параметром

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

2. Отбор данных в таблице запроса

Запросы с отбором данных считаются рабочими. Все начинается с простого запроса. В режиме Конструкторав строке Условие отбора в столбце, где необходимо произвести отбор, указываются критерии отбора. В этом случае они записываются в кавычках с указанием данных из записи или с помощью математических знаков (например, "тетради", <5)..

Итоговые запросы

В данном виде запросов выполняются математические итоговые вычисления или статистические расчеты.

При выполнении итогового запроса записи следует сгруппировать по какому-либо признаку (название товара, дата продажи и т.д.).

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

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

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

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

Рис. 21. Создание итогового запроса

Функции в раскрывающемся списке имеют краткое обозначение (табл. 11).

Таблица 11 Функции групповых операций.

Элемент Результат Тип поля
Sum Сумма значений поля. «Числовой». «Дата/время». «Денежный» и «Счетчик»
Avg Среднее от значений поля. «Числовой». «Дата/время», «Денежный» и «Счетчик»
Min Наименьшее значение поля.
Мах Наибольшее значение поля. «Текстовый», «Числовой», «Дата/время»,«Денежный»
Count Число значений поля без учета пустых значений. «Текстовый», «Числовой», «Дата/время».
StDev Среднеквадратичное отклонение от среднего значения поля.
Var Дисперсия значений поля. «Числовой», «Дата/время», «Денежный» и «Счетчик»
First Значение первой записи поля «Текстовый», «Числовой», «Дата/время», «Денежный»
Last Значение последней записи поля «Текстовый», «Числовой», «Дата/время», «Денежный»

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

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

Рассмотрим создание параметрического запроса на простом примере. В таблице Товары для каждого из товаров указана его фиксированная цена (поле ЦенаПродажи). Предположим, что в рамках предпраздничных акций на все товары объявляется некоторая скидка, величина которой может изменяться. Чтобы вычислить новые цены на товары с учетом той или иной скидки, можно создать запрос с параметром, в роли которого и будет выступать величина скидки.

Бланк запроса приведен на рис.1. Как видно, в бланке запроса создается новое вычисляемое поле, Цена со скидкой, в ячейку Поле которого вводится следующая формула: Цена со скидкой: [ЦенаПродажи]*(1-[Скидка в процентах]/100).

Рис. 1. Бланк запроса с одним параметром

При выполнении запроса программа Access открывает диалоговое окно Введите значение параметра , куда необходимо ввести нужную для вычислений величину (рис.2).

Рис. 2. Диалоговое окно Введите значение параметра

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

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

Параметры могут использоваться также для ввода критерия отбора записей. Такой подход целесообразен, если заранее предполагается, что запрос будет запускаться неоднократно, но одно или несколько условий придется изменять. Например, в запросе к таблице Клиенты , отображающем список всех клиентов с указанием их данных, можно запрашивать наименование фирмы клиента. Тогда при каждом запуске запроса название фирмы, введенное пользователем в диалоговое окно Введите значение параметра , будет преобразовано в условие отбора, и в результирующую таблицу программа Access включит только те записи, которые соответствуют этому критерию. На рис.4 приведен бланк и диалоговое окно ввода такого запроса, в котором для поля Фирма в строке Условие отбора вместо конкретного значения указана подсказка для ввода параметра – [Введите название фирмы ].

Использование окна запроса

1. Создание простого запроса

Откроем базу данных STUD, как было рассмотрено в ЛР1. Создадим запрос, выводящий информацию о студентах, у которых имеются задолженности.

Для создания запроса активизируем окно базы данных (см. ЛР1). После этого щелкнем по корешку "Запрос" и кнопке "Создать". В появившемся диалоговом окне "Создание запроса" выберите кнопку "Конструктор". Access откроет диалоговое окно "Добавление таблицы", позволяющее выбрать базовые таблицы и запросы для создаваемого запроса. Выберите таблицы "Результаты" и "Cтуденты", нажимая кнопку "Добавить", после чего закройте это окно кнопкой "Закрыть".

Открывшееся окно конструктора запросов состоит из двух частей: верхняя содержит списки полей выбранных таблиц, а нижняя - бланк QBE для создания запроса. Каждый столбец бланка описывает одно поле, участвующее в запросе.

Включение поля в запрос производится перетаскиванием его из списка полей таблиц (расположенного в верхней части экрана) в нужный столбец бланка QBE при помощи мышки. Включение всех полей таблицы происходит перетаскиванием символа "*", находящегося вверху списка полей данной таблицы в верхней части экрана.
Включите в запрос поля таблицы "Результаты":

Предмет
Номер_С

перетащив их в бланк QBE . Рассмотренным выше методом перетащите из таблицы “Студенты” поле Фамилия.


Запрос “Задолженность” будет иметь вид, как показано на рисунке.
Установка связей между таблицами производится автоматически, используя структуру связей, созданную при генерации проекта БД. Можно задавать другие варианты связи таблиц и иные типы связей (внешнее объединение, "один-к-одному", "один-ко-многим" и т.д.). Изменение связей производится в верхней части окна выбором связанного поля в описании одной таблицы и транспортировкой его при нажатой кнопке мышки на описание соответствующего поля связанной таблицы. Тип связи можно изменить, активизировав ее щелчком мышки на линии связи.

Условие для отбора нужных нам полей производится включением этого условия для данного поля в строке QBE "Условие отбора". Несколько значений отбора вводятся в одну строку, разделенные логическими условиями AND или OR, либо вводятся в последующие ячейки строки "или".
Установим для таблицы "Результаты" условие отбора студентов, у которых задолженности, для чего в столбец описания поля внесем строку "Задолженность" из таблицы "Результаты", и в строке "Условие отбора" введем:
Да

Сбросим для этого поля флажок "Показать", запрещающий вывод данного поля в выборке (т.к его не обязательно выводить).
Кроме стандартных операторов сравнения "=", "<", ">", "<=", ">=", Access поддерживает также BEETWEN, IN, LIKE.
В запросе могут присутствовать т.н. вычисляемые поля - вычисленные значения над любыми полями таблицы. Access поддерживает большое число функций и операторов, применяемых при генерации вычисляемых полей.
Чтобы просмотреть результат запроса необходимо на панели нажать кнопку:

Изменить заголовок можно также активизировав столбец с описанием поля; а затем выполнив команду "Свойства" меню "Вид", ввести в строку "Подпись поля" его название.

Строки итоговой таблицы желательно отсортировать по полю "Фамилия" таблицы "Студенты". Для этого в столбце с описанием данного поля в строке "Сортировка" выберем пункт "по возрастанию". При необходимости сортировки по нескольким полям Access сортирует данные в порядке их расположения в бланке QBE. После просмотра запроса видно, что необходимо ввести поле Имя из таблицы “Студенты”, т.к фамилии повторяютя и запрос не несет необходимой информации. Чтобы вставить поле, перетяните его в сетку QBE на место, где он должен находится и все остальные поля передвинуться на одну позицию в право.
Запустить полученный запрос на выполнение можно также командой "Выполнить" меню "Запрос". Проверим полученные результаты на соответствие критериям отбора. Сохраним полученный запрос под именем "Задолженности". Запрос представляет собой таблицу:

Создадим запрос, в котором будет вычисляться дополнительное поле. Кафедра вычислительной техники решила своим работникам к новому году выплатить премию в размере 10% от зарплаты. Создадим запрос на базе таблицы “Преподаватели”, с полями Фамилия, Кафедра, Должность, Зарплата. Чтобы создать вычисляемое поле “Премия”, выводящее информацию о величине премии работнику, в новом столбце (следующим за заполненным), в строке “Поле” введем выражение Зарплата*0,1. Изменим заголовок поля, введя перед выражение его название. Ячейка будет содержать: «Премия: [Зарплата]*0,1».

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

1.2. Создание итогового запроса

Итоговые запросы позволяют получать статистическую информацию по группам данных, как например: сумму, среднее арифметическое, мат.ожидание, дисперсию значений полей таблицы; число значений полей, удовлетворяющих определенным условиям и т.д.
Создадим запрос среднего бала студента. Откроем новый бланк запроса, внесем в него таблицу "Студенты", “Результаты” и установим вывод полей "Номер_С", "Фамилия", "Оценка_Т", "Оценка_П", “Оценка_Л”.

Для вычисления в запросе итоговых значений щелкнем по кнопке "Групповые операции" панели инструментов. В бланке QBE появится строка "Групповая операция", где для каждого описанного поля в этой строке установлено по умолчанию "Группировка". Теперь записи по каждому полю будут группироваться, но итог подводиться не будет. Для выведения итоговых значений необходимо вместо слова "Группировка" установить какую-нибудь групповую операцию (см прил.1).
Для полей “Оценка_Т”, “Оценка_П”, “Оценка_Л” операцию "Avg", выводящую среднее значение поля для группы записей (получим средний бал).

Изменим также заголовки полей выводимой таблицы. Для этого в описании полей в строке "Поле" введем их новые названия, отделяя их от описания двоеточием:
Оценка_Т: Теория
Оценка_П: Практика
Оценка_Л: Лабы

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

Встречаются задачи, в которых параметры запросов заранее неизвестны, или есть необходимость в их изменении. Для этого в Access предусмотрена возможность ввода параметров запросов непосредственно перед их исполнением. Чтобы установить ввод параметра вместо конкретного значения, в строке "Условие отбора" вводятся имя или фраза, заключенные в квадратные скобки. Все, введенное в квадратных скобках Access рассматривает как имя параметра, и выводится в диалоговом окне запроса как комментарий в вводимому параметру. В запросе можно использовать несколько параметров, но с уникальными именами.

Создадим запрос, выводящий список преподавателей работающих на задаваемой пользователем кафедре. За основу возьмем таблицу "Преподаватели". Выберем в бланк вывода пункт "Преподаватели.*", выводящий все поля таблицы "Преподаватели”. Введем еще раз описание поля “Кафедра”, сбросим для него флажок вывода на экран, и в строке "Условие отбора" этого поля введем выражение:
=[Введите название кафедры]

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

После ввода параметра Access выводит список преподавателей, местом работы которых является запрашиваемая кафедра.
Ввод параметров можно использовать при любом типе запросов: итоговом, перекрестном, запросе-действии и т.д.

1.4. Создание перекрестного запроса

Access поддеpживает специальный тип итоговых запpосов, называемый перекрестным. Перекрестный запрос выводит вычисленные значения как функцию от существующих полей. Так в Access можно вывести запрос, описывающий суммарный зароботок по должностям.
Необходимое требование к созданию перекрестного запроса наличие поля - заголовка строки, поля - заголовка столбца, и одно поле вычисляемого значения. Поля, являющиеся заголовками строк и столбцов должны иметь в строке "Групповая операция" установку "Группировка". Для поля - значения необходимо выбрать в "Групповой операции" какую-либо групповую функцию, или выражение, содержащее групповую операцию.

Для нашего запроса для таблицы "Преподаватели" в меню "Запрос" установим указатель "Перекрестный". Access добавит в блок QBE строку "Перекрестная таблица". Затем в бланк перенесем поле "Должность", установим “заголовки столбцов”.

Следующее поле-"Кафедра”, установим “заголовки строк”
Результирующее поле- “Зарплата” , для него установим “значение”
"групповая операция" - Avg,
Сохраним полученный запрос под имеем "Зарплаты по должностям".

1.5. Создание запроса типа "внешнее объединение"

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

Создадим запрос, выводящий информацию обо всех студентах, с задолженностями и без. В этом запросе будет использоваться внешнее объединение таблиц "Студенты" и "Результаты" по совпадению поля "Номер_С" со всеми записями таблицы "Студенты".
Для создания внешнего объединения необходимо изменить параметры объединения. Откроем запрос "Задолженность" в режиме конструктора. Щелкнем по линии связи между таблицами "Студенты" и "Результаты" для открытия диалогового окна "Параметры объединения".

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

Выберем третий тип связи и щелкнем на кнопке "Ок". После этого на линии соединения таблиц появится стрелка, указывающая на внешнее объединение. Сохраним модифицированный запрос (через “Сохранить как” ("Save as.."), чтобы не затереть предыдущий запрос) под именем "Внешнее объединение по студентам".

Запрос в Access является объектом, который сохраняется в файле базы данных и может многократно повторяться. Все запросы, которые мы демонстрировали до сих пор, содержали конкретные значения дат, названий, имен и т. д. Если требуется повторить такой запрос с другими значениями в условиях отбора, его нужно открыть в режиме Конструктора, изменить условие и выполнить. Чтобы не делать многократно этих операций, можно создать запрос с параметрами. При выполнении такого запроса выдается диалоговое окно Введите значение параметра (Enter Parameter Value), в котором пользователь может ввести конкретное значение и затем получить нужный результат.

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

1. Откройте данный запрос в режиме Конструктора.

2. Чтобы определить параметр запроса, введите в строку Условие отбора (Criteria) для столбца "Название" (CompanyName) вместо конкретного значения слово или фразу и заключите их в квадратные скобки, например [Поставщик:]. Эта фраза будет выдаваться в виде приглашения в диалоговом окне при выполнении запроса.

3. Если вы хотите, чтобы Access проверяла данные, вводимые в качестве параметра запроса, нужно указать тип данных для этого параметра. Обычно в этом нет необходимости при работе с текстовыми полями, т.к. по умолчанию параметру присваивается тип данных Текстовый (Text). Если же данные в поле запроса представляют собой даты или числа, рекомендуется тип данных для параметра определять. Для этого щелкните правой кнопкой мыши на свободном поле в верхней части запроса и выберите из контекстного меню команду Параметры (Parameters) или выполните команду меню Запрос, Параметры (Query, Parameters). Появляется диалоговое окно Параметры запроса (Query Parameters).

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

5. Нажмите кнопку Запуск (Run) на панели инструментов, чтобы выполнить запрос. При выполнении запроса появляется диалоговое окно Введите значение параметра (Input Parameter Value) (рис. 4.32), в которое нужно ввести значение, например Tokyo Traders. Результат выполнения запроса представлен на рис. 4.33. В него попадают только те товары, которые поставляются данным поставщиком.



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

61. Отчеты: назначение, средства создания, использование (MS Access).

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

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

Для автоматического проектирования используется средство Мастер отчетов .

Разберем это на примере: создать отчет с информацией о договорах (шифр, исполнитель, дата окончания, сумма), сгруппированной по заказчикам.

На вкладке Создание в панели Отчеты выбрать кнопку-команду Мастер отчетов .

В окне Создание отчетов сначала выбрать таблицу Договоры и поля ШИФР, ЗАК, ИСП. ДАТА_ОКОН, СУММА. Нажать кнопку Далее .

Задать группировку по полю ЗАК . Нажать кнопку Далее. Задать поля, по которым следует проводить сортировку данных. В нашем примере- полеДАТА_ОКОН. Нажать кнопку Далее .

Ввести имя отчета – Отчет о договорах . Нажать кнопку Готово.

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

Назначение каждого из разделов:

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

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

Заголовок группы (Report Headler) используется при группировке записей отчета для вывода названия группы и однократного отображения полей, по которым производится группировка. Отображается перед каждой новой группой записей. Например, если отчет сгруппирован по покупателям, в заголовке группы можно указать название покупателя, а также адрес, телефон и другие реквизиты. Допускается до 10 уровней группировки выводимых записей;

Область данных (Detail) отображает записи из источника данных, составляющие основное содержание отчета;

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

Нижний колонтитул применяется для нумерации страниц и отображения другой информации внизу каждой страницы;

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

Вопрос 62. Понятие и виды компьютерных сетей.

Сеть- это объединение компьютеров, дающее возможность совместно использовать ресурсы. Под ресурсами подразумеваются дисковые накопители, файлы (базы данных), принтеры и коммуникационное оборудование. Компьютеры, подключаемые к сети, называются узлами. Если узлы находятся в непосредственной близости друг к другу, то сеть называется локальной сетью или ЛС (LAN-Local Area Network), если узлы рассредоточены существенно шире, то сеть называется глобальной сетью или ГС (WAN-Wide Area Network).

Глобальные сети образуются при объединении локальных сетей друг с другом. При соединении двух или более сетей между собой возникает межсетевое объединение и образуется глобальная компьютерная сеть.

Если компьютер постоянно входит в состав сети, говорят, что он имеет постоянное соединение.

Если компьютер подключается к сети только на время работы, то он имеет коммутируемое соединение.

Соединение можно выполнять издалека, например, по телефону. В этом случае соединение называют соединением удалённого доступа.

Существует 2 типа локальных сетей: одноранговые сети и сети типа клиент/сервер. Каждая из них поддерживается Windows.

Одноранговая сеть-это самый простой и дешёвый вариант объединения нескольких компьютеров. Все компьютеры одноранговой сети равноправны. Здесь нет компьютера, называемого сервером и служащего для централизованного хранения информации, администрирования прав пользователей и сетевых ресурсов.

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