Как в бланк конструктора запросов ввести строку групповая операция

Обновлено: 30.04.2024

Рассмотрим создание перекрестной таблицы на примере таблицы УСПЕВАЕМОСТЬ. Пусть необходимо для каждого преподавателя определить число студентов, знания которых по лекционному или практическому занятию он оценил.

1. Для создания запроса в окне базы данных выберите объект Запросы и нажмите кнопку Создать.

2. В окне Новый запрос выберите Перекрестный запрос.

3. В окне мастера Создания перекрестных таблиц выберите таблицу УСПЕВАЕМОСТЬ, поля которой будут выведены в перекрестном запросе.

4. В следующем окне мастера выберите для заголовков строк поле ТАБН – табельный номер преподавателя. Для выбора используйте кнопку >.

5. Для заголовка столбцов выберите ВИДЗ (Вид занятий).

6. Для подсчета числа студентов, которые экзаменовались у данного преподавателя по данному виду занятия, и размещения этого значения в ячейке на пересечении строк и столбцов таблицы выберите поле НС (Номер студента) и функцию Число.

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

8. Задайте имя запроса Число сдач и нажмите кнопку Готово.

6.4.13.Создание перекрестной таблицы в режиме конструктора.

В этом упражнении рассмотрим, как создать перекрестную таблицу на основе одной таблицы ИЗУЧЕНИЕ, в которой заголовками строк будут табельный номер преподавателя (ТАБН), столбцы – коды предмета (КП), а на пересечении строк и столбцов – сумма часов по полю ЧАСЫ.

1. Начните построение запроса как обычно, например, двойным щелчком мыши на строке Создание запроса в режиме конструктора в окне базы данных.

2. В окне Добавления таблицы включите в схему данных запроса таблицу ИЗУЧЕНИЕ, содержащую все необходимые поля.

3. В бланк запроса перетащите поля ТАБН, КП, по которым будет осуществляться группировка, и которые будут использоваться в строках и столбцах перекрестной таблицы соответственно, и поле ЧАСЫ, по которому будет подсчитываться суммарное число часов для полученных групп.

4. В окне конструктора преобразуйте запрос на выборку в перекрестный запрос. Для этого выберите тип запроса Перекрестный на панели инструментов или выполните команду меню Запрос|Перекрестный. В бланке запроса появится две дополнительные строки Групповая операция и Перекрестная таблица.

5. В строке Перекрестная таблица для поля ТАБН выберите из списка значение Заголовки строк, для поля КП – Заголовки столбцов, для поля ЧАСЫ – Значение.

6. В строке Групповая операция для поля ЧАСЫ выберите из списка значение Sum, оставив в остальных строках значение Группировка.

  1. Для включения в перекрестную таблицу итоговых значений для каждой строки дополните бланк запроса ещё одним полем ЧАСЫ, замените значение Группировка на Sum, а в строке Перекрестная таблица выберите Заголовки строк.
  2. Сохраните запрос под именем Часы преподавателей и выполните его.

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

9. Вернитесь в режим конструктора запроса Часы преподавателей.

10. Поле с фамилией преподавателя размещено в таблице ПРЕПОДАВАТЕЛЬ, а с наименованием предмета НП в таблице ПРЕДМЕТ, поэтому добавьте в схему запроса эти таблицы.

11. Замените в бланке запроса поле КП на поле НП таблицы ПРЕДМЕТ, а поле ТАБН на поле ФИО таблицы ПРЕПОДАВАТЕЛЬ. Для этого в поле КП в строке Имя таблицы нажмите кнопку списка и выберите ПРЕДМЕТ, а в строке Поле – НП. Аналогичными действиями замените ТАБН на ФИО.

12. Для изменения подписи поля, содержащего итоговую сумму по строкам, щелкните правой кнопкой мыши в зоне этого поля. В открывшемся контекстно-зависимом меню выберите пункт Свойства. В окне Свойства поля введите Всего часов в строку Подпись поля. Можно ввести эти подписи непосредственно в поле перед именем ЧАСЫ, отделив подпись от именем двоеточием.

13. Сохраните и выполните запрос.

Задания для самостоятельной работы:

Выполните запрос с функцией Avg. Подсчитайте средний проходной балл в группе.

Контрольные вопросы

1. Какая команд меню позволяет добавить необходимые таблицы в запрос?

2. Как в запросе отобразить нужные поля в таблицы?

3. Как выполнить запрос не открывая его в режиме конструктора?

