Создание различных запросов в Microsoft Access

Содержание

Как самостоятельно составлять запросы в Microsoft Access

Создание различных запросов в Microsoft Access

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

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

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

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

Microsoft Access поддерживает множество типов. Описание главных категорий:

  1. Select позволяет получать записи или сводки (итоги).
  2. Создание таблиц. Аналогично к Select, но результаты помещаются в таблицу, которая создается автоматически.
  3. Добавление. Аналогично первым двум, но результаты добавляются в существующую таблицу.
  4. Update изменяет (обновляет) данные в записях.
  5. Delete.

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

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

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

  1. Перейти во вкладку «Создать» и нажать на кнопку «Конструктор запросов».
  2. Выбрать тип.
  3. Выбрать таблицу и поля. Основным шагом является указание таблицы или таблиц для использования и полей для отображения. Необходимо выбрать таблицу из списка. Выбранная таблица размещается в верхней части окна. Оттуда можно выбрать поля, нужно дважды нажать по ним или перетащить их в нижнюю часть окна. Важно убедиться, что опция «Вывод на экран» активна для требуемых ячеек.
  4. Применить сортировку и изменить порядок полей. Как только ячейки помещены в сетку QBE (нижняя часть экрана), можно изменить их последовательность. Для этого нужно щелкнуть на столбец и перетащить его в нужное место. Чтобы отсортировать результаты, достаточно выбрать критерий в меню «Сортировка».
  5. Изменить название. Данные могут храниться под названиями, которые нелегко понять пользователям. Используя выражения, можно изменить имя, которое видит пользователь. Например, имя «Поле 1» можно изменить на «ID Клиента», поместив новое имя с последующим двоеточием и исходным именем в ячейку поля QBE: «ID Клиента: [Поле 1]».
  6. Установить свойства. В правой части экрана есть окно свойств. Для отображения свойств запроса нужно временно отключить флажок в «Вывод на экран».
  7. У каждой области также есть свойства, которые можно установить. Для отображения свойств, нужно вернуть флажок и нажать на требуемое поле. В зависимости от типа данных доступны разные свойства. Наиболее важные свойства для числовых типов и типа даты. В свойствах можно указать, как ячейки будут форматироваться при выполнении.
  8. Просмотреть результаты и эквивалент SQL. Когда запрос завершен, можно просмотреть его результаты, переключившись из режима конструктора в «Режим таблицы». Также можно просмотреть в виде кода SQL. Таким образом, можно редактировать синтаксис SQL напрямую, просматривать результаты и переключаться в режим конструктора.
  9. Нажать кнопку «Выполнить» и просмотреть результат.

Настройка условий и их типы

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

Чтобы еще больше сузить область, можно ввести критерии для нескольких полей одновременно. При вводе критериев в одной строке выполняется операция «И» между полями. То есть извлекаются строки, которые соответствуют критериям в поле 1 и в поле 2 и т. д. Если условия размещены в разных строках, выполняется операция «ИЛИ».

Типы условий:

  • самым простым условием является точное соответствие. Стоит ввести желаемую величину в разделе «Условие отбора»;
  • , , BETWEEN, AND. Можно получить записи, в которых значение поле не равно определенной величине, используя символ «». Точно так же используются знаки >, = или

Источник: https://vacenko.ru/kak-samostoyatelno-sostavlyat-zaprosy-v-microsoft-access/

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

Создание различных запросов в Microsoft Access

В современном мире нужны инструменты, которые бы позволяли хранить, систематизировать и обрабатывать большие объемы информации, с которыми сложно работать в 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, где вы найдете множество практических занимательных задачек.

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

Понравилась публикация? Оцените её! (6 4,83 из 5)
Для того чтобы оценить запись, вы должны быть зарегистрированным пользователем сайта. Загрузка…

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

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

Запросы в access

Создание различных запросов в Microsoft Access

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Группировка

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

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

В Литве пять поставщиков, а, следовательно, уникальных записей для Литвы уже будет пять, а не одна).

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

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

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

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

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

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

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

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

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

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

Обновление

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

Добавление

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

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

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

