Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Методические указания к лабораторной работе № 3




Задание к лабораторной работе № 3

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

1. Выбора с сортировкой:

- по одному полю;

- по нескольким полям.

2. Выбора с условиями отбора:

- на текстовое поле;

- на числовое поле;

- на поле типа «дата/время»;

- на несколько полей одновременно;

3. Параметрические:

- с одним параметром;

- с несколькими параметрами.

4. Итоговые:

- с группировкой по одному полю;

- с группировкой по нескольким полям;

5. С вычисляемыми полями:

- с использованием обычных арифметических операций;

- с использованием функций.

6. На удаление:

- простое;

- каскадное;

- запрещающее.

7. На добавление:

- записей из существующей таблицы;

- конкретной записи в строку таблицы.

8. На обновление информации.

9. Запрос дубликатов (повторяющихся записей).

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

11. Запрос неуказанных записей (запрос без подчиненных).

12. Запрос на создание таблицы.

 

 

Методические указания к лабораторной работе № 3

Ø Что такое запрос?

Запрос - это объект Microsoft Access, предназначенный для отбора данных, которые отвечают определенным критериям.

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

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

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

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

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

Ø Какие бывают запросы?

Microsoft Access поддерживает разные типы запросов, которые можно разбить на несколько основных групп:

- запросы на выборку;

- параметрические запросы;

- итоговые запросы;

- перекрестные запросы;

- запросы на изменение.

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

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

Итоговые запросы- это разновидность запроса на выборку. Позволяет вычислять суммы, подсчитывать количество записей и выполнять расчеты итоговых значений. При выполнении этого типа запроса Microsoft Access добавляет в бланк запроса строку "Групповая операция".

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

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

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

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

Каждая строка бланка запроса выполняет определенную функцию:

- строка "Поле" используется для выбора полей;

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

- в строке "Сортировка"указывается тип сортировки записей;

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

- строка "Условие отбора" используется для ввода условий выбора данных.

Ø Как в запрос поместить поле из таблицы?

Чтобы в запрос поместить поле из таблицы можно воспользоваться одним из способов:

1) выбрать в верхней части окна конструктора нужное поле двойным щелчком мыши в списке полей соответствующей таблицы (при этом оно будет помещено в следующий свободный столбец бланка запроса);

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

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

 

Ø Как создать запрос на выборку с помощью Конструктора запросов?

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

Для создания запроса на выборку с помощью Конструктора запросов необходимо:

1. На ленте открыть вкладку "Создание" и в группе "Запросы" выбрать команду "Конструктор запросов".

2. При этом появятся два наложенные друг на друга окна: "Добавление таблицы" и "Запрос" (рис. 3.1). Окно "Добавление таблицы" активно.

 

Рисунок 3.1 – Окна создания запроса

3. В окне "Добавление таблицы" из списка необходимо выделить таблицы, поля которых будут использоваться в запросе, и нажать кнопку Добавить. Таблицы, которые добавляются, появятся в верхней части окна Конструктора с установленными ранее связями (рис. 3.2).

Рисунок 3.2 – Окно конструктора запроса с выбранными таблицами

4. Закрыть окно "Добавление таблицы".

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

Рисунок 3.3 – Окно конструктора запроса с выбранными полями таблиц

Ø Как создать вычисляемое поле в запросе?

Для создания вычисляемого поля, в запросе необходимо в нижней части окна "Запрос1" установить курсор в строке "Поле" свободного столбца и щелкнуть правой кнопкой мыши, а затем выбрать команду "Построить…", а затем в верхней части окна (рис. 3.4) "Построитель выражений" в текстовом поле набрать с клавиатуры имя создаваемого вычисляемого поля, (без пробелов, точек и др.) и за ним поставить двоеточие. После двоеточия построить выражение для вычисления значений этого поля и нажать кнопку  Ok .

 

Рисунок 3.4 – Окно "Построитель выражений"

Замечание 1. Для построения выражения в "Построителе выражений" желательно воспользоваться нижней частью окна "Построитель выражений", разбитой на 3 рядом расположенных части.

При этом в левой части можно двойным щелчком выбирать папки ТАБЛИЦЫ, ФУНКЦИИ и т.д.

И если выбрана папка ТАБЛИЦЫ и выделено имя какой-то таблицы, то в средней части отобразятся имена полей выделенной таблицы, каждое из которых можно поместить строящееся выражение двумя способами: 1) двойной щелчок левой кнопкой мыши по имени поля в средней части или 2) выделить имя поля в средней части и нажать кнопку Вставить .

А если выбрана папка ФУНКЦІЇ, а потом объект ВСТРОЕННЫЕ ФУНКЦИИ, то в средней части будут отображаться категории функций, а в правой – имена функций выделенной в средней части категории. В выражение помещаются аналогично.

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

