Запросы

Что представляет собой БД?

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

База данных Access — это хранилище объектов. В одной такой базе данных может содержаться более одной таблицы. Представьте систему отслеживания складских запасов с тремя таблицами — это будет одна база данных, а не 3.

Что касается БД Access, то в ней все таблицы сохраняются в одном файле совместно с другими объектами (формами, отчётами, модулями, макросами).

Для файлов БД, созданных в формате Access 2007 (он совместим с Access 2010, Access 2013 и Access 2016), применяется расширение ACCDB, а для БД, которые созданы в более ранних версиях, — MDB. При этом посредством Access 2007, Access 2013, Access 2010 и Access 2016 вы сможете, при необходимости, создавать файлы и в форматах более ранних версий (Access 2000, Access 2002–2003).

Применение БД Access позволяет :

• добавлять новые данные в БД (допустим, новый артикул складских запасов);

• менять информацию, находящуюся в базе (перемещать артикул);

• удалять данные (например, когда артикул продан либо утилизирован);

• упорядочивать и просматривать данные разными методами;

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

Однозарядные запросы

Давайте познакомимся с процессом построения запросов, построив самый простой запрос: запрос с одной таблицей.

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

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

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

  1. Выберите вкладку « Создать » на ленте и найдите группу «Запросы».
  2. Выберите команду «Запрос дизайна».

Access переключится на представление Query Design . В появившемся диалоговом окне « Показать таблицу » выберите таблицу, в которую вы хотите запустить запрос. Нажмите « Добавить», затем нажмите «Закрыть» . Мы выполняем запрос о наших клиентах, поэтому добавим таблицу Customers .

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

В нашем примере мы хотим отправлять приглашения клиентам, которые живут в определенной области, поэтому мы будем включать поля FirstName, Last Name, Street Address, City, State и Zip Code. Мы не планируем звонить или отправлять по электронной почте наших клиентов, поэтому нам не нужно включать номер телефона или адрес электронной почты поля.

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

  • Мы хотим найти наших клиентов, которые живут в городе под названием Raleigh , поэтому в нашем Городском поле мы наберем «Raleigh» . Ввод «Raleigh» в кавычках будет извлекать все записи с точным соответствием для Raleigh в поле City.
  • Некоторые клиенты, которые живут в пригороде, живут довольно близко, и мы также хотели бы пригласить их. Мы добавим их почтовый индекс , 27513 , в качестве еще одного критерия. Поскольку мы хотим найти клиентов, которые либо живут в Raleigh, либо в почтовом индексе 27513, мы наберем «27513» в строке or: Zip Code.

После того, как вы установили критерии, запустите запрос, нажав команду « Выполнить» на вкладке « Дизайн запросов ».

Результаты запроса будут отображаться в представлении Datasheet запроса , которое выглядит как таблица. Если вы хотите, сохраните запрос, нажав команду « Сохранить» на панели быстрого доступа. Когда появится запрос на его имя, введите нужное имя и нажмите «ОК» .

Создание запроса с несколькими таблицами

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

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

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

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

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

Регистрация Свойства диалоговое окно. Выберите вариант, чтобы выбрать направление вашего соединения.

  • Выберите вариант 2: для объединения слева направо . В нашем запросе левая таблица — таблица Customers , поэтому выбор этого означает, что все наши клиенты, которые соответствовали нашим критериям местоположения, независимо от того, разместили ли они заказ, будут включены в наши результаты. Мы не хотим выбирать этот вариант для нашего запроса.
  • Выберите вариант 3: для запроса справа налево . Поскольку наш правильный стол является нашей таблицей Orders , выбор этого параметра позволит нам работать с записями для всех заказов и только для клиентов, разместивших заказы. Мы выберем этот вариант для нашего запроса, потому что это именно те данные, которые мы хотим видеть.

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

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

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

  • Во-первых, чтобы найти клиентов, которые не живут в Роли, мы будем вводить Not In («Raleigh») в поле City.
  • Во-вторых, чтобы найти клиентов , которые имеют телефонный номер , начинающийся с кодом 919 , мы вводим Like ( «919 *») в номер телефона поле.

После того, как вы установили критерии, запустите запрос, нажав команду « Выполнить» на вкладке « Дизайн запросов ».

Результаты запроса будут отображаться в представлении Datasheet запроса , которое выглядит как таблица. Если вы хотите, сохраните запрос, нажав команду « Сохранить» на панели быстрого доступа. Когда появится запрос на его имя, введите нужное имя и нажмите «ОК» .