4. Мешает ли объединению установка флажка Обеспечение целостности данных?

5. В каком окне какой кнопкой открывается возможность выбора параметра объединения?

6. Изменится ли параметр объединения таблиц, установленный в запросе, если изменить его в схеме данных?

7. Можно ли запросы – действия создать с помощью мастера?

8. Какой командой осуществляется преобразование запроса на выборку в запрос на добавление?

9. Сколько таблиц использует мастер при построении перекрестного запроса?

Лабораторная работа №5

Разработка форм

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

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

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

1. Щелкните по кнопке Групповые операции, знак ∑ на панели инструментов Конструктора. В бланке запроса над строкой Сортировка появиться строка Групповая операция

2. Замените в строке Групповая операция установку Группировка на требуемую групповую операцию, выбрав ее из поля со списком: Sum, Avg, Count, Min, Max, StDev,Var, First, Last (описание функций - Приложени 1), Expression (выражение), Where (условие), Group by (группировка).

Выражение позволяет ввести в место названия поля в ячейку какое-либо выражение, например, для вычисления размаха значений по некоторому столбцу X: Мах([X]) - Min([X]).

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

Включение в бланк запроса вычисляемых полей

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

2. Щелкните в строке Поле по пустому столбцу бланка запроса. Введите имя столбца, затем двоеточие, за ним - выражение. Для ввода выражения щелкните по кнопке Построить, чтобы воспользоваться Построителем выражений (Приложение 2).

3. В верхней части Построителя выражений в области ввода создайте выражение.

5. Запустите запрос.

Создание много табличных запросов

Внутреннее соединение по одному полю

  1. Выберите вкладку Создание окна БД, в группедругие выбрать «Конструктор запросов.

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

3. Заполните бланк запроса.

4. Щелкните на кнопке Выполнить, чтобы отразить результаты запроса.

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

Внутренние соединения по нескольким полям

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

Для создания такого соединения выполните пункты 1,2 предыдущего раздела. Затем в окне Конструктора запроса выберите в списке полей одной из таблиц поле, по которому образуется связь, и перетащите его на связываемое поле другой таблицы. Между связываемыми таблицам и должна образоваться линия связи. Точки на концах линии указывают на то, что соединение создано между полями, связь которых в схеме данных не задана. Далее выполните пункты 3,4 предыдущего раздела.

Внешние соединения

  1. Выполните пункты 1-3 раздела Внутреннее соединение по одному полю.

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

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

4. Выберите из меню команды Вид опцию Параметры объединения.
Отобразится диалоговое окно Параметры объединения (рис.4.4).

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

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

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

В Microsoft Access можно создавать различные типы запросов: запросы на выборку, запросы с параметрами, перекрестные запросы, запросы на изменение (запросы на создание таблицы, удаление, обновление, добавление записей), запросы SQL (запросы на объединение, запросы к серверу, управляющие запросы, подчиненные запросы).

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

Запросы можно строить с помощью Мастера запросов или самостоятельно в режиме Конструктора.

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

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


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

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

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

При определении условия отбора необходимо использовать те значения поля, которые хранятся в таблице, но не подстановочные значения. Пусть, например, необходимо отобрать записи о покупках, сделанных клиентом РГРТУ, и в качестве источника данных используется таблица ПОКУПКИ. Тогда в условии отбора для поля КодКлиента необходимо указать код РГРТА, т. е. цифру 4. Если этот же запрос создать на двух таблицах - ПОКУПКИ и КЛИЕНТЫ, то в качестве условия отбора для поля ИмяКлиента надо ввести слово РГРТУ. В том случае, когда условие отбора содержит значки подстановки ? или *, условие (даже число) надо заключать в апострофы.

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

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

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

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

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

Существует девять функций для выполнения групповых операций. В их числе:

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

Avg – возвращает среднее арифметическое значений полей в группе;

Min, Max – возвращает наименьшее или наибольшее значение в каждой группе,

Count - возвращает число записей в группе, для которых значения данного поля отличны от Null.

Групповые операции можно выполнять и над вычисляемыми полями.

Так, например, для подведения итогов по объемам покупок, сделанных каждым из клиентов, можно составить итоговый запрос на таблицах ПОКУПКИ и КНИГИ В качестве источника данных для итогового запроса можно использовать также рассмотренный выше запрос с вычисляемым полем. В бланк итогового запроса надо включить поля КодКлиента, Количество из таблицы ПОКУПКИ и создать вычисляемое поле Сумма так, как это описано выше. Для первого из полей надо оставить установку Группировка, а для двух других полей эту установку следует заменить итоговой функцией Sum. В результате выполнения запроса сформируется список, содержащий по одной записи для каждого клиента с итоговыми значениями – общим количеством купленных этим клиентом книг и общей стоимостью всех сделанных им покупок.

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

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

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

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

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

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

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