Ø Как построить выражение вычисляемых полей в запросе?

В выражении могут использоваться:

1) знаки арифметических операций:

+ прибавление;

- вычитание;

* умножение;

/ деление;

^ возведение в степень;

2) логические операции:

OR - логическое "ИЛИ";

AND - логическое "И";

Not - логическое "НЕ";

3) операции сравнения:

=     равно;

  >     больше;

   <     меньше;

<>     не равно;

>=     больше или равно;

<=     меньше или равно;

between...and... между

4) стандартные функции

 

В таблицах 3.1 - 3.2 приведены некоторые функции

Таблица 3.1 – Логические функции

Функция Вычисляет
Iif(Условие; Действие1; Действие2) выполняет Действие 1,если выполняется Условие1,иначе выполняется Действие 2.
Choose (Поле; Значение 1; Значение 2; …. Значение n) выполняет то действие, номер которого совпадает со значением, которое хранится в Поле.
Switch (Условие1; Действие1; Условие2; Действие2; … Условие n; Действие n) последовательно проверяет Условияи выполняет то Действие, для которого выполняется соответствующее условие.

 

 

Таблица 3.2 – Функции категории "Дата/время"

Функция Вычисляет
Date() текущую дату в формате дд.мм.гг,
Now() текущую дату и время формате            дд.мм.гг чч:мм:сс.
Year(Дата) год из Даты(четыре цифры, например, 2003)
Month(Дата) месяц из Даты в виде целого числа (1 - 12)
Day(Дата) день из Даты в виде целого числа (1 - 31)
Hour(Дата) час из Даты в виде целого числа (0 - 23)
Minute(Дата) минута из Даты в виде целого числа (0 - 59)
Secunde(Дата) секунда из Даты в виде целого числа (0 - 59)
DatePart("вр.интервал"; Дата) компоненту даты, соответствующую указанному временному интервалу
DateAdd("вр.интервал"; n; Дата) новую дату, отдаленную на nвременных интервалов от указанной
DateDiff("вр.интервал"; Дата1; Дата2) число временных интервалов между двумя датами
DateSerial (Год; Месяц; День) Превратит три целых чисел год, месяц и номер дня, в месяце,в данное типа Дата/Время.
Weekday(Дата) порядковый номер дня недели  (1 - воскресенье)
Weekday(Дата;2) порядковый номер дня недели   (1 - понедельник)

Значения используемого в функциях DatePart, DateAdd, DateDiffпараметра временной интервал ("вр.интервал"):     

yyyy Год.

Q  Квартал.

m  Месяц.

Y  День года.

D  День месяца.

w  День недели.

ww Неделя.

H  Часы.

N  Минуты.

S  Секунды.

5) поля таблиц и запросов;

6) константы.

Для изменения порядка действий в выражении используются круглые скобки ().

Знаки операций можно вставить в выражение или используя кнопку окна "Построитель выражений", или с помощью клавиатуры.

Ø Как создать запрос на выборку с помощью Мастера запросов?

Для создания запроса на выборку с помощью Мастера запросов необходимо:

1. На ленте открыть вкладку "Создание" и в группе "Запросы" выбрать команду "Мастер запросов", а затем "Простой запрос" и нажать на кнопку ОК (см. рис. 3.5).

 

Рисунок 3.5 – Окно создания запроса с помощью Мастера запросов

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

Рисунок 3.6 – Первое диалоговое окно Мастера простых запросов

3. С помощью стрелок вправо и влево переместить из списка "Доступные поля" в список "Выбранные поля" те поля, которые необходимы в конструируемом запросе. При этом порядок полей в запросе будет соответствовать порядку полей в списке "Выбранные поля" (рис. 3.7). Если нужно включить в запрос все поля, можно воспользоваться кнопкой с двумя стрелками вправо.

Рисунок 3.7 – Первое диалоговое окно Мастера простых запросов с выбранными полями

4. Нажать кнопку Далее.

5. Следующее диалоговое окно будет последним (рис. 3.8). В нем нужно ввести имя создаваемого запроса в поле "Задайте имя запроса" и выбрать дальнейшие действия: "Открыть запрос для просмотра данных" или "Изменить макет запроса" и нажать кнопку Готово.

Рисунок 3.8 – Второе диалоговое окно Мастера простых запросов

Ø Как создать запрос с вычисляемым полем?

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

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

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

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

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

 

Ø Как осуществить сортировку данных в запросе?

Обычно Microsoft Access выводит записи в том порядке, в котором они выбираются из базы данных. Чтобы упорядочить данные в запросе по возрастанию или по убыванию какого-либо поля необходимо открыть запрос в режиме конструктора, установить курсор в строке "Сортировка" соответствующего поля запроса и выбрать из раскрывающегося списка порядок сортировки.

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

