Найти самые частые значения в запросе access. Построение условий в запросах на выборку в субд ms access. Элементы управления формой

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

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

Оператор Between позволяет задать интервал для числового значения, например: Between 300 And 500

Оператор IN позволяет выполнить проверку на равенство любому значению из списка, который задается в круглых скобках, например: IN(3181,3185) или IN("Москва","Санкт-Петербург","Казань")

Оператор Like позволяет использовать образцы и символы шаблона при поиске данных, например: Like "Михайлов" или Like "М*"

Допускается использование в литералах символов шаблона * , ?, #, [список], [!список].

? – в позиции шаблона может быть любой символ: (0 – 9), (Aa – Zz), (Аа – Яя);

* - любое количество символов;

# - в позиции может быть любая цифра;

[список] – в позиции может быть любой символ из списка;

[!список] – в позиции может быть любой символ за исключением символов из списка.

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

Like «А*» – в поле Фамилия все фамилии, начинающиеся на А.

Like «*/1/99» – в поле Дата – все записи за январь 1999г.

Like «*» – в поле Имя – любое имя, начинающееся с указанных букв.

Запросы - действия

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

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

Существует 4 типа запросов на изменение:

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

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

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

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

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

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

Создать запрос на выборку и отладить его (добавить таблицы, значения полей которых будут использоваться для добавления записей);

Отменить свойство Вывод на экран для полей запроса;

Выполнить команду ЗАПРОС/Добавление – для пре­обра­зо­вания в запрос на добавление. При этом в бланке запроса появляется строка Добавление. Далее необходимо включить в бланк запроса поля, данные которых будут добавляться в принимающую таблицу. Можно ввести также условия отбора записей для добавления.

Указать имя таблицы, куда будут добавляться записи;

Выполнить команду ЗАПРОС/Запуск.

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

Технология создания других типов запросов - действий аналогична.

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

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

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

Формы

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

Форматами ввода;

Условиями проверки вводимых данных;

Масками ввода для ввода стандартизованной информации;

Пояснительным текстом;

Группировкой данных, приближающей ее вид к бумажному бланку.

При проектировании формы можно использовать текстовые строки, рисунки и линии, кнопки, списковые окна и т.п. Форма проектируется при помощи панели эле­ме­нтов.

Форма может размещаться на одном экране или нескольких экранных страницах.

В форме может быть разрешено или запрещено корректировать определенные данные или вообще ввод новых записей.

С формой можно работать в 3-х режимах:

В режиме конструктора;

В режиме формы;

В режиме таблицы.

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

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

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

Типы форм

В Access можно создать формы следующих типов:

Форма в столбец или полноэкранная форма;

Ленточная форма;

Табличная форма;

Форма главная / подчиненная;

Сводная таблица;

Форма - диаграмма.

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

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

Табличная форма отображает данные в режиме таблицы.

Форма главная/подчиненная представляет собой совокуп­ность формы в столбец и табличной. Ее имеет смысл создавать при работе со связанными таблицами, в которых установлена связь типа «один-ко-многим».

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

Форма с диаграммой . В Access в форму можно вставить диаграмму, созданную Microsoft Graph. Graph является внедряемым OLE приложением и может быть запущен из Access. С внедренной диаграммой можно работать так же, как и с любым объектом OLE.

Конструирование форм

При создании новой формы появляется диалоговое окно Новая форма , в котором следует выбрать:

Способ создания формы;

Источник данных (из списка).

Access предлагает следующие способы создания формы:

1. С применением Автоформы . Автоформа позволяет созда­вать формы трех стандартных типов: в столбец, ленточную, табличную. При этом в форму вставляются все поля источника данных.

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

3. С помощью конструктора форм. Форма конструируется пользователем в окне конструктора форм.

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

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

Структура формы

Форма состоит из пяти основных разделов:

1. Заголовок формы. Содержимое области заголовка формы выводится в верхней части окна формы.

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

3. Область данных. Область данных содержит поля, в которых отображаются данные.

4. Нижний колонтитул. Содержимое области нижнего колонтитула (дата, № страницы и т.д.) отображаются на каждой экранной странице в нижней части формы.

5. Примечание формы. Содержимое этой области выводится внизу последней экранной страницы формы.

Форма может содержать все разделы или только некоторые из них.

Свойства формы