Удаление

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

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

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

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

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

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

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

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

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

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

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

Как создавать запросы в Access: пошаговая инструкция и рекомендации

Создание различных запросов в Microsoft Access

Приложение СУБД MS Access – это полноценный помощник для создания и ведения баз данных, заключенных в таблицы и массивы. Если база имеет слишком большой объем, быстро найти необходимые значения довольно сложно.

Именно поэтому в Access существует такая функция, как запросы. Рассмотрим, что это такое, как работает, какие имеет особенности.

Создание запросов в Microsoft Access

Чтобы разобраться, как создавать запросы в Access, нужно знать основные положения работы с СУБД.

Существует два способа выполнить данную процедуру:

  • Конструктор запросов.
  • Мастер запросов.

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

Легкий путь для новичков

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

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

  • Простой.
  • Перекрестный.
  • Записи без подчиненных.
  • Повторяющиеся записи.

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

Простой запрос

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

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

Этот тип выборки более сложный. Чтобы разобраться, как создать перекрестный запрос в Access с помощью “Мастера” в данном режиме, нужно кликнуть по этой функции в первом окне.

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

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

На фото показано, что перекрестный запрос создан, и что по заданным параметрам совершены необходимые действия.

Повторяющиеся записи

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

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

Чтобы выбрать повторяющиеся записи, нужно раскрыть список запросов и создать там новую папку. Далее в окошке “Новый запрос” выбрать строку “Поиск повторяющихся записей”. Далее нужно следовать указаниям Мастера.

Записи без подчиненных

Это последний тип запросов, доступный в режиме “Мастер – Записи без подчиненных”.

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

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

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

Функции запросов в MS Access

Разберемся, зачем нужно выполнять описанные выше действия. Задача всех простых и сложных запросов в СУБД Access заключается в следующем:

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

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

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

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

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

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

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

Чтобы завершить операцию, нужно нажать на кнопку “Выполнить”.

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

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

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

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

Расширенный перекрестный запрос

Продолжаем усложнять ситуацию. Еще труднее для понимания является информация о том, как создавать запросы в Access, если присутствует несколько таблиц с данными. Перекрестный запрос уже рассматривался выше, как один из вариантов работы с Мастером. Однако, и в режиме “Конструктора” можно создавать подобный запрос.

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

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

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

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

Конечно, присутствуют и «подводные камни», которые могут помешать в работе. Например, при создании запроса на сортировку базы данных по значению столбцов система выдает ошибку. То есть доступна только сортировка по стандартным пунктам – «возрастание и убывание».

Краткие рекомендации

Подводя итоги, нужно сказать, что решить, как создавать запросы в Access – с помощью Мастера или Конструктора, должен сам пользователь. Хотя, для большинства людей, которые используют СУБД MS Access, больше подойдет первый вариант. Ведь Мастер сам сделает всю работу, оставив для пользователя только несколько кликов мышью, при выборе условий запроса.

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

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

Источник: https://FB.ru/article/370546/kak-sozdavat-zaprosyi-v-access-poshagovaya-instruktsiya-i-rekomendatsii

3.4. Запросы в субд Access

Создание различных запросов в Microsoft Access

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

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

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

  • запросы к серверу, которые используются для выборки данных с сервера;

  • запросы на автоподстановку, автоматически заполняющие поля для новой записи;

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

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

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

  • другие типы запросов.

Запросы и фильтры

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

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

Основныеотличия запросов и фильтров заключаютсяв следующем.

  • Фильтры не позволяют в одной строке отображать данные из нескольких таблиц, т. е. объединять таблицы.

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

  • Фильтры не могут быть сохранены как отдельный объект в окне базы данных (они сохраняются только в виде запроса).

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

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

  • для просмотра подмножества записей таблицы без предварительного открытия этой таблицы или формы;

  • для того чтобы объединить в виде одной таблицы на экране данные из нескольких таблиц;

  • для просмотра отдельных полей таблицы;

  • для выполнения вычислений над значениями полей.

Типы запросов

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

