Как сделать групповую операцию в access 2007

Как сделать групповую операцию в access 2007?

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

  • Sum — сумма значений некоторого поля для группы;
  • Avg — среднее от всех значений поля в группе;
  • Max, Min — максимальное, минимальное значение поля в группе;
  • Count — число значений поля в группе без учета пустых значений;
  • StDev — среднеквадратичное отклонение от среднего значения поля в группе;
  • Var — дисперсия значений поля в группе;
  • First и Last — значение поля из первой или последней записи в группе.

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

Запрос с функцией Sum

Задача. Определите, какое суммарное количество каждого из товаров должно быть поставлено покупателям по договорам. Все данные о запланированном к по-ставке количестве товара указаны в таблице ПОСТАВКА_ПЛАН.

  1. Создайте в режиме конструктора запрос на выборку из таблицы ПОСТАВКА_ПЛАН.
  2. Из списка таблицы перетащите в бланк запроса поле КОД_ТОВ ― код товара. По этому полю будет производиться группировка записей таблицы.
  3. Перетащите в бланк запроса поле КОЛ_ПОСТ, по которому будет подсчитываться суммарное количество каждого из товаров, заказанных во всех договорах.
  4. Выполните команду Итоги (Totals) из группы Показать или скрыть (Show/Hide). В бланке запроса появится новая строка Групповая операция (Total) со значением Группировка (Group By) в обоих полях запроса.
  5. В столбце КОЛ_ПОСТ замените слово Группировка (Group By) на функцию Sum. Для этого вызовите список и выберите эту функцию. Бланк запроса примет вид, показанный на рис. 4.11.
  6. Для отображения результата запроса (рис. 4.12) щелкните на кнопке Выполнить (Run) в группе Результаты (Results).
  7. Замените подпись поля Sum-КОЛ_ПОСТ на Заказано товаров. Для этого перейдите в режим конструктора, в бланке запроса установите курсор мыши на поле КОЛ_ПОСТ и нажмите правую кнопку. В контекстном меню выберите Свойства (Properties). В окне Свойства поля (Field Properties) введите в строке Подпись (Caption) — Заказано товаров. Для открытия окна свойств может быть выполнена команда Страница свойств (Property Sheet) в группе Показать или скрыть (Show/Hide).


  1. Сохраните запрос под именем Заказано товаров.
  2. Чтобы подсчитать количество товаров, заказанных в каждом месяце, выполните группировку по двум полям: КОД_ТОВ и СРОК_ПОСТ, в котором хранится месяц поставки (рис. 4.13).
  3. Чтобы подсчитать количество товаров, заказанных в заданном месяце, предыдущий запрос дополните вводом параметра запроса в условие отбора (рис. 4.14).


Запрос с функцией Count

Задача. Определите, сколько раз отгружался товар по каждому из договоров. Факт отгрузки фиксируется в таблице НАКЛАДНАЯ.

  1. Создайте запрос на выборку на основе таблицы НАКЛАДНАЯ.
  2. Из списка полей таблицы НАКЛАДНАЯ перетащите в бланк запроса поле НОМ_ДОГ. По этому полю должна производиться группировка.
  3. По сути, смысл задачи сводится к подсчету в таблице числа строк с одинаковым номером договора, поэтому неважно по какому полю будет вычисляться функция Count. Перетащите в бланк запроса любое поле, например опять НОМ_ДОГ.
  4. Выполните команду Итоги (Totals) из группы Показать или скрыть (Show/Hide). Замените слово Группировка (Group By) в одном из столбцов с именем НОМ_ДОГ на функцию Count. Бланк запроса примет вид, показанный на рис. 4.15.

  1. Сохраните запрос под именем Число отгрузок по договорам. Выполните запрос. Результат запроса показан на рис. 4.16.


Для закрепления смотрим видеоурок:

Следующая тема: Запросы на изменение Access.

    Слободяник Марина Валериевна

Психолог. Специалист с сайта b17.ru

Францев Максим Леонидович

Психолог. Специалист с сайта b17.ru

Андреева Анна Михайловна

Психолог, Клинический психолог онкопсихолог. Специалист с сайта b17.ru

Дарондов Иван Валерьевич

Психолог. Специалист с сайта b17.ru

Муратова Анна Эдуардовна

Психолог, Онлайн- консультант. Специалист с сайта b17.ru

Корушина Елена Николаевна

Психолог, Психоаналитическое консультирование. Специалист с сайта b17.ru