Ø Как осуществить выборку данных по условию?

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

Для того, чтобы наложить условия отбора, используется строка в нижней части окна запроса, начиная со строки "Условия отбора" и ниже.

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

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

Значение даты необходимо помещать между знаками # (например, #09.01.00#).

Текстовые значения необходимо заключать в двойные кавычки (например, "Киев").

В условиях отбора каждого поля можно использовать:

- Знаки отношений: >, <, >=, <=, =, <>

- Знаки логических операций: OR, AND, NOT

- Операторы BETWEEN, IN и LIKE:

Ø Какие данные отбирают операторы BETWEEN, IN и LIKE?

Кроме обычных операторов сравнения Microsoft Ассеss предоставляет три специальных оператора, полезных для отбора данных, выводимых по запросу.

Оператор BETWEEN определяет диапазон значений и имеет следующий вид:

BETWEEN <первое_выражение> AND <второе_выражение>.

Например, выражение BETWEEN 10 AND 20 означает тоже самое, что и выражение >=10 And <=20.

Оператор IN задаёт используемый для сравнения список значений и имеет следующий вид:

IN(<значение1>,<значение2>, …,<значениеN>).

Например, выражение IN ("Ас", "Во","Ко") означает тоже самое, что и выражение "Ас" OR "Во" OR "Ко").

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

В таблице 3.3 представлены подстановочные символы для оператора LIKE:

Таблица 3.3 – Подстановочные символы для оператора LIKE

Знак Описание Пример
* Соответствует любому количеству знаков. Может использоваться в качестве первого или последнего знака текстовой строки Like "wh*" – поиск слов what, white, why и т.п. Like "*.06.*" – поиск всех дат шестого месяца
? Соответствует любому текстовому знаку Like "B?ll" – поиск слов Ball, Bell, Bill и т.п.
[ ] Соответствует любому одному знаку из заключенных в скобки. Like "B[ae]ll" – поиск слов Ball и Bell, но не Bill.
! Соответствует любому одному знаку, кроме заключенных в скобки. Like "b[!ae]ll" – поиск слов bill, bull и т.п., но не bell или ball.
- Соответствует любому знаку из диапазона. Необходимо указывать этот диапазон по возрастанию (от A до Z, но не от Z до A). Like "b[a-c]d" – поиск слов bad, bbd, bcd и т.п.

 

В таблице 3.4 представлены примеры заданий условий отбора.

 

 

Таблица 3.4 – Примеры задания условий отбора

Выражение Отображение записей
> "O" Отображаются записи, значения соответствующего поля которых начинаются буквой из диапазона от «П» до «Я».
Like "K*" Отображаются записи, значения соответствующего поля которых начинаются с буквы «К».
= #14.08.03# Отображаются записи, соответствующее поле которых содержит значение 14.08.1993.
Bеtween #02.07.98# And #28.08.98# Отображаются записи, соответствующее поле которых содержит значение даты из интервала от 01.11.1995 до 24.12.1995.
< Date( )-20 Отображаются записи, соответствующее поле которых содержит значение даты, расположенное не более чем 20 дней назад от текущей даты.
Not "Совет" Отображаются записи, соответствующее поле которых не содержит значения "Совет".
Is Null Отображаются записи, соответствующее поле которых является пустым.
In ("Москва", "Донецк", "Волгоград") Отображаются записи, соответствующее поле которых содержит значение "Москва", "Донецк" или "Волгоград".
Like "?[а-г]R[0-9]*" Отображаются записи, соответствующее поле которых начинается с любой буквы от а до г ,затем символ R за которым следует цифра от 0 до 9 и любой набор символов.

Ø Как создать параметрический запрос?

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

Параметрический запрос – это запрос, при выполнении которого задается переменный параметр.

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

Чтобы определить параметр, необходимо в поле, для которого задается переменное значение в строке "Условия отбора" вместо конкретного значения ввести фразу, заключенную в квадратные скобки следующего вида – [текстовое сообщение].

То, что заключено в квадратные скобки, Microsoft Ассеss рассматривает как имя параметра. Оно выводится в окне диалога при выполнении запроса. Поэтому в качестве имени параметра разумно использовать содержательную фразу.

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

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

Ø Как создать итоговый запрос?

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

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

Группировка.Для указания поля, которое будет использоваться для групп.

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

Условие.Указывает на критерии отбора полей для вычислений.

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

К итоговым функциям относятся функции, которые определяют:

Sum      Сумма значений поля в каждой группе.  

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

Min      Наименьшее значение поля в каждой группе.   

Мах      Наибольшее значение поля в каждой группе.   

Count          Количество записей в каждой группе.       