Как любой объект Access, форма имеет свойства. Значения этих свойств определяют внешний вид формы. Окно "Свойства" формы можно вызвать, например, щелкнув правой клавишей мыши по черному квадрату на пересечении линеек и из контекстного меню выбрать команду СВОЙСТВА .

Окно свойств выделенного объекта содержит следующие вкладки:

Макет – свойства, задающие макет формы;

Данные – свойства, определяющие источник данных, тип данных, формат и т.д.;

События – перечень событий, связанных с объектом;

Все – перечень всех свойств.

Основные свойства формы:

Подпись (это свойство расположено на вкладке МАКЕТ) – задает название формы, которое выводится в строку заголовка в окне формы.

Режим по умолчан ию – определяет режим открытия формы (простая форма, ленточная, таблица).

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

все – можно;

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

форма – нельзя, возможен только просмотр в режиме формы.

Разрешить изменение определяет, можно ли через форму изменять данные, т.е. задает статус "Только для чтения".

Разрешить удаление определяет, может ли пользователь удалять данные через форму.

Разрешить добавление определяет, может ли пользователь добавлять записи через форму.

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

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

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

Полосы прокрутки;

Кнопка оконного меню;

Кнопка размеров окна;

Кнопка закрытия окна;

Тип границы окна;

Кнопка контекстной справки.

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

Элементы управления формой

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

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

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

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

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

Основными элементами управления являются:

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

Свободная надпись используется для задания заголовков, комментариев. Создается кнопкой "Надпись" панели инструментов.

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

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

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

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

На панели "Конструктор форм" выбирается кнопка "Список полей";

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

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

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

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

Для отображения заданного состояния можно ввести его значение по умолчанию. если это значение не задано, то элемент будет находиться в состоянии Null, что соответствует значению Ложь.

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

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

Флажок может быть связан с логическим полем базовой таблицы или запроса. Если флажок связан с логическим полем базовой таблицы, то состояние Установлен/Снят соответствует значениям поля.

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

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

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

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

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

Основные свойства списков:

1. Тип источника данных: таблица / запрос; список значений; список полей; функция VBA.

2. Источник данных – указывает фактический источник данных: для таблицы / запроса – имя таблицы / запроса; для списка значений – значения элементов списка через «;» (например, Пол – м;ж).

3. Присоединенный столбец – поле базовой таблицы, к которому присоединен список.

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

5. Ширина столбца – задается числовым значением через «;». Можно скрыть присоединенный столбец списка, если он содержит несколько столбцов. Для этого нужно установить ширину столбца равной 0. Значение не отображается при выводе списка, однако при выборе строки, значение из присоединенного столбца попадает в поле базовой таблицы.

6. Число строк – определяет максимальное число строк, отображаемое в поле со списком.

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

Кнопка создается мастером. Мастер позволят создать кнопки 30 разных типов и связывает их с процедурами обработки событий. Свойство Подпись определяет текст на кнопке. Свойство Рисунок определяет рисунок на кнопке.

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

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

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

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

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

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

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

Создать подчиненную форму можно:

Добавив элемент Подчиненная форма в форму;

Перетащив форму из окна базы данных в другую открытую форму;

Мастером подчиненных форм.

Отчеты

Типы отчетов

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

- отчет в одну колон ку (в столбец) – представляет собой длинный столбец текста, содержащий надписи полей их значения из всех записей таблицы или запроса;

- многоколончатый отчет – создается из отчета в одну колонку и позволяет вывести данные отчета в несколько колонок (колонки газетного типа);

- ленточный отчет – данные располагаются в виде строк и столбцов (как в таблице);

- групповой/итоговый отчет – создается из ленточного отчета объединением данных в группы с подсчетом итогов;

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

- отчет с подчиненным отчетом .

Структура отчета

Основные разделы отчета:

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

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

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

- область данных – печатается каждая запись из источника данных;

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

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

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

Конструирование отчета

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

Технология создания простого отчета в столбец:

1). Находясь на вкладке ОТЧЕТЫ нажать кнопку СОЗДАТЬ .

2). В окне Новый отчет :

Выбрать инструмент Автоотчет в столбец ;

Нажать ОК.

Технология создания многоколончатого отчета:

1). Создать простой отчет в столбец.

2). Выбрать в меню ФАЙЛ команду Параметры страницы . В диалоговом окне Параметры страницы выбрать вкладку Столбцы и задать:

В группе Параметры сетки число столбцов, которые должны выводиться на каждой странице (поле Число столбцов ), ширину межстрочного интервала (поле Интервал ), расстояние между столбцами (поле Столбцов );