Андронова (Волохонская) Марина Сергеевна

Психолог, Психоаналитик. Специалист с сайта b17.ru

Дмитрий Валериевич Тишаков

Психолог, Супервизор, Системный семейный терапевт. Специалист с сайта b17.ru

Максим Григорьевич Меркун

Психолог, Психоаналитик-консультант. Специалист с сайта b17.ru

Иванова Светлана Викторовна

Психолог, Личный семейный психолог. Специалист с сайта b17.ru

В разделе Программное обеспечение на вопрос microsoft access 2010, где находиться команда групповые операции, подскажите пожалуйста? заданный автором Константин Денисов лучший ответ это в таблице правой кнопкой-> итоги там ползунок появится
Первоисточник мозГъ

22 ответа

Привет! Вот подборка тем с ответами на Ваш вопрос: microsoft access 2010, где находиться команда групповые операции, подскажите пожалуйста?

помогите нужно написать конспект… Основные функции access и перекрестный запрос Access!

Модули Таблицы данных Организации Дании Возможности Access

Источник:
http://word-office.ru/kak-sdelat-gruppovuyu-operaciyu-v-access-2007.html

Как сделать групповую операцию в access 2007?

Упражнение 4. Итоговый запрос

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

В окне базы данных щелкните на кнопке Запросы.

Дважды щелкните на значке Создание запроса в режиме конструктора (Create Query In Design View).

В открывшемся окне диалога (рис. 17.6) выделите строку Контакты.

4. Щелчком на кнопке Добавить добавьте выбранную таблицу в верхнюю область конструктора запроса.

5. Выделите пункт Список и снова щелкните на кнопке Добавить.

6. Щелчком на кнопке Закрыть закройте окно диалога Добавление таблицы (Show Table). Списки полей двух таблиц, соединенные линией связи, появятся в окне конструктора.

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

Перетащите поле Фамилия в ячейку Поле (Field) первого столбца конструктора.

В ту же ячейку второго столбца перетащите поле Имя таблицы Контакты.

В третий, четвертый и пятый столбцы бланка запроса перетащите поле Дата таблицы Список (рис. 17.7).

Рис. 17.7. Запрос с групповыми операциями

В раскрывающемся списке ячейки Групповая операция (Total) третьего столб ца бланка запроса выберите пункт Min.

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

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

ТАБЛИЦА 17.1 . Групповые операции

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

Щелкните на кнопке Вид, чтобы выполнить запрос. Появится таблица с пятью столбцами. Два первых столбца содержат фамилии и имена людей. По ним выполняется группировка, то есть расчет значений остальных полей запроса выполняется для записей таблицы Список, сопоставляемых с одним человеком. Как уже говорилось выше, соответствие контакта таблицы Список и человека из таблицы Контакты определяется полями Код_Контакты, с помощью которых осуществляется связь этих двух таблиц. Третий и четвертый столбцы запроса выводят соответственно дату первого (функция Min) и последнего (функция Мах) контакта с данным человеком. Пятый столбец содержит количество записей в таблице Список (функция Count), соответствующих. данному человеку, то есть число контактов с ним. Единственный недостаток построенного запроса — это непонятные имена столбцов. Давайте скорректируем их.

Щелчком на кнопке Вид вернитесь в конструктор запроса.

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

Читайте также  Использование гиперссылок в объектах базы данных

В ячейке Поле четвертого столбца введите Дата последнего контакта: Дата.

В первой строке пятого столбца бланка’запроса введите Число контактов: Дата.

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

Снова щелкните на кнопке Вид.

Для сохранения изменений структуры щелкните на кнопке Да.

В окне диалога Сохранение (Save As) введите имя Итоговый запрос и щелкните на кнопке ОК.

Источник:
http://www.math.mrsu.ru/text/courses/informat/access/17/Index6.htm

Использование групповых операций в запросах

Назначение групповых операций

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

В Access предусматривается девять статистических функций:

  • sum — сумма значений некоторого поля для группы;
  • Avg — среднее от всех значений поля в группе;
  • мах, Min — максимальное, минимальное значение поля в группе;
  • count — число значений поля в группе без учета пустых значений;
  • StDev — среднеквадратичное отклонение от среднего значения поля в группе;
  • var — дисперсия значений поля в группе;
  • First и Last — значение поля из первой или последней записи в группе.

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

Порядок создания запроса с использованием групповых операций

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