StDev     Среднеквадратичное отклонение от среднего значения в

          каждой группе.

Var      Дисперсия значений поля в каждой группе.      

First      Первое значение в каждой группе.

Last        Последнее значение в каждой группе.

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

Для создания итогового запроса необходимо выполнить такие действия:

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

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

- поля, в которых нужно получить итоговые показатели.

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

2. В режиме конструктора запроса выполнить команду "Групповые операции", нажав на панели инструментов кнопку  S   или щелкнув правой кнопкой мыши на любом поле и в контекстном меню, выбрав пункт "Групповые операции".

3. В нижней части запроса в режиме конструктора появится дополнительная строка "Групповая операция", в каждом столбце которой появится операция "Группировка". Операция "Группировка" позволяет группировать данные в том столбце, в котором она находится. Если в каком-либо поле необходимо получить итоговый показатель, то необходимо изменить для этого поля тип групповой операции. Для этого установить курсор в строке "Групповая операция" этого столбца и с помощью раскрывающегося списка выбрать нужную групповую операцию.

Ø Как создать перекрестный запрос?

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

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

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

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

Рассмотрим создание перекрестного запроса в режиме Конструктора.

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

2. На Ленте в группе "Тип запроса" необходимо нажать выбрать кнопку "Перекрестный" В нижней части запроса появятся разделы "Групповая операция" и "Перекрестная таблица".

3. В разделе "Групповая операция" нужно выбрать функцию напротив поля, значение которого будет вычисляться, а в остальных полях оставить значение "Группировка".

4. Чтобы значения поля появились в заголовке строк, в разделе "Перекрестная таблица" необходимо щелкнуть по строке и из раскрывшегося списка выбрать пункт "Заголовки строк".

5. Если значение поля выбирается в качестве заголовка, то в разделе "Перекрестная таблица" следует выбрать пункт "Заголовки столбцов".

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

7. Проверить и сохранить запрос.

Ø Какие существуют виды запросов на изменение?

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

-запросна обновление записи;

-запросна добавление записей;

- запросна удаление записи;

- запросна создание таблицы.

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

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

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

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

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

Ø Как создать запрос на обновление?

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

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

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

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

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

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

Ø Как создать запрос на добавление?

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

Первоначально запрос на добавление создается как запрос на выборку из одной или нескольких взаимосвязанных таблицах. Затем в окне конструктора запросов он превращается в запрос на добавление с помощью команды "Добавление" из группы "Тип запроса". При этом открывается диалоговое окно "Добавление" (рис. 3.9).

Рисунок 3.9 – Создание имени новой таблицы в текущей базе данных

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

После выполнения этой команды в бланке запроса появляется строка "Добавление".

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

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

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

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

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

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

Ø Как создать запрос на создание таблицы?

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

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

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

Для создания запроса на создание таблицы необходимо:

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

2. В режиме Конструктора этого запроса на Ленте в группе "Тип запроса" выбрать "Создание таблицы". При этом появится диалоговое окно "Создание таблицы".

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

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

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

6. Для полей, по которым нужно выполнить отбор записей, ввести условия отбора.

Ø Какое удаление можно осуществить с помощью запроса на удаление?

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

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

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

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

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

Ø Как создать запрос на поиск дубликатов (повторяющихся записей)?

Запрос типа "повторяющиеся записи" используется для поиска записей, в которых значение поля повторяется несколько раз.

Чтобы найти повторяющиеся записи необходимо

1. На Ленте во вкладке "Создание" в группе "Запросы" выбрать "Мастер запросов".

2. В окне "Новый запрос" выбрать "Повторяющиеся записи" и нажать кнопку ОК.

3. В первом окне мастера выбрать таблицу, в которой требуется найти записи с повторяющимися значениями, и нажать кнопку Далее.

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

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

6. В четвертом окне мастера задать имя запроса, выбрать соответствующий переключатель: "просмотр результатов запроса" или "изменение структуры запроса" (открытие запроса в режиме конструктора) и нажать кнопку Готово.

Ø Как создать запрос на поиск записей, не имеющих подчиненных (неуказанных записей)?

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

Чтобы найти записей без подчиненныхнеобходимо

1. На Ленте во вкладке "Создание" в группе "Запросы" выбрать "Мастер запросов".

2. В окне "Новый запрос" выбрать "Записи без подчиненных" и нажать кнопку ОК.

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

4. Во втором окне мастера выбрать таблицу с подчиненными данными и нажать кнопку Далее.

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

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

7. В пятом окне мастера задать имя запроса, выбрать      соответствующий переключатель: "просмотр результатов запроса" или "изменение структуры запроса" (открытие запроса в режиме конструктора) и нажать кнопку Готово.

 

 










Последнее изменение этой страницы: 2018-06-01; просмотров: 175.

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