Новые статьи

  • Проектирование собственной базы данных в Access — 21/08/2018 15:16
  • Форматирование форм в Access — 21/08/2018 15:11
  • Создание форм в Access — 21/08/2018 15:05
  • Изменение таблиц в Access — 21/08/2018 14:58
  • Дополнительные параметры отчета в Access — 21/08/2018 14:48
  • Создание отчетов в Access — 21/08/2018 14:42
  • Дополнительные параметры дизайна запроса в Access — 21/08/2018 14:36

Предыдущие статьи

  • Сортировка и фильтрация записей в Access — 21/08/2018 04:37
  • Работа с формами в Access — 21/08/2018 04:25
  • MS Access — Работа с таблицами, создание, удаление, настройка внешнего вида — 20/04/2018 17:18
  • MS Access — Управление базами данных и объектами — 30/03/2018 16:18
  • Начало работы в Access. Знакомство с Access 2010 — 10/02/2018 18:24
  • MS Access: Введение в объекты — Таблицы, формы, запросы и отчеты — 07/02/2018 08:32
  • MS Access: Что такое база данных? Отличие Access от Excel. — 03/02/2018 18:18

Отношения между таблицами в Access

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

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

Запросы на изменение

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

  • создание новых таблиц;
  • добавление записей в исходные таблицы;
  • изменение данных в исходных таблицах;
  • удаление записей из исходных таблиц.

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

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

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

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

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

Ключевое поле таблицы MS Access, его назначение, способы задания

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

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

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

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

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

Виды индексированных полей в MS Access, примеры

Свойство «Индексированное поле» (Indexed) определяет индекс, создаваемый по одному полю. Индекс ускоряет выполнение запросов, в которых используются индексированные поля, и операции сортировки и группировки. Например, если часто выполняется поиск по полю «Фамилия» в таблице «Сотрудники», следует создать индекс для этого поля.

Значение данного свойства можно задать только в окне свойств в режиме конструктора таблицы. Индекс по одному полю может быть определен путем установки свойства Индексированное поле (Indexed). Кроме того, можно выбрать команду Индексы в меню Вид или нажать кнопку «Индексы» на панели инструментов. Будет открыто окно индексов.

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

Рассмотрим некоторые из этих дополнительных свойств:

Свойство «Тип элемента управления»(DisplayControl) содержит раскрывающийся список типов элементов управления, доступных для выбранного поля. Для полей с типами «Текстовый» или «Числовой» для данного свойства возможен выбор поля, списка или поля со списком. Для логических полей возможен выбор поля, поля со списком или флажка.

Свойства «Тип источника строк» (RowSourceType), «Источник строк» (RowSource) определят источник данных для списка или поля со списком. Например, для того чтобы вывести в строках списка данные из запроса «Список клиентов», следует выбрать для свойства Тип источника строк значение «Таблица/запрос» и указать в свойстве Источник строк имя запроса «Список клиентов». Если список должен содержать небольшое число значений, которые не должны изменяться, можно выбрать в свойстве Тип источника строк (RowSourceType) «Список значений» и ввести образующие список значения в ячейку свойства Источник строк (RowSource). Элементы списка отделяются друг от друга точкой с запятой.

Дата добавления: 2018-02-28 ; просмотров: 830 ; ЗАКАЗАТЬ РАБОТУ

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

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

  • на выборку;
  • на действие.

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

  • по образцу (QBE – Query by example);
  • SQL (Structured Query Language).

Первый вид использует специальный «Конструктор запросов». Такой мастер создания команд есть в СУБД Access. Он позволяет создавать запросы пользователям без специальных знаний.

SQL-запрос формирует программист, используя специальные инструкции.

Вставка рисунка или объекта

Создание других таблиц для этой базы данных — аналогичное. 

Создайте еще 5 таблиц самостоятельно.

Вставка в запись рисунка или объекта

Рисунок или объект добавляется из имеющегося файла либо создается в приложении OLE (например, в MS Paint), а затем вставляется в текущую запись.

Рассмотрим размещение объекта OLE на примере поля Фотография начальника в таблице Преподаватели. Фотографии хранятся в формате графического редактора Paint в файлах с расширением .bmp. Если рисунка в вашем файле нет, то создайте его самостоятельно и сохраните.

  1. В окне базы данных установите курсор на таблице Преподаватели и нажмите кнопку Открыть
  2. Заполните строки (записи) открывшейся таблицы данными в соответствии с названиями столбцов (полей)
  3. Для размещения поля Фотография начальника выполните внедрение объекта OLE в файл базы данных. Установите курсор в соответствующее поле таблицы. Выполните команду меню Вставка|Объект
  4. В окне Вставка объекта выберите тип объекта Paintbrush Picture и установите флажок Создать из файла
  5. В этом окне можно ввести имя файла, содержащего фотографию.
  6. Для просмотра внедренного объекта установите курсор в соответствующее поле и дважды щелкните кнопкой мыши
  7. Чтобы вернуться из программы Paint, выполните команду Файл|Выход и возврат к таблице Преподаватели.
Размещение данных типа МЕМО в таблице

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

Запросы на изменение

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

Сейчас в таблице «Студенты» есть две записи с пустыми полями «Факультет» и «Курс» — недавно добавленные строки. Давайте сделаем в них изменения и внесем нужные данные в эти столбцы.

Студент Семенов поступил на первый курс юридического факультета. В Конструкторе запросов выбираем тип команд «Обновление» и добавляем нужные данные и условие изменения записей. Нам нужно изменить два поля, поэтому вносим данные для изменения в двух столбцах параметров запроса – поле «Факультет» таблицы «Студенты» должно принять значение «Юридический», поле «Курс» этой же таблицы – значение «1». В третьем столбце вносим условие, по которому отбирать данные для изменения. Фамилия студента таблицы «Студенты» должна быть «Семенов».

В режиме SQL видим:

UPDATE Студенты SET Студенты.Факультет = «Юридический», Студенты.Курс = 1

WHERE Студенты.=»Семенов»;

Выполняем операцию и получаем результат.

Связывание таблиц

Если для какой-то из таблиц не было определено ключевое поле, то в поле Тип отношения отображается текст «Не определено».

  1. Откройте окно Схема данных, нажав кнопку на панели инструментов
  2. В диалоговом окне Добавление таблицы выберите вкладку Таблицы и, нажимая кнопку Добавить, разместите в окне Схема данных все ранее созданные таблицы базы данных, список которых будет отображен в диалоговом окне. Можно добавить все таблицы сразу, выделив 1-ую таблицу и нажав Shift — последнюю таблицу.
  3. Нажмите кнопку Закрыть. В результате в окне Схема данных будут представлены все таблицы базы данных КОЛЛЕДЖ со списками своих полей.
  4. Установите связь между таблицами ГРУППА и СТУДЕНТ по простому ключу Номер Группы или Код группы (смотри в своей БД). Для этого в окне Схема данных установите курсор мыши на ключевое поле НГ главной таблицы ГРУППА и перетащите это поле на поле Номер Группы в подчиненной таблице СТУДЕНТ  Для удаления ошибочной связи в окне Схема данных выделите ненужную связь и нажмите Del.
  5. В открывшемся окне Изменение связей в строке Тип отношения установится один-ко-многим. Отметьте доступный для этого типа отношений параметр Обеспечение целостности данных.
  6. Установите флажки каскадное обновление и удаление связанных полей, тогда будет обеспечена автоматическая корректировка данных для сохранения целостности во взаимосвязанных таблицах. Нажмите Создать. Чтобы линии связи не пересекались и были удобны для восприятия, расположите таблицы в окне Схемы данных в соответствии с их относительной подчиненностью.
  7. Установите связи по простому ключу для других пар таблиц:

ПРЕДМЕТПРЕПОДАВАТЕЛЬ 

ПРЕДМЕТ-ЗАНЯТИЯ 

ПРЕПОДАВАТЕЛЬГРУППА

ГРУППАЭКЗАМЕН 

Создание условия на значение для проверки данных в поле

Применимо к: Microsoft
Office Access 2007

Печать

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

Предполагаемое действие:

  • Основные сведения об условиях на значение
  • Проверка данных при вводе в поля таблицы
  • Проверка данных при вводе в формы
  • Проверка данных при выполнении операций импорта
  • Справочные сведения об условиях на значение

Основные сведения об условиях на значение

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

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

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

  • Типы данных.Типы данных обеспечивают первый уровень проверки. При разработке таблицы базы данных определяются типы данных для каждого поля в таблице, и эти типы данных служат ограничением на вводимые пользователями данные. Например, в поле типа даты и времени можно ввести только дату и время, а в поле денежного типа можно ввести только денежные данные и т. д.
  • Размеры полей.Размеры полей обеспечивают другой уровень проверки. Например, при создании поля для хранения имен можно указать, что оно должно принимать не более 20 знаков. Так можно предотвратить вставку в поле больших объемов ненужного текста недобросовестными пользователями или ошибочный ввод неопытным пользователем имени и фамилии в поле, предназначенное для хранения только имени.
  • Свойства таблицы.Свойства таблицы обеспечивают особые типы проверки. Например, если задать для свойстваОбязательное поле (Required)значениеДа, пользователи обязательно должны будут вводить значение в это поле.

Можно также использовать свойствоУсловие на значение (Validation Rule), чтобы
ограничить ввод только определенными
значениями, и свойствоСообщение об
ошибке (Validation Text)
для предупреждения
пользователей об ошибках.