Выполняется команда Вид|Групповые операции(View|Totals) или на панели инструментов конструктора запросов нажимается кнопка Групповые операции(Totals). Можно также нажать правую кнопку мыши и выбрать в контекстном меню Групповая операция(Total) (курсор мыши должен быть уста-1новлен в бланке запроса). В бланке запроса появляется строка Групповая Операция (Total),в которой для всех полей записано группировка (Group By).

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

Рассмотрим конструирование запроса с групповой операцией на примере таблицы ПОСТАВКА_ПЛАН.

Запрос с функцией Sum

Определим, какое суммарное количество каждого из товаров должно быть Обставлено покупателям по договорам. Все данные о запланированном к Доставке количестве товара указаны в таблице ПОСТАВКА_ПЛАН.

Создадим запрос на выборку для таблицы ПОСТАВКА_ПЛАН. Из списка таблицы перетащим в бланк запроса поле код_тов — код товара. Это поле создадим для дальнейшей группировки по нему. Перетащим в бланк запроса поле кол_пост, по которому будет вычисляться функция sum для подсчета суммарного количества конкретного товара, заказанного во всех договорах.

Нажмем кнопку Групповые операции(Totals). Заменим слово группировка

(croup By) в столбце кол_пост на функцию Sum. Для этого вызовем список и выберем эту функцию. Бланк запроса примет вид, показанный на рис. 4.13.

В поле код_тов отображается не код товара, сохраняемый в таблице ПОСТАВКА_ПЛАН, а его наименование. Это определяется тем, что в таблице для поля код_тов построен список на основе таблицы товар. Если в вашей базе данных поле код_тов не преобразовано в поле со списком, как показано в главе 3, в таблице запроса будет отображаться код товара.

Подпись поляSum КОЛ_ПОСТ можно заменить наЗаказано товаров. Дляввода этой подписи перейдем в режим конструктора, в бланке запроса установим курсор мыши на поле кол_пост и нажмем правую кнопку. В контекстном меню выберем Свойства(Properties). В окне Свойства поля(Field Properties) наберем в строке Подпись(Caption) — заказано товаров.

Таблица результата после доработки запроса показана на рис. 4А5.

Рис. 4.15. Таблица результата с измененной подписью поля

Сохраним запрос-выборку под именем «Заказано товаров».

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

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

Запрос с функцией Count

Определим, сколько раз отгружался товар по каждому из договоров. Факт отгрузки фиксируется документом «Накладная».

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

Нажмем кнопку Групповые операции(Totals). Заменим слово группировка (Group By) в одном из столбцов с именем ном_дог на функцию count. Бланк запроса примет вид, показанный на рис. 4.20.

Сохраним запрос под именем «Число отгрузок по договорам». Результат выполнения запроса показан на рис. 4.21.

Источник:
http://studopedia.ru/13_160100_ispolzovanie-gruppovih-operatsiy-v-zaprosah.html

Как сделать групповую операцию в access 2007?

Общий вид запроса с групповой операцией выглядит следующим образом:

Группирующее_поле – это поле по которому следует группировать данные. В приведенном примере это будет поле age.

Групповая_операция (или статистическая операция) – это встроенная функция, которая вычисляет некоторые статистические данные по группе. В данном случае это будет функция, которая подсчитывает количество записей в каждой группе. Такая функция в SQL называется Count().

Некоторое_поле – это поле, по которому применяется групповая статистическая операция. В приведенном примере это может быть поле idabiturient.

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

Итак, чтобы решить поставленную задачу нужно написать запрос:

SELECT gender, count(idabiturient) AS num_abitur FROM abiturient GROUP BY gender;

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

SELECT fio, gender, count(idabiturient) AS num_abitur FROM abiturient GROUP BY gender;

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

Групповые операции

Во всех «диалектах» SQL имеется стандартный набор групповых операций:

  • MAX() – вычисление максимума по группе;
  • MIN() – вычисление минимума по группе;
  • COUNT() – подсчет значений в группе;
  • AVG() – среднее значение по группе;
  • SUM() – сумма по группе.

Найти средний возраст абитуриента в мужской и женской группе.

SELECT gender, AVG(age) AS avg_age FROM abiturient GROUP BY gender;

Сложная группировка

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

Разделить абитуриентов на мужскую и женскую группы и подсчитать в каждой группе количество абитуриентов каждого возраста:

SELECT gender, age, count(idabiturient) AS num_abitur FROM abiturient GROUP BY gender, age;