В группе Размер столбца ширину столбца (поле Ширина ) и высоту строки (поле Высота );

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

3). На вкладке Страница выбрать ориентацию: Книжная или Альбомная .

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

Технология создания группового/итогового отчета мастером отчетов

1). Находясь на вкладке ОТЧЕТЫ нажат кнопку СОЗДАТЬ .

2). В окне Новый отчет :

Выбрать инструмент Мастер отчетов ;

Выбрать источник данных в виде таблицы или запроса;

Нажать ОК .

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

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

5). На следующем шаге можно задать собственный способ группировки данных. Для этого из левого списка следует выбрать имя поля, по которому нужно сгруппировать данные. Задав группировку данных, можно с помощью кнопки Группировка задать интервалы группировки.

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

6). На третьем шаге можно задать порядок сортировки записей внутри группы и, нажав на кнопку Итоги , открыть окно, в котором задать, какие итоговые операции нужно выполнять с числовыми полями тех записей, которые входят в группу; определить, что будет выводиться в отчет: данные и итоги или одни итоги (раздел данных скрыт).

7). На четвертом шаге можно выбрать один из стандартных макетов отчета.

8). На пятом шаге – один из стандартных стилей. Любой стандартный стиль можно настроить, можно создать собственный стиль. Для этого предназначена команда ФОРМАТ / Автоформат .

9). На последнем шаге работы мастера отчету следует задать свое имя или согласиться с тем именем, которое сформировал Access, и определить с помощью переключателей дальнейшие действия – работа с отчетом в режиме конструктора или просмотр отчета.

Технология создания группового / итогового отчета в режиме конструктора

1). Создать новый отчет с помощью одноименной команды – кнопка Создать на вкладке Отчеты в окне БД. Выбрать инструмент – Конструктор , выбрать источник данных (таблица / запрос), нажать ОК. В окне конструктора появится пустой макет отчета.

2). Создать макет отчета:

2.1). В разделе Заголовок отчета разместить элемент управления Надпись . Текст надписи явится заголовком создаваемого отчета. Если раздел заголовка отсутствует в макете отчета, следует выбрать команду ВИД /Заголовок| Примечание отчета .

2.2). В разделе Верхний колонтитул разместить элемент управления Подписи к тем полям, которые будут размещаться в области данных. Если верхний колонтитул отсутствует в макете, следует выбрать команду ВИД /Колонтитулы .

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

Все страницы – выводятся на все страницы отчета;

Без заголовка – выводятся на все страницы отчета кроме первой, где расположен заголовок;

Без примечания – выводятся на все страницы отчета кроме последней;

Без заголовка / примечания – выводятся на все страницы отчета кроме первой и последней.

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

Раскрыть список полей источника данных щелчком мыши по кнопке Список полей панели инструментов;

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

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

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

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

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

2.3). Выполнить выравнивание элементов, изменение размеров элементов.

Чтобы изменить размеры элементов, следует:

Выделить все элементы командой ПРАВКА /Выделить все ;

Выполнить команду ФОРМАТ /Размер /По размеру данных .

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

Access позволяет также изменять размеры:

- по узлам сетки – при этом каждый угол элемента управления смещается к ближайшему углу сетки;

- по самому высокому – увеличивает высоту всех элементов до высоты самого высокого;

- по самому низкому;

- по самому широкому;

- по самому узкому .

Выравнивание выполняется для группы выделенных элементов управления командой ФОРМАТ /Выровнять . Для отчетов, содержащих данные в табличной форме, лучше выполнять выравнивание элементов области данных по верхнему или нижнему краю.

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

2.4). Определить порядок сортировки и группировки данных в отчете. Это делается в окне Сортировка и группировка , которое открывается при выполнении команды ВИД ортировка и группировка или кнопки Сортировка и группировка панели инструментов Конструктор отчетов .

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

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

Для группы указать порядок сортировки: по возрастанию, по убыванию;

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

Группа может иметь следующие свойства:

1. заголовок группы – определяет будет ли присутствовать в отчете раздел Заголовок группы . Свойство может иметь два значения: Да / Нет . В раздел Заголовок группы может быть помещено значение поля, по которому выполняется группировка;

2. примечание группы – определяет, будет ли присутствовать в отчете раздел Примечание группы (Да / Нет ). Раздел Примечание группы обычно используется для отображения итоговых операций над данными из записей группы;

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

