Операционная система Windows


 

Меню

Реклама


Access

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

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

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

В базе данных Access основными объектами являются таблицы, запить, формы, отчеты, макросы и модули. Таблица – объект, который используется для сохранения данных. Таблица состоит из полей столбиков, в которых сохраняются разные данные, и записей строк. В записи собрана вся информация о некотором объекте. Запрос – объект, который позволяет пользователю получить нужные данные из одной или нескольких таблиц. Для создания запроса можно использовать бланк Qbeзапит по образцу или инструкцию SQL. Можно создавать запить на выборку, возобновление, удаление или добавление данных. С помощью запросов также можно создавать новые таблицы, используя данные из одной или нескольких существующих таблиц. Форма – объект, предназначенный в основном для вводу данных, отображения их на экране или управления работой дополнения. Отчет – объект, предназначенный для создания документа, который в дальнейшем может быть распечатан или включен в документ другого дополнения.

1. СОЗДАНИЕ ЗАПРОСОВ НА ОБОРЫШЕ Даних

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

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

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

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

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

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

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

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

Лучше всего за все создать запрос на основе одной таблицы так: открыть окно базы данных, выбрать нужную таблицу, раскрыть список кнопки новыйобъектна панели инструментов и выбрать пункт новый запрос и нажать кнопку ок якщо строка имя таблицыне выводится в бланке запроса, следует выбрать команду вид/имена таблиц. видкриваеться окно конструктора, оно разделено на две части рис. 1. В верхней части находятся списки полей таблиц или запросов, на основании которых создается новый запрос. В нижний размещенный бланк QBE Query By Example - запрос по образцу, в котором выполняется вся работа по созданию нового запроса. Каждый столбик бланку представляет одно поле, которое используется в запитых. Поле может просто принадлежать одной из таблиц, быть исчисляемым его значение рассчитывается на основе одного или нескольких полей таблицы, или итоговым, которое использует одну из встроенных функций Microsoft Access.

Окно бланка запиту

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

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

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

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

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

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

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

Установления свойств полив

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

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

Введение условий видбору

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

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

Когда вводятся условия отбора для нескольких полей, то все выражения в строке условие отбора або в строке илиповинни принимать значение Истина для дорогой записи, которая включается в набор записей запроса. Это значит, что Access выполняет логическую операцию andнад условиями отбора, которые находятся в одной строке. Чтобы результат операции andмав значения Истина, условия должны быть истинными; только в этом случае запись отбирается запросом. Например, мы выбираем записи из таблицы, в которой находятся данные о рабочих. Условием отбора избрано поле Общий стаж и его значиння:

10 AND 20

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

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

"Киев" OR "Винница", значит, что будут отобраны все записи о поставникив, которые находятся в городах Киев и Винница.

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

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

Between. Определяет диапазон значений. Between 10 означает то же, что и выражение And 20 =10 And =20.

In. Задает список значений, который используется для сравнения. Выражение In"киив","винниця" означает то же, что и выражение "Киев" OR "Винница".

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

Условия отбора для дат и часу

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

, Чтобы сообщить Access о том, что вводится дата и время, значение вмещается в символы числа #. Например, #10 Апрель 2003# и #10/04/03# определяют одну и ту же дату.

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

Dayдата. Возвращает значение дня месяца в диапазоне от 1 до 31.

Monthдата. Возвращает значение месяца года в диапазоне от 1 до 12.

Yearдата. Возвращает значение года в диапазоне от 100 до 9999.

Weekdayдата. Возвращает значение чисел от 1 Воскресенье до 7 Суббота, которые отвечают дням недели.

Hourдата. Возвращает целое число от 0 до 23, которые представляют значение времени.

Datepartинтервал, дата. Возвращает номер квартала или номер недели в зависимости от того, какой код интервала задается "q" - для определения квартала, "ww" - для определения порядкового номера недели в году.

Date. Возвращает текущую системную дату.

Использование параметров запиту

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

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

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

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

Многотабличные запити

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

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

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

Конструкторзапиту

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

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

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

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

Создания запроса на основе другого запиту

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

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