Отбор в групповых запросах

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

Но эти инструкции не идентичны.

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

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

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

SELECT age, count(idabiturient) AS num_abitur FROM abiturient WHERE gender = ‘male’ GROUP BY age;

В этом примере сначала будут отобраны записи, где в поле gender стоит значение ‘male’. Потом результат будет сгруппирован по полю age и выполнится функция COUNT().

Теперь рассмотрим запрос с использованием HAVING. Необходимо показать только те возрастные группы, где больше двух абитуриентов.

SELECT age, count(idabiturient) AS num_abitur FROM abiturient GROUP BY age HAVING num_abitur > 2;

Читайте также  Запросы с вычисляемыми полями - Студопедия

В этом случае сначала будет выполнена группировка по возрасту с вычислением функции COUNT(). А у же потом в полученном результате будут отфильтрованы строки, где число абитуриентов превысило 2.

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

Источник:
http://spravochnick.ru/bazy_dannyh/osnovnye_operacii_yazyka_sql/zaprosy_s_gruppovymi_operaciyami/

Запросы в access

Запросы в access – объекты базы данных, извлекающие из таблиц или других запросов информацию согласно заданным условиям. Это виртуальные таблицы (существующие в оперативной памяти компьютера.

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

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

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

Основные отличия запросов от расширенного фильтра:

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

— на экран можно выводить только необходимые поля;

— в запросе можно переставлять поля в любом порядке;

— команды фильтра сохраняются временно, запрос хранится постоянно как объект базы данных;

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

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

— фильтры не могут создавать вычисляемые поля.

Обилие всяких кнопочек и настроек может постоянно сбивать вас с толку. Также может появиться страх при первом открытии программы.

Самым распространённым является запрос на выборку.

В строке условия отбора значение даты вводится, окруженное знаками #. Например, Between #01.01.2010# And #31.12.2010# — будут отобраны записи в диапазоне с 1 января по 31 декабря 2010 года.

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

При сортировке нескольких полей порядок сортировки идёт слева направо.

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

При операциях с числами программа использует математические знаки, например «+». Но при соединении текстовых полей знак «+» заменяется знаком «&» (амперсанд). Этот знак выполняет операцию конкатенации, т. е. соединяет между собой строки и подстроки, например, ФИО: [Фамилия] & » » & [Имя] & » » & [Отчество] (в кавычках заключена константа «пробел»).

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

При создании вычисляемого поля надо ввести название столбца, после него знак двоеточия, а затем вычисляемое выражение (как в вышеупомянутом примере с ФИО).

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

Нельзя добавлять и изменять записи в запросах, если:

— две таблицы запроса связаны отношением «один-ко-многим» и в таблице «один» не задан первичный ключ;

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

— в запросе применяются статистические функции SQL.

Условия, при которых можно добавить или обновить записи в запросе:

— таблица является единственной в запросе;

— таблицы в запросе связаны отношением «один-к-одному»;

— если таблицы в запросе связаны отношением «один-ко-многим», можно изменять поля только в таблице «многие».

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

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

Если хотим, чтобы запрос извлекал все записи, удовлетворяющие хотя бы одному из условий, одно условие надо ввести в строку «Условие отбора», а другое в строку «Или».

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

Групповые операции (перекрёстные запросы в access)

Аксесс довольно сложная программа. Это подтверждает тот факт, что в интернете можно найти массу информации по ней. Однако, вы знаете что на самом деле достаточно знать лишь 20% инструментов, чтобы создавать и настраивать 80% баз данных в программе? И научиться этому можно после изучения 40 специальных видеоуроков, в которых описана самая суть без воды.

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

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

По умолчанию строка «Групповая операция» в режиме конструктора скрыта.

Группировка

Инструкция «Группировка» разбивает результаты запроса по каждому уникальному значению поля (полей). Например, если в поле Страна встречается 20 раз Литва, 30 раз Польша, 50 раз Чехия, то при группировке по этому полю будет всего три записи – по одной на каждую страну. Если будем добавлять группировку в другие поля, то количество выбранных записей возрастёт, так как программа будет искать уникальное значение не одного, а нескольких полей (например, зададим группировку по странам и по поставщикам. В Литве пять поставщиков, а, следовательно, уникальных записей для Литвы уже будет пять, а не одна).

Инструкция Группировка автоматически задаёт сортировку в алфавитном порядке. Для изменения порядка сортировки надо явно указать программе параметры в строке «Сортировка».

Управляющие запросы

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

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

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

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

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

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

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

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

Обновление

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

Добавление

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

Читайте также  Создание запросов на удаления записей

Удаляет указанные записи в таблицах (одной или нескольких).

Перед выполнением запроса на удаление надо создать такой же запрос на выборку. Лишь убедившись, что отобраны нужные записи, меняем тип запроса «Выборка» на «Удаление».

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

Запрос с параметром

Хотите узнать какие 35 инструментов нужно знать, чтобы научиться создавать базы данных в Аксесс?

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

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

Например, нам часто нужны сведения по сотрудникам, фамилия которых начинается с определённой буквы. Можно сделать около 30 запросов (для почти всех букв русского алфавита), чтобы получать требуемые данные, но это займёт много времени для создания запросов, загромоздит базу данных и вызовет путаницу. Вместо этого создадим один запрос для формирования списка сотрудников, который будет нас спрашивать, с какой буквы начинающиеся фамилии мы хотим видеть. В поле «Условие отбора» введём: Like [Введите первую букву фамилии]& «*». На самом деле, если введём букву «С», условие будет читаться Access как Like «С*». Знак амперсанда «&» указывает на необходимость сцепления введённой буквы с остальными символами искомой ячейки, так как «*» обозначает любое количество символов после «С».

Например, выражение Between [Начальная дата:] And [Конечная дата:] запросит ввести начальную и конечную даты и выдаст все записи, содержащиеся в этом диапазоне (программа распознает разные форматы, например: 01.01.2010 или 01,01,2010 или 01/01/2010). Но для этого в режиме конструктора через меню Запрос – Параметры (можно вызвать через контекстное меню) надо вызвать диалоговое окно «Параметры запроса». В столбце «Параметр» указать правильно название, например [Начальная дата:], а в столбце «Тип данных» указать требуемый тип, в нашем случае «Дата/время». Как правило, указываются параметры для числовых и полей дата/время.

Ещё пример: Like «. » & [Введите номер месяца, например, для марта — 03, для ноября — 11] & «. ». Программа попросит ввести номер месяца года и выдаст все записи, относящиеся к этому месяцу. Если в параметре ввести знак звёздочки «*», то будут выбраны дни рождений за все месяцы.

Запрос может не работать, если формат даты в условии задан 00.00.0000, а в настройках панели управления установлен 00/00/0000. Тогда надо вместо точек добавить ещё по одному вопросу.

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

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

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

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

Программа переводит графический запрос в запрос SQL – универсальный язык запросов.

Собственный язык Access JetSQL имеет отличия от ANSI SQL.

Хотя большинство запросов создаются в режиме конструктора, Access хранит их в формате SQL (структурированном языке запросов). Чтобы увидеть режим SQL, надо выбрать Вид-Режим SQL.

Источник:
http://samoychka.ru/zaprosy-v-access.html

Создание групповых запро­сов

Практическая работа №6. СУБД Access. Использование вычисляемых полей.

Цели: уметь производить вычисления в запросах.

Повторение: уметь создавать структуру БД. Заносить записи в БД.

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

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

Вычисляемые поля

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

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

Выражение1:[Цена]*[Количество], где цена и Количество – имена полей. Выражение1 – заголовок столбца, которое можно изменить. Имена полей заключаются в квадратные скобки.

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

& — Оператор конкатенации (объединяет несколько объектов в одну строку). Например:

Between… And — Позволяет задавать интервал для числового значения

In — Проверяет, совпадает ли значение выражения с одним из элементов указанного списка

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

Now() – функция получения даты и времени

Time() – функция времени

Date() – функция даты

Avg() – среднее от всех значений в группе

Sum() – сумма значений для группы

Sqr() – квадратный корень

Int() – целая часть числа

Len() – длина строки

Выражения.

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

[Животные]=”Кошки” And [Вид]=”Персидский”

[Дата рождения] Between 1/88 and 12/91

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

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

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

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

Создание групповых запро­сов

При создании группового запроса используется строка Групповая операция в конструкторе запроса. Групповые операции позволяют выделить группы записей с одинаковыми значениями в указанных полях и использовать для других полей этих групп определенную статистическую функцию (Sum, Avg, Max, Min, Count, First, Last).

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

Задание.

Создайте БД «Спортивная гимнастика» и сохраните ее в своей папке с тем же именем.

Источник:
http://lektsii.org/3-3533.html