Существуетдва варианта построения: в режиме Мастераи в режиме Конструктора.

  1. Создание запроса в режиме Мастера.

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

  • в основном окне базы данных необходимо выбрать объект Запросы, затем на панели инструментов основного окна нажать кнопку Создать и в открывшемся диалоговом окне Новый запрос (рис. 12) выбрать строку Простой запрос:

Рис.12. Окно Новый запрос

  • мастер запросов можно вызвать сразу, если в объекте Запросы щелкнуть по надписи Мастер запросов.

Вобоихслучаях будет открыто диалоговое окноСозданиепростых запросов длявыбора полей (рис. 13)

Рис.13. Окно Создание простых запросов. Шагпервый

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

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

Кнопка Далеепозволитперейтина следующий шаг работы мастера (рис.15).

КнопкаДалееоткроетокно второго шага (рис. 15).

Рис.15. Окно Создание простых запросов. Шагтретий

Впоследнем окне необходимо задать имязапроса. КнопкаГотово выведет на экран запрос в режиметаблицы (рис. 16)

Рис.16. Новая таблица, созданная мастеромзапросов

  1. Создание запроса в режиме Конструктора (основной режим построения)

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

Также как ивмастере запросов, открытие запроса врежимеКонструктора происходит двумя способами:

  • в основном окне базы данных необходимо выбрать объект Запросы, на панели инструментов основного окна нажать кнопку Создать и в окне Новый запрос выбрать строку Конструктор. Кнопка ОК в этом случае откроет два окна: Запрос 1: запрос на выборку и Добавление таблицы;

  • тот же результат даст двойной щелчок по надписи Создание запроса в режиме конструктора в окне объекта Запросы.

ВОкне Добавление таблицы необходимовыбрать требуемуютаблицу и нажать кнопку Добавить.Выбраннаятаблицапоявится в зоне отбора таблиц окнаЗапросна выборкувверхнем (сером) поле. После выводанеобходимых таблиц или запросов окноДобавлениетаблицынадозакрыть.

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

Теперьиз таблиц нужно выбрать необходимыеполя. Это можно сделать тремя способами:

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

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

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

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

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

Рис.17. Создание запроса в режиме Конструктора

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

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

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

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

Запросыс параметрами работают по двум вариантам:

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

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

  1. Диалоговое окно для запроса

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

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

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

[введите:КодТовара].

Послеслова «введите» указывается названиеполя (рис. 18).

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

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

Рис.19. Диалоговое окно Введите значениепараметра

Послеввода параметра в диалоговом окнеВведитезначениепараметра нажмитеОК, и на экране появится таблица свыбраннымипараметрами (рис. 20).

Рис.20. Результат действия запроса с параметром

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

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

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

В этом случае они записываютсяв кавычках с указаниемданных из записи или с помощьюматематических знаков(например, “тетради”,Групповыеоперации.

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

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

Рис.21. Создание итогового запроса

Функциив раскрывающемся списке имеют краткоеобозначение(табл. 11).

Таблица11 Функции групповых операций.

Элемент

Результат

Тип поля

Sum

Сумма значений поля.

«Числовой». «Дата/время». «Денежный» и «Счетчик»

Avg

Среднее от значений поля.

«Числовой». «Дата/время», «Денежный» и «Счетчик»

Min

Наименьшее значение поля.

«Текстовый», «Числовой», «Дата/время», «Денежный»

Мах

Наибольшее значение поля.

«Текстовый», «Числовой», «Дата/время»,«Денежный»

Count

Число значений поля без учета пустых значений.

«Текстовый», «Числовой», «Дата/время».

StDev

Среднеквадратичное отклонение от среднего значения поля.

«Числовой», «Дата/время», «Денежный» и «Счетчик»

Var

Дисперсия значений поля.

«Числовой», «Дата/время», «Денежный» и «Счетчик»

First

Значение первой записи поля

«Текстовый», «Числовой», «Дата/время», «Денежный»

Last

Значение последней записи поля

«Текстовый», «Числовой», «Дата/время», «Денежный»

Источник: https://StudFiles.net/preview/6062310/page:8/

Поделиться:
Нет комментариев

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

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.