1.


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

2. В диалоговом окне новыйзапросвибрати мастера простой запрос рис. 3. Нажать ок.

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


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

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

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

Открытие, копирование, сохранение, переименовывание и удаление запитив

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

Можно создать ярлык для открытия объекта базы данных, которая находится или на компьютере пользователя, или на файловом сервере сети или в директории для общего доступа. В Microsoft Windows можно создать ярлык, переместив с помощью мыши объект из окна базы данных в рабочий стол или папку. Другой способ – щелкнуть правой кнопкой мыши нужен объект запрос, например и выбрать команду создать ярлык.Щоб создать ярлык не на рабочем столе, нужно ввести новый путь в поле размещение.

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

Сохранение запроса происходит путем нажатия кнопки сохранитьна панели инструментов.

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

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

Для удаления объекта выделить его и нажать кнопку Delete.

Оптимизация запитив

Существует ряд способов ускорения выполнения запросов:

- Сжимать базы даних

- Индексировать поля

- Выбирать типы данных минимального розмиру

- При создании запроса не добавлять лишни поля в запрос. Снять флажок вывод на экранДля полей, содержание которых не выводится в запити

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


2. ВЫПОЛНЕНИЕ ОБСЧЕТА В Запитах

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

Вычисляемое поле может также содержать результат конкатенции объединения значинь текстовых полей или строчных текстовых констант. Чтобы создать строчную константу, нужно заключить текст в двойные или одинарные кавычки. В качестве операции конкатенции используется символ "". Например, можно создать полет, какое будет содержать результат объединения поля Фамилия и поля Имя: [Фамилия] [Имя].

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

+ Добавляет два арифметических выражения.

- Вычитает от первого арифметического выражения второй.

Перемножает два арифметических выражения.

/ Делит первое арифметическое выражение на второе выражение.

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

^ Высчитывает степень первого арифметического выражения, степень задается вторым арифметическим выражением.

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

Создает текстовую строку, как результат присоединения второй строки в конец первого.

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

Использование построения выражений.

Створювач виразив

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

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

Например, у нас есть таблица с данными об учениках 8-а класса, складывается она из таких полей: Фамилия, Имя, Отчество, Дата рождения, Физика, Химия, Алгебра, Геометрия, История, Украинская литература, Украинский язык. Формат последних семи полей числовой оценки при 12-ти бальной шкалой. Необходимо вычислить среднюю оценку за учебу для каждого ученика.

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

Средняя оцинка=сума оценок по всем предметам/килькисть предметив

В верхнем окне построителя выражений ця формула приобретет такой вид:

Выражение1:[8аклас]![Физика]+[8аклас]![Химия]+[8аклас]![Алгебра]+[8аклас]![Геометрия]+[8аклас]![История]+[8аклас]![Украинская литература]+[8аклас]![Украинский язык]/7

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

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

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

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

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

Итоговые запити

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

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

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

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

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

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

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

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

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

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

First Возвращает первое значение этого поля в группе.

Last Возвращает последнее значение этого поля в группе.

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

ПЕРЕКРЕСТНЫЕ Запити

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

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

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

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

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

Ограничение на использование запросов на оборыше для возобновления даних

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

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

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

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

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

Создание перекрестных запросов с помощью майстра

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

2. В диалоговом окне новый запросвибрати мастера перекрестный запрос.

3. Нажать кнопку ок.

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

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

Настройка свойств запиту

Окно бланка запиту

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

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

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

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

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

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


4. ЗАПИТЬ НА СМЕНУ Даних

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

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

Запрос на поновлення

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

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

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

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

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

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

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

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

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

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

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

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

Запрос на додавання

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

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

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

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

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

Ошибки при выполнении запросов на змину

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

Во время выполнения запитая на смену Access различает четыре категории ошибок:

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

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

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

- Нарушение условий на значення. Если записи, которые вставляются или возобновляются, не удовлетворяют условию на значение для некоторого поля или для таблицы, Access сообщает об ошибке и не проводит вставку или возобновление подобных записей.

Удаление группы записив

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

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

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

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

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