- по полному значению – группировка выполняется по значению поля;

- по первым символам – группировка выполняется по первым n символам в значении поля. Свойство Интервал задает значение этого n.

Для числовых данных свойство Группировка имеет значения:

- по полному значению ;

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

Свойство Интервал задает диапазон значений в интервале, например, если свойство имеет значение 10, то группировка будет осуществляться для записей, значения которых попадают в интервал 0 – 9, 10 – 19 и т.д.

Для полей типа даты / времени свойство Группировка может иметь следующие значения:

По полному значению;

По кварталам;

По месяцам;

По неделям;

По дням;

По часам;

По минутам.

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

- нет – отменяет обязательное расположение элементов группы на странице;

- полную группу – элементы группы печатать обязательно на одной странице;

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

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

2.5). Для многостраничного отчета определить расположение разделов отчета. Все разделы кроме колонтитулов имеют свойство Конец страницы , с помощью значений которого можно принудительно начинать новую страницу. Значение свойства Не разрывать :

- отсутствует – печать текущего раздела начинается на текущей странице;

- до раздела – печать текущего раздела начинается на новой странице;

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

Страницы доступа к данным

Страницы доступа к данным представляют собой специальный тип Web-страниц, предназначенный для просмотра и работы через Интернет или интрасеть с данными, хранящимися в базах данных Microsoft Access или базах данных Microsoft SQL Server, а также использовать данные из других источников, таких как Microsoft Excel.

В отличие от других объектов Access, которые являются частью базы данных, т.е. находятся в файле с расширением.mdb, страницы доступа сохраняются отдельно, в виде HTML-файлов. При открытии страницы доступа к данным в Internet Explorer средства Office 2000 обеспечивают получение данных и базы Access, а затем отображение их на странице.

Литералы - конкретные значения, воспринимаемые Access так, как они записаны. В качестве литералов могут быть использованы числа, текстовые строки, даты. Текстовые строки заключаются в двойные кавычки, даты - в знаки (#). Например, 567, "Информатика", #1-Января-99#.

Константы - не изменяющиеся значения, которые определены в Access, например, True, False, Да, Нет, Null .

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

Во многих случаях ссылка на конкретное значение должна указывать точное его местоположение в иерархии объектов базы данных, начиная с объекта верхнего уровня. Если необходимо указать ссылку на поле в конкретной таблице, форме, отчете, то перед именем поля ставится имя таблицы, формы, отчета, также заключенное в квадратные скобки и отделенное от имени поля восклицательным знаком. Например, ссылка на поле в таблице примет вид: [Имя таблицы]! [Имя поля] , а ссылка на свойство DefaultValue элемента управления Дата рождения в форме СТУДЕНТ: Forms! [СТУДЕНТ]! [ Дата рождения].DefaultValue

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

Эти операторы определяют операцию над одним или несколькими операндами.

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

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

Допускается использование операторов шаблона - звездочка (*) и вопросительный знак (?).

Оператор Between позволяет задать интервал для числового значения и даты. Например:

Between 10 And 100

задает интервал от 10 до 100; можно задать интервал дат:

Between #01.01.1997* And #31.12.1997*

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

In ("Математики";"Информатики"; " Истории")

Оператор Like позволяет использовать образцы, использующие символы шаблона, при поиске в текстовых полях. Например: Like "Иванов* "

Сформировать условие отбора можно с помощью построителя выражений. Перейти в окно Построитель выражений можно, нажав кнопку Построить на панели инструментов конструктора запросов или выбрав команду Построить в контекстно-зависимом меню. Курсор мыши должен быть установлен предварительно в поле строки ввода условия отбора.

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

Логические операции

Логические операции "И", "ИЛИ"

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

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

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

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

Выражение вводится в бланк запроса в пустое поле строки Поле . После нажатия клавиши или перемещения курсора в другое поле строки, перед выражением в этом поле строки добавляется имя поля Выражeние N . N - целое число, увеличивающееся на единицу для каждого нового создаваемого вычисляемого поля в запросе. Имя вычисляемого поля, стоящее перед выражением, отделяется от него двоеточием. Например:

Выражение!: [Цена]*[Количество] где Цена и Количество - имена полей.

Имя вычисляемого поля - выражение1 становится заголовком столбца в таб­лице с результатами выполнения запроса. Это имя можно изменить.

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

Встроенные функции

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

  • Функции даты и времени . Используются при обработке дат и времени в полях и литералах. Возвращают дату и время полностью или частично (год, месяц, день), например, функция Date формирует текущую дату, функция Month выделяет месяц из значения поля, содержащего дату.
  • Функции обработки текста . Используются при работе с символьными строками.
  • Функции преобразования типа данных . Предоставляют возможность пользователю задавать тип данных для числовых значений, что позволяет избежать подбора наиболее подходящего типа данных системой.
  • Математические и тригонометрические функции . Выполняют операции над числовыми значениями, которые невозможно выполнить с помощью стандартных арифметических операторов.
  • Финансовые функции . Подобно функциям Excel, служат для расчета процента возврата по инвестициям, амортизационных отчислений, годовой ренты и т. п.
  • Статистические функции . Используются при работе над полями подмножества записей для вычисления среднего значения, суммы, минимального, максимального значения.

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

Присвоение пользовательских имен вычисляемым полям

Пользователь имеет возможность присвоить новое имя вычисляемому полю, используя один из следующих способов:

  1. Изменение имени поля в запросе. В режиме конструктора запроса в бланке запроса вместо Выражением введите новое имя.
  2. Изменение подписи поля в свойствах поля. Установите курсор на вычисляемое поле в бланке запроса и откройте окно Свойства поля , щелкнув правой кнопкой мыши и выбрав в контекстном меню пункт Свойства . В окне Свойства поля на вкладке Общие введите нужный текст подписи в строку Подпись поля .

Условия отбора - это ограничения, накладываемые на запрос или расширенный фильтр для определения записей, с которыми он будет работать. Например, вместо просмотра всех поставщиков компании, можно просмотреть только поставщиков из Литвы. Для этого необходимо указать условие отбора, отсеивающее все записи, кроме тех, у которых в поле «Страна» указано «Литва».Чтобы задать условие отбора для поля в бланке запроса, введите выражение в ячейку Условие отбора для данного поля. В предыдущем примере выражением является «Литва». Могут быть использованы и более сложные выражения, например, «Between 1000 And 5000».Если запрос содержит связанные таблицы, то в значениях, указанных в условиях отбора для полей из связанных таблиц, учитывается регистр знаков. Они должны соответствовать регистру значений в базовой таблице.

Для чего в запросе и отчете можно использовать вычисляемое поле?

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

Что такое параметры объединения в СУБД Microsoft Access, для чего их используют?

Что такое запрос с параметром, и как его можно задать?

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

  1. В меню Справка выберите Примеры баз данных , а затем Пример базы данных Борей . Когда появится Главная кнопочная форма , закройте ее.
  2. Из меню Вид выберите Объекты базы данных , а затем Запросы .
  3. Счета , а затем щелкнитеКонструктор .
  4. Введите следующую команду в ячейку Условия отбора для поля СтранаПолучателя. Обратите внимание, что введенное выражение должно быть заключено в квадратные скобки.

[Обзор счетов страны]

  1. В меню Запрос выберите пункт Выполнить . При появлении запроса введите Великобритания и щелкните OK для просмотра результатов запроса. Обратите внимание на то, что запрос возвращает только записи, у которых в качестве страны получателя значится Великобритания.

Создание запроса с двумя и более параметрами

  1. Запустите Microsoft Access 2002.
  2. В меню Справка выберите Примеры баз данных , а затем Пример базы данных Борей . Когда появится Главная кнопочная форма , закройте ее.
  3. Из меню Вид выберите Объекты базы данных , а затем Запросы .
  4. В окне базы данных щелкните запрос Счета , а затем щелкнитеКонструктор .
  5. Введите следующую команду в ячейке Условия отбора для поля ДатаРазмещения.

Между [ввести дату начала] и [ведите дату окончания]

  1. В меню Запрос выберите команду Выполнить . При запросе даты начала введите 1/1/1997, затем нажмите кнопку OK . При запросе даты окончания введите 1/31/1997, а затем нажмите кнопку OK , чтобы просмотреть результаты запроса. Обратите внимание на то, что запрос возвращает только записи с датой заказа, выпадающей на январь 1997 года.
  2. Закройте запрос без сохранения.

Создание параметров, использующих подстановочные символы

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

  1. Запустите Microsoft Access 2002.
  2. В меню Справка выберите Примеры баз данных , а затем Пример базы данных Борей . Когда появится Главная кнопочная форма , закройте ее.
  3. Из меню Вид выберите Объекты базы данных , а затем Запросы .
  4. В окне базы данных щелкните запрос Счета , а затем щелкнитеКонструктор .
  5. Введите следующую команду в ячейке Условия отбора для поля Марка:

LIKE "*" & [Введите продукты, содержащие выражение] & "*"

  1. В меню Запрос выберите команду Выполнить . При появлении запроса введите соус, затем нажмите кнопку OK , чтобы просмотреть результаты запроса. Обратите внимание на то, что запрос возвращает только записи, в которых название продукта содержит слово "соус."
  2. Закройте запрос без сохранения.

Какие групповые операции можно использовать в СУБД MS Access при создании запросов с групповыми операциями? Опишите назначение каждой из них.

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

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

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

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

Добавление полей на основе условий отбора;

Добавление записей, если некоторые поля из одной таблицы не существуют в другой. Запрос на добавление добавит данные в совпадаю­щие поля и пропустит остальные.

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

Создание таблицы для экспорта в другую базу данных Microsoft Access;

Создание отчетов, содержащих данные нескольких таблиц;

Создание резервной копии таблицы.

Создание архивной таблицы, содержащей старые записи;

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

Выбор данных из одной таблицы

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

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

Проще всего создать запрос на основе одной таблицы так: открыть окно базы данных, выбрать в окне базы данных вкладку Запросы , нажать кнопку Создать, в новом окне выбрать режим Конструктор и Ok . В следующем окне "Добавление таблицы" выбрать нужную таблицу, а затем нажать кнопки Добавить и Закрыть .

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

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

Рис.10.1. Окно конструктора запросов

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

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

Ввод условий отбора. Если нужно отобрать записи с конкретным значением поля, его нужно ввести в ячейку Условие отбора этого поля. Текстовое значение в качестве условия заключается в кавычки. При задании условия отбора можно пользоваться знаками отношений < , >, >=, <=, =,< > и логическими операциями or , and .

Кроме этого Access предоставляет специальные операторы для отбора данных, выводимых в запросе:

between - определяет диапазон значений. Between 10 and 20 означает то же самое, что и выражение >=10 and <=20 ;

in - задает используемый для сравнения список значений. Выражение in (“ wa ”,” ca ”,” id ”) означает то же самое, что и выражение wa or ca or id ;

like - этот оператор позволяет при отборе текстовых полей использовать символы: ?, *,# . Символ # указывает, что в данной позиции должна стоять цифра, символы ? и * имеют то же назначение, что и в именах файлов OC MS DOS.

Например, like B *” - означает, что нужно выбрать поля, начинающиеся с буквы В .

Условия отбора для дат и времени Access обрабатывает в любом формате. При вводе дату или время необходимо заключать в символы #. Например, #15 Апрель 1998#, #15/04/98# определяют одну и ту же дату.

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

day (дата) - возвращает значение дня месяца в диапазоне от 1 до 31. Если нужно отобрать записи с определенными днями месяца - задается вычисляемое поле, например, day([Дата_заказа]) и вводится условие отбора, например, >10. В этом случае выбираются все записи поля, вычисляемое поле которых >10;

month (дата) - возвращает значение месяца года в диапазоне от 1 до 12;

year (дата) - возвращает значение года в диапазоне от 100 до 9999;

weekday (дата) - возвращает целое число от 1(Воскресенье) до 7(Суббота), соответствующее дню недели;

date () - возвращает текущую системную дату.

Вычисляемые поля . Можно выполнить вычисления с любыми полями таблицы и сделать вычисляемое выражение новым полем в наборе записей. При этом можно использовать любые функции, встроенные в Access, и выполнять над полями таблицы арифметические операции с помощью операторов: +, -, *, /, \, ^, mod, &. Например, пусть имеется имя поля с именем “Количество ”, где записано количество единиц товара и поле “Цена , где записана стоимость единицы товара. Тогда для подсчета стоимости товара в пустое поле бланка запроса нужно ввести выражение Количество*Цена и значения этих полей будет перемножено.

Задание имен вычисляемых полей . При создании любого выражения в бланке запроса Access помещает стандартное имя поля “Выражение1 :”. Можно изменить или назначить имена полей, что является важным, если их нужно использовать в отчете или других запросах. Это делается с помощью окна свойств. Для этого нужно щелкнуть по любой ячейке соответствующего столбца, нажать кнопку Свойства на панели инструментов и выбрать Подпись .

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

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

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

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

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

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

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

min , max - вычисляет наименьшее (наибольшее) значение поля внутри группы;

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

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

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

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

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

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

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

Это средство является довольно мощным инструментом. Учтите, что вы лишь задали образец данных, a Access не только интерпретировала его, но и использовала для создания динамического набора данных запроса. Это как раз то, что называют запросом по образцу (query by example): вы вводите образец и выполняете запрос на его основе.

Для удаления критерия из ячейки выделите ее содержимое и либо нажмите клавишу , либо выберите команду Правка Удалить (Edit Delete).

Условия можно также задавать для полей с данными типа Числовой (Numeric), Дата/время (Date/Time) и Логический (Yes/No).

Access может сравнивать значение поля типа Дата/время (Date/Time) с заданным значением, используя следующие операторы сравнения: <, >, = и их комбинацию. Обратите внимание, что Access автоматически размещает значения даты между разделителями (символами #). Разделители позволяют Access отличать данные типа Дата/время (Date/Time) от данных типа Текстовый (Text). Так же, как при вводе текстовых образцов, вам необязательно вводить знаки #, поскольку Access понимает, что вам нужно, и сама преобразует формат ввода.

Запросы подробно

Запрос является объектом БД. Он представляет собой сформулированную информационную потребность.

При работе с запросом можно выделить два этапа: формирование (проектирование) и выполнение. При выполнении запроса выбирается информация из всех таблиц БД в соответствии с критерием запроса.



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

ВставкаЗапрос;

Инструментом Новый объект–Запрос;

ВкладкаЗапрос – Создать запрос с помощью Конструктора;

ВкладкаЗапрос – кнопка Создать запрос с помощью Мастера.

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

Наличие "галочки" в строке "Вывод на экран" означает присутствие данного поля в таблице результатов поиска. Критерии запроса устанавливаются в строке "Условие отбора" и последующих строках, связанных логическим оператором OR. Все критерии отбора, указанные в одной строке, объединяются оператором AND.

В качестве "Условия отбора" могут быть выражения (вычисляемое поле), даты, текст, которые вносятся либо вручную, либо инструментом , либо с помощью команды контекстного меню Построить. Константы типа Дата/Время заключаются в #.

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

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

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

Для построения выражений имеется специальное средство Построитель выражений, вызываемый правой кнопкой мыши на поле или кнопкой Построить.

Рис.2. Окно Построителя выражений

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

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

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

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

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

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

Возможные операции в строке "Групповые операции":


SUM - сложение;

AVG - среднее значение;

MIN - минимальное значение;

МАХ - максимальное значение;

COUNT- количество записей со значениями (без пустых значений);

STDEV - стандартное отклонение;

VAR - дисперсия;

FIRST- значение в первой записи;

LAST - значение в последней записи.


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

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

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

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

Модификация БД с помощью запросов на изменение

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

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

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

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

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

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

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

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

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

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

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

1. Создайте путем копирования дубликат таблицы CONT без данных, назвав ее MEDAL (Медаль), для отбора медалистов. Для этого в контекстном меню для таблицы CONT выберите Копировать, затем выполните команду Вставить, в параметрах вставки укажите "Только структура" (см рис.). Просмотрите таблицу MEDAL - она должна быть пустой и иметь такую же структуру, как и таблица CONT.


2. Отберите в таблицу MEDAL записи обо всех абитуриентах-медалистах. Для этого:

Создайте запрос на выборку, включив в него все поля таблицы CONT (Контингент) в любой последовательности, и критерий по полю mdl (медаль) (Да в строке Условие отбора), запустите запрос для проверки правильности отбора записей;

Измените статус запроса "Выборка" на запрос "Добавление" (Запрос- Добавление), в появившемся окне задайте имя таблицы для добавления MEDAL , обратите внимание на появление строки "Добавление" в бланке запроса;


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

Самостоятельно создайте:

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

Запрос на добавление записей в таблицу STUD (Студенты) для тех абитуриентов, у которых суммарный балл по экзаменам больше 30.

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

6. Удалите из таблицы CONT (Контингент) записи об абитуриентах, получивших хотя бы по одному из экзаменов менее 5 баллов.

Создайте запрос на выборку, включив в него все поля таблицы CONT (Контингент) и критерий по полям с экзаменационными оценками, запустите запрос для проверки правильности отбора записей;

Измените статус запроса "Выборка" на запрос "Удаление". (Запрос- Удаление)