в ответ на запрос, имена клиентов будут располагаться слева сверху вниз (по строкам), а названия разделов - вверху слева направо (по столбцам). Кроме того, в таблице появится столбец, содержащий суммарное количество покупок для каждого клиента. Для создания такого запроса придется объединить данные из нескольких таблиц, поэтому вначале придется создать запрос, объединяющий данные, а потом создать перекрестный запрос, основанный на объединяющем запросе. Объединяющий запрос должен сформировать таблицу с полями КодКлиента (таблица ПОКУПКИ), Раздел (таблица РАЗДЕЛЫ), Количество (таблица ПОКУПКИ).

Перекрестный запрос проще всего создать при помощи Мастера запросов. Для вызова Мастера надо в окне БД для объекта Запросы нажать кнопку Создать и выбрать из списка строку Перекрестный запрос. На первом шаге работы Мастера надо установить флажок Запросы и выбрать имя объединяющего запроса. На следующих шагах следует выбрать в качестве заголовков строк поле КодКлиента, для заголовков столбцов поле Разделы, в списке функций для поля Количество выбрать Сумма и определить имя запроса. Готовый запрос можно просмотреть в режиме таблицы.

С целью получения итоговых данных на группах записей из таблиц предусмотрена возможность выполнения групповых операций. Для включения групповых операций в запрос необходимо вызвать команду Итоги (символ ∑) на вкладке «Конструктор» или ту же команду из контекстного меню в бланке запроса. В результате в бланке запроса появляется новая строка  Групповая операция.

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

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

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

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

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

Статистические функции Access

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

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

Возвращает значение указанного поля из первой записи группы

Возвращает значение указанного поля из последней записи группы

Возвращает максимальное значение указанного поля из группы записей

Возвращает минимальное значение указанного поля из группы записей

Вычисляет сумму значений указанного поля по группе записей

Вычисляет среднеквадратичное отклонение по набору значений указанного поля в группе записей

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

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

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

Ограничения при использовании Мастера перекрестных запросов:

мастер может создать перекрестный запрос на основе только одной таблицы (или одного запроса);

невозможность задания условий отбора.

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

3. Модифицирующие запросы

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

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

запросы на добавление данных;

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

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

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

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

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

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

Запросы на добавление данных

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

Запросы на удаление данных

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

Запросы на обновление данных

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

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

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

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

Щелкните по кнопке Групповые операции, знак ∑ на панели инструментов Конструктора. В бланке запроса над строкой Сортировка появиться строка Групповая операция

Замените в строке Групповая операция установку Группировка на требуемую групповую операцию, выбрав ее из поля со списком: Sum, Avg, Count, Min, Max, StDev,Var, First, Last (описание функций - Приложени 1), Expression (выражение), Where (условие), Group by (группировка).

Выражение позволяет ввести в место названия поля в ячейку какое-либо выражение, например, для вычисления размаха значений по некоторому столбцу X: Мах([X]) - Min([X]).

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

Включение в бланк запроса вычисляемых полей

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

Щелкните в строке Поле по пустому столбцу бланка запроса. Введите имя столбца, затем двоеточие, за ним - выражение. Для ввода выражения щелкните по кнопке Построить, чтобы воспользоваться Построителем выражений (Приложение 2).

В верхней части Построителя выражений в области ввода создайте выражение.

Создание много табличных запросов

Внутреннее соединение по одному полю

Выберите вкладку Создание окна БД, в группе другие выбрать «Конструктор запросов.

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

Заполните бланк запроса.

Щелкните на кнопке Выполнить, чтобы отразить результаты запроса.

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

Внутренние соединения по нескольким полям

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

Для создания такого соединения выполните пункты 1,2 предыдущего раздела. Затем в окне Конструктора запроса выберите в списке полей одной из таблиц поле, по которому образуется связь, и перетащите его на связываемое поле другой таблицы. Между связываемыми таблицам и должна образоваться линия связи. Точки на концах линии указывают на то, что соединение создано между полями, связь которых в схеме данных не задана. Далее выполните пункты 3,4 предыдущего раздела.

Читайте также: