Как сделать запросы в access?

Запрос (query) – это средство, позволяющее собрать необходимую информацию из объемной базы данных, т.е. это вопрос, сформированный по отношению к БД. Создание запросов в Access может осуществляться несколькими способами: по образцу (QBE)и с помощью структурированного языка запросов (SQL).

QBE – средство для поиска необходимых сведений в базе.

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

Создание запросов в Access 2007, 2010, 2013:

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

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

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

  1. В окне «Добавление таблицы» выберите один или несколько документов, которые следует использовать и нажмите кнопку «Добавить». После всех выбранных вариантов, нажмите кнопку «Закрыть».

    Как сделать запросы в access?

  2. Все выбранные объекты переместятся на верхнюю панель Конструктора, связи (если таковые имеются) также будут отображены. При отсутствии связей, Access автоматически устанавливает их исходя из наличия полей с одинаковыми именами. Лишние соединения, добавленные приложением, основанные на неверном совпадении, можно удалить вручную, выделив необходимые, и нажав Delete.
  3. Укажите поля, которые должны отображаться в запросе Access с помощью выделения мышкой, перетаскивания или использования раскрывающегося списка.

    Как сделать запросы в access?

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

    Как сделать запросы в access?

  6. Чтобы удалить поле из табличных результатов, уберите «птичку» с пункта «Вывод на экран».

    Как сделать запросы в access?

  7. После того, как бланк сформирован, его следует сохранить. Выберите на панели инструментов Access кнопку с соответствующим названием или выполните команду «Файл/Сохранить».

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

Оценить статью:

Источник: https://officeproduct.info/faq/125-sozdanie-zaprosov-v-access.html

Глава 10. Запросы в Access

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

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

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

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


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


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

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

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

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

  • создание отчетов, содержащих данные
    нескольких таблиц;
  • — создание резервной копии таблицы.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Текстовое значение в качестве
условия заключается в кавычки. При
задании условия отбора можно пользоваться
знаками отношений , >=, =10 and
10.

В этом случае выбираются все записи
поля, вычисляемое поле которых >10;

  • month(дата) — возвращает значение месяца года в
    диапазоне от 1 до 12;
  • year(дата) — возвращает значение года в диапазоне
    от 100 до 9999;
  • weekday(дата) — возвращает целое число от 1(Воскресенье)
    до 7(Суббота), соответствующее дню недели;
  • date()
    — возвращает
    текущую системную дату.

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

Например,
пусть имеется имя поля с именем
Количество”,
где записано количество единиц товара
и поле “Цена,
где записана стоимость единицы товара.

Тогда для подсчета стоимости товара в
пустое поле бланка запроса нужно ввести
выражение Количество*Цена
и значения этих полей будет перемножено.

Задание
имен вычисляемых полей
. При создании любого выражения в бланке
запроса Access
помещает стандартное имя поля “Выражение1:”.

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

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

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

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

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

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

или По
убыванию
.

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

Для этого нужно
нажать на кнопку Групповые
операции

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

Для получения итогов нужно
заменить Группировка
в строке Групповая
операция

на конкретные итоговые функции.

  1. Access предоставляет несколько функций для
    обеспечения групповых операций. Основные
    из них:
  2. sum — вычисляет сумму всех значений
    заданного поля в каждой группе.
    Используется только для числовых и
    денежных полей;
  3. avg — Вычисляет среднее арифметическое
    значение всех значений данного поля в
    каждой группе;
  4. min,
    max — вычисляет наименьшее (наибольшее)
    значение поля внутри группы;
  5. count — вычисляет
    число записей, в которых значения данного
    поля отличны от Null.

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

Читайте также:  Как сделать надпись по кругу в excel?

Источник: https://studfile.net/preview/5152736/page:22/

Создание базы данных в MS Access 2007: пошаговая инструкция

В современном мире нужны инструменты, которые бы позволяли хранить, систематизировать и обрабатывать большие объемы информации, с которыми сложно работать в Excel или Word.

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

Продукт от Microsoft Office представляет собой упрощенную версию в функциональном плане и более понятную для неопытных пользователей. Давайте рассмотрим пошагово создание базы данных в Access 2007.

Описание MS Access

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

Единственный минус этой СУБД – невозможность работать в промышленных масштабах. Она не предназначена для хранения огромных объемов данных.

Поэтому MS Access 2007 используется для небольших проектов и в личных некоммерческих целях.

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

Определения основных понятий

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

  1. Предметная область – множество созданных таблиц в базе данных, которые связаны между собой с помощью первичных и вторичных ключей.
  2. Сущность – отдельная таблица базы данных.
  3. Атрибут – заголовок отдельного столбца в таблице.
  4. Кортеж – это строка, принимающая значение всех атрибутов.
  5. Первичный ключ – это уникальное значение (id), которое присваивается каждому кортежу.
  6. Вторичный ключ таблицы «Б» – это уникальное значение таблицы «А», использующееся в таблице «Б».
  7. SQL запрос – это специальное выражение, выполняющее определенное действие с базой данных: добавление, редактирование, удаление полей, создание выборок.

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

Создание БД

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

Итак, выполните следующее:

  1. Запустите MS Access 2007.
  2. Нажмите на кнопку «Новая база данных».
  3. В появившемся окне введите название БД и выберите «Создать».

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

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

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

  1. Нажмите ПКМ по вкладке «Таблица1» и выберите «Конструктор».
  2. Теперь начинайте заполнять названия полей и соответствующий им тип данных, который будет использоваться. Внимание! Первым полем принято устанавливать уникальное значение (первичный ключ). Для него предпочтительно числовое значение.
  1. После создания необходимых атрибутов сохраните таблицу и введите ее название.
  2. Снова нажмите ПКМ по вкладке с уже новым название и выберите «Режим таблицы».
  3. Заполните таблицу необходимыми значениями.

Совет! Для тонкой настройки формата данных перейдите на ленте во вкладку «Режим таблицы» и обратите внимание на блок «Форматирование и тип данных». Там можно кастомизировать формат отображаемых данных.

Создание и редактирование схем данных

Перед тем, как приступить к связыванию двух сущностей, по аналогии с предыдущим пунктом нужно создать и заполнить таблицу «Экзамены». Она имеет следующие атрибуты: «Номер зачетки», «Экзамен1», «Экзамен2», «Экзамен3».

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

  1. Перейти во вкладку «Работа с базами данных».
  2. Нажать на кнопку «Схема данных».
  3. Если схема не была создана автоматически, нужно нажать ПКМ на пустой области и выбрать «Добавить таблицы».
  4. Выберите каждую из сущностей, поочередно нажимая кнопку «Добавить».
  5. Нажмите кнопку «ОК».

Конструктор должен автоматически создать связь, в зависимости от контекста. Если же этого не случилось, то:

  1. Перетащите общее поле из одной таблицы в другую.
  2. В появившемся окне выберите необходимы параметры и нажмите «ОК».
  3. Теперь в окне должны отобразиться миниатюры двух таблиц со связью (один к одному).

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

Что же делать, если нам нужны студенты, которые учатся только в Москве? Да, в нашей БД только 6 человек, но что, если их будет 6000? Без дополнительных инструментов узнать это будет сложно.

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

Виды запросов

SQL синтаксис реализует принцип CRUD (сокр. от англ. create, read, update, delete — «создать, прочесть, обновить, удалить»). Т.е. с помощью запросов вы сможете реализовать все эти функции.

На выборку

В этом случае в ход вступает принцип «прочесть». Например, нам нужно найти всех студентов, которые учатся в Харькове. Для этого нужно:

  1. Перейти во вкладку «Создание».
  2. Нажать кнопку «Конструктор запросов» в блоке «Другие».
  3. В новом окне нажмите на кнопку SQL.
  4. В текстовое поле введите команду: SELECT * FROM Студенты WHERE Адрес = «Харьков»; где «SELECT *» означает, что выбираются все студенты, «FROM Студенты» — из какой таблицы, «WHERE Адрес = «Харьков»» — условие, которое обязательно должно выполняться.
  5. Нажмите кнопку «Выполнить».
  6. На выходе мы получаем результирующую таблицу.
  • А что делать, если нас интересуют студенты из Харькова, стипендии у которых больше 1000? Тогда наш запрос будет выглядеть следующим образом:
  • SELECT * FROM Студенты WHERE Адрес = «Харьков» AND Стипендия > 1000;
  • а результирующая таблица примет следующий вид:

На создание сущности

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

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

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

  1. Перейти во вкладку «Создание».
  2. Нажать кнопку «Конструктор запросов» в блоке «Другие».
  3. В новом окне нажмите на кнопку SQL, после чего в текстовое поле введите команду:

CREATE TABLE Преподаватели (КодПреподавателя INT PRIMARY KEY, Фамилия CHAR(20), Имя CHAR (15), Отчество CHAR (15), Пол CHAR (1), Дата_рождения DATE,

Основной_предмет CHAR (200));

где «CREATE TABLE» означает создание таблицы «Преподаватели», а «CHAR», «DATE» и «INT» — типы данных для соответствующих значений.

  1. Кликните по кнопке «Выполнить».
  2. Откройте созданную таблицу.

Внимание! В конце каждого запроса должен стоять символ «;». Без него выполнение скрипта приведет к ошибке.

На добавление, удаление, редактирование

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

  • для заполнения кортежа: INSERT INTO ПреподавателиVALUES (1, ‘Иванова’, ‘Иванна’, ‘Ивановна’, ‘Ж’, ’05-06-1981′, ‘География’);
  • для редактирования записи: UPDATE Преподаватели SET Имя = ‘Анна’;
  • для удаления: DELETE * FROM Преподаватели WHERE Имя=’Анна’;.

Создание формы

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

  1. Откройте интересующую таблицу.
  2. Перейдите во вкладку «Создание».
  3. Нажмите на необходимый формат формы из блока «Формы». Совет! Рекомендуется использовать «Разделенную форму» – кроме самого шаблона, в нижней части будет отображаться миниатюра таблицы, которая сделает процесс редактирования еще более наглядным.
  4. С помощью навигационных кнопок переходите к следующей записи и вносите изменения.

Все базовые функции MS Access 2007 мы уже рассмотрели. Остался последний важный компонент – формирование отчета.

Формирование отчета

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

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

  1. Перейдите во вкладку «Создание».
  2. Нажмите на кнопку «Мастер отчетов» в блоке «Отчеты».
  3. Выберите интересующую таблицу и поля, нужные для печати.
  4. Добавьте необходимый уровень группировки.
  5. Выберите тип сортировки каждого из полей.
  6. Настройте вид макета для отчета.
  7. Выберите подходящий стиль оформления. Внимание! В официальных документах допускается только стандартный стиль оформления.
  8. Просмотрите созданный отчет.

Если отображение вас не устраивает, его можно немного подкорректировать. Для этого:

  1. Нажмите ПКМ на вкладке отчета и выберите «Конструктор».
  2. Вручную расширьте интересующие столбцы.
  3. Сохраните изменения.

Вывод

Итак, с уверенностью можно заявить, что создание базы данных в MS Access 2007 мы разобрали полностью. Теперь вам известны все основные функции СУБД: от создания и заполнения таблиц до написания запросов на выборку и создания отчетов. Этих знаний хватит для выполнения несложных лабораторных работ в рамках университетской программы или использования в небольших личных проектах.

Для проектирования более сложных БД необходимо разбираться в объектно-ориентированном программировании и изучать такие СУБД, как MS SQL и MySQL. А для тех, кому нужна практика составления запросов, рекомендую посетить сайт SQL-EX, где вы найдете множество практических занимательных задачек.

Удачи в освоении нового материала и если есть какие-либо вопросы – милости прошу в комментарии!

Подписывайтесь на нашу Email-рассылку. Спамить не будем, обещаем!)

[contact-form-7 id=»16177″ title=»Подпись по email»]

Источник: https://geekon.media/sozdanie-bazy-dannyx-v-ms-access-2007/

Проектирование запроса в Access

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

Читайте также:  Как сделать штриховку в таблице в word?

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

Что такое запросы?

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

Как используются запросы?

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

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

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

Когда вы запускаете запрос, результаты представлены вам в таблице, но при его разработке вы используете другое представление. Это называется представлением Query Design , и оно позволяет увидеть, как ваш запрос объединяется.

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

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

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

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

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

  1. Выберите вкладку « Создать » на ленте и найдите группу «Запросы».
  2. Выберите команду «Запрос дизайна».
  3. Access переключится на представление Query Design . В появившемся диалоговом окне « Показать таблицу » выберите таблицу, в которую вы хотите запустить запрос. Нажмите « Добавить», затем нажмите «Закрыть» . Мы выполняем запрос о наших клиентах, поэтому добавим таблицу Customers .
  4. Выбранная таблица будет отображаться в виде небольшого окна в панели «Связывание объектов» . В окне таблицы дважды щелкните имена полей, которые вы хотите включить в свой запрос. Они будут добавлены в дизайнерскую сетку в нижней части экрана.
  5. В нашем примере мы хотим отправлять приглашения клиентам, которые живут в определенной области, поэтому мы будем включать поля FirstName, Last Name, Street Address, City, State и Zip Code. Мы не планируем звонить или отправлять по электронной почте наших клиентов, поэтому нам не нужно включать номер телефона или адрес электронной почты поля.

  6. Задайте критерии поиска , щелкнув ячейку в строке « Критерии:» каждого поля, которое вы хотите фильтровать. Ввод критериев в несколько полей в строке «Критерии: строка» задает ваш запрос, чтобы он включал только результаты, соответствующие всем критериям. Если вы хотите установить несколько критериев, но вам не нужны записи, показанные в ваших результатах, чтобы удовлетворить их все, введите первые критерии в строке «Критерии: строка» и дополнительные критерии в строке « Или» и строках под ней. Для этого запроса с одной таблицей мы будем использовать очень простые критерии поиска.
    • Мы хотим найти наших клиентов, которые живут в городе под названием Raleigh , поэтому в нашем Городском поле мы наберем «Raleigh» . Ввод «Raleigh» в кавычках будет извлекать все записи с точным соответствием для Raleigh в поле City.
    • Некоторые клиенты, которые живут в пригороде, живут довольно близко, и мы также хотели бы пригласить их. Мы добавим их почтовый индекс , 27513 , в качестве еще одного критерия. Поскольку мы хотим найти клиентов, которые либо живут в Raleigh, либо в почтовом индексе 27513, мы наберем «27513» в строке or: Zip Code.
  7. После того, как вы установили критерии, запустите запрос, нажав команду « Выполнить» на вкладке « Дизайн запросов ».
  8. Результаты запроса будут отображаться в представлении Datasheet запроса , которое выглядит как таблица. Если вы хотите, сохраните запрос, нажав команду « Сохранить» на панели быстрого доступа. Когда появится запрос на его имя, введите нужное имя и нажмите «ОК» .

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

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

Планирование запроса

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

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

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

Планирование нашего запроса

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

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

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

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

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

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

Идентификация необходимой нам информации

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

Но как мы узнаем, если они разместили заказы? Каждая запись заказа идентифицирует клиента, который разместил этот заказ.

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

Расположение таблиц, содержащих нужную нам информацию

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

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

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

Определение критериев, которые должен искать наш запрос

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

Мы не хотим, чтобы клиенты, которые живут в нашем городе, Роли, поэтому нам нужен критерий, который вернет все записи, кроме тех, которые были с Роли в области города. Мы не хотим, чтобы клиенты, которые живут слишком далеко, тоже.

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

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

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

Читайте также:  Как сделать черно белую диаграмму в excel 2007?

Источник: https://maxfad.ru/ofis/ms-access/460-proektirovanie-zaprosa-v-access.html

Создание запросов в БД — Базы данных

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

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

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

Назначение и виды запросов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Таблица в режиме таблицы

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

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

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

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

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

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

Схема данных запроса

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

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

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

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

Бланк запроса по образцу

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

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

При заполнении бланка запроса:

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

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

Для отображения имен таблиц в строке бланка следует выбрать команду Вид | Имена таблиц или нажать соответствующую кнопку на панели конструктора запросов.

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

Поля бланка запроса

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

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

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

Модификация запроса

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

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

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

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

Источник: https://itteach.ru/bazi-dannich/sozdanie-zaprosov-v-bd

Ссылка на основную публикацию
Adblock
detector