Например,
использование правила>100 And =требует ввода конечной даты, совпадающей
с начальной датой или более поздней.

Текст, введенный в свойствоСообщение
об ошибке (Validation Text)
, например «Введите
значения в пределах от 100 до 1000» или
«Введите конечную дату не ранее
начальной», сообщит пользователям о
допущенной ошибке и о том, как ее
исправить.

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

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

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

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

Дополнительные сведения о типах данных
и размерах полей см. в статье Изменение
типа данных для поля. Дополнительные
сведения о масках ввода см. статьюСозданиемаски ввода для ввода значений в поле
или элемент управления в определенном
формате.

Ключи в Access

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

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

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

1. Первичный ключ, определяемый по знаку ключа рядом с именем поля.

2. Внешний ключ, определяемый по отсутствию знака ключа.

Объединяя все вместе

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

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

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

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

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

В статье «Что такое база данных?» мы обсудили концепцию реляционной базы данных, которая представляет собой базу данных, способную понять, как разные наборы данных относятся друг к другу. Ситуации, подобные приведенному выше примеру, являются именно тем, почему люди находят реляционные базы данных настолько полезными. Без реляционной базы данных, что должно быть простой задачей — поиск книги и наблюдение, если она проверена и где — становится невероятно сложной и трудоемкой. Знание того, как использовать четыре объекта Access, может сделать даже сложные задачи довольно удобными для пользователя.

Новые статьи

  • Проектирование собственной базы данных в Access — 21/08/2018 15:16
  • Форматирование форм в Access — 21/08/2018 15:11
  • Создание форм в Access — 21/08/2018 15:05
  • Изменение таблиц в Access — 21/08/2018 14:58
  • Дополнительные параметры отчета в Access — 21/08/2018 14:48
  • Создание отчетов в Access — 21/08/2018 14:42
  • Дополнительные параметры дизайна запроса в Access — 21/08/2018 14:36
  • Проектирование запроса в Access — 21/08/2018 04:49
  • Сортировка и фильтрация записей в Access — 21/08/2018 04:37
  • Работа с формами в Access — 21/08/2018 04:25
  • MS Access — Работа с таблицами, создание, удаление, настройка внешнего вида — 20/04/2018 17:18
  • MS Access — Управление базами данных и объектами — 30/03/2018 16:18
  • Начало работы в Access. Знакомство с Access 2010 — 10/02/2018 18:24

Классификация запросов

Выделяют следующие виды запросов:

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

2.2. Простые запросы с использованием Конструктора запросов

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

· 
Откройте вкладку запросыдиалогового
окна Базы данных.

· 
Щелкните на кнопке «Создание запроса в
режиме конструктора
». В ответ на
эту команду открываются диалоговые окна «Запрос на выборку» и  «Добавление таблицы».

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

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

Сортировка запросов

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

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

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

SQL-запросы

В Access 2013 и других версий запросы выполняются при помощи языка структурированных запросов SQL.

Для создания SQL-запросов необходимо перейти в режим конструктора, затем на кнопке «Вид» выбрать «Режим SQL». В результате появится диалоговое окно, в котором в поле Select вводим названия столбцов, а в поле From — то, что будет выводиться в строках, например названия поставщиков (если первый столбец «Название»).

В Access используется не чистый SQL, а его диалект Jet-SQL. Основными инструкциями для запросов в этом языке являются: SELECT, по которому осуществляется выборка из записей по определенным условиям (названия полей исходных таблиц, переносящихся в результирующую таблицу), UPDATE — используется с целью редактирования записей, DELETE — для удаления каких-либо указанных записей, CREATE — для создания новых объектов БД. В MS Access также используются TRANSFORM для построения перекрестных запросов, WITH OWNER-ACCESS OPTION для создания специальных запросов пользователем, не имеющем доступа к таблицам, к которым должен быть доступ у этого запроса, IN (для обеспечения связи с удаленной БД), DISTINCTROW (создание запроса с возможным объединением данных). Также могут применяться итоговые функции SQL, встроенные функции Access и VBA.

Запросы на выборку

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

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

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

Создание запросов в MS Access данного вида предполагает, что их можно создать вручную или при помощи «Мастера создания запросов».

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

Для перехода в режим конструктора в Access 2013 нужно в области навигации кликнуть контекстной кнопкой мыши на имени формы и выбрать «Конструктор». Нажав ALT+F8, можно вызвать «Список полей», из которых поля можно перетащить непосредственно в форму.

ПАРАМЕТРИЧЕСКИЕ ЗАПРОСЫ

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

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

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

·  Измените предыдущий запрос так, чтобы Access задавал вопрос при каждом его выполнении, например,
такой: «Введите название подразделения».

Добавить комментарий

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

Adblock
detector