Tooprogram.ru

Компьютерный справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Запрос диапазон access

Использование подстановочных знаков в запросах и параметрах в Access

Эквивалент любого количества символов в любом месте строки данных

Откройте запрос в конструкторе. Для этого щелкните его правой кнопкой мыши в области навигации в разделе Запросы и выберите пункт Конструктор.

В ячейке Условие отбора необходимого вам поля добавьте звездочку с одной или обеих сторон условия. Например:

На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить .

Эквивалент одного символа внутри шаблона

Откройте запрос в конструкторе.

В ячейке Условие отбора необходимого вам поля введите перед условием отбора оператор Like.

Замените один или несколько символов в условии подстановочным знаком. Например, запрос Like R?308021 возвращает результаты RA308021, RB308021 и т. д.

На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.

Получение списка компаний от А до Н

Откройте запрос в конструкторе.

В ячейке Условие отбора необходимого вам поля введите оператор Like, а затем пару двойных кавычек. Например: Like «».

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

За скобками можно использовать подстановочные знаки. Например:

Таблица подстановочных знаков

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

Соответствует любому количеству (от нуля и более) символов.Может использоваться в качестве первого или последнего символа в строке символов.

По запросу «чт*» будут найдены слова «чт», «что», «чтение» и «чтиво»

Соответствует любому одиночному символу алфавита.

По запросу «ст?л» будут найдены слова «стол», «стал» и «стул»

Соответствует любому одиночному символу, указанному в квадратных скобках.

По запросу «ст[оу]л» будут найдены слова «стол», «стул», но не «стал»

Соответствует любому символу, не указанному в квадратных скобках.

По запросу «ст[!оу]л» будут найдены слова «стал» и «стыл», но не «стол» или «стул»

Соответствует любому символу из диапазона. Диапазон следует указывать в алфавитном порядке (от А до Я, а не от Я до А).

По запросу «с[а-ы]н» будут найдены слова «сан», «сон» и «сын»

Соответствует любому цифровому символу.

По запросу «1#3» будут найдены числа 103, 113 и 123.

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

В данных одни пользователи обозначены словом «владелец», а другие — словами «владелец/оператор».

Like «владелец*» или
Like «*владелец*»

Необходимо использовать подстановочные знаки в запросе с параметрами.

Этот запрос возвращает все рецепты, содержащие слово «рыба», например «свежая рыба», «красная рыба» и т. д.

При вводе данных кто-то допустил ошибку, например вместо «Элина» написал «Элиза».

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

Необходимо найти инвентарные номера, у которых все цифры, кроме второй и третьей, одинаковые.

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

Like «ул. Парковая, 1###»

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

Открывающая и закрывающая квадратные скобки вместе ([])

Открывающая квадратная скобка ([)

Закрывающая квадратная скобка (])

Специальная обработка не требуется

Специальная обработка не требуется

Выбор набора подстановочных знаков

СУБД Access (ANSI-89) и SQL Server (ANSI-92)

Стандарт ANSI-89 описывает традиционный синтаксис Access SQL, который по умолчанию используется в базах данных Access. Подстановочные знаки соответствует спецификации Microsoft Visual Basic® для приложений (VBA), а не SQL.

Стандарт ANSI-92 используется в тех случаях, когда необходимо обеспечить совместимость синтаксиса с базой данных Microsoft SQL Server™.

Рекомендуется не смешивать два типа подстановочных знаков в одной базе данных.

Подстановочные знаки для СУБД Access (ANSI-89)

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

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

По запросу «чт*» будут найдены слова «что», «чтение» и «чтиво»

Соответствует любому одиночному знаку алфавита.

По запросу «ст?л» будут найдены слова «стол», «стал» и «стул»

Соответствует любому одиночному символу, указанному в квадратных скобках.

По запросу «ст[оу]л» будут найдены слова «стол», «стул», но не «стал».

Соответствует любому символу, не указанному в квадратных скобках.

По запросу «ст[!оу]л» будут найдены слова «стал» и «стыл», но не «стол» или «стул»

Соответствует любому символу из диапазона. Диапазон следует указывать в алфавитном порядке (от А до Я, а не от Я до А).

По запросу «с[а-ы]н» будут найдены слова «сан», «сон» и «сын»

Соответствует любому цифровому символу.

По запросу «1#3» будут найдены числа 103, 113 и 123.

Подстановочные знаки для SQL Server (ANSI-92)

Эти подстановочные знаки следует использовать в запросах, созданных для базы данных Microsoft SQL Server™.

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

По запросу «чт*» будут найдены слова «что», «чтение» и «чтиво»

Соответствует любому одиночному символу алфавита.

По запросу «ст?л» будут найдены слова «стол», «стал» и «стул»

Соответствует любому одиночному символу, указанному в квадратных скобках.

По запросу «ст[оу]л» будут найдены слова «стол», «стул», но не «стал».

Соответствует любому символу, не указанному в квадратных скобках.

По запросу «ст[!оу]л» будут найдены слова «стал» и «стыл», но не «стол» или «стул»

Соответствует любому символу из диапазона. Диапазон следует указывать в алфавитном порядке (от А до Я, а не от Я до А).

По запросу «с[а-ы]н» будут найдены слова «сан», «сон» и «сын»

Запрос диапазон access

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

Конструирование запросов на выборку с условиями отбора

Рассмотрим запросы на выборку в Access на примере получения информации из таблицы ТОВАР базы данных Поставка товаров.

Задача 1. Пусть необходимо выбрать ряд характеристик товара по его наименованию.

  1. Для создания запроса в окне базы данных выберите вкладку ленты — Создание (Create) и в группе Запросы (Queries) нажмите кнопку Конструктор запросов (Query Design). Откроется пустое окно запроса на выборку в режиме конструктора — ЗапросN (QueryN) и диалоговое окно Добавление таблицы (Show Table) (рис. 4.2).
  2. В окне Добавление таблицы (Show Table) выберите таблицу ТОВАР и нажмите кнопку Добавить (Add). Выбранная таблица будет отображена в области схемы данных запроса. Закройте окно Добавление таблицы (Show Table), нажав кнопку Закрыть (Close).

В результате выполненных действий в окне конструктора запросов (рис. 4.1) в верхней панели появится схема данных запроса, которая включает выбранные для данного запроса таблицы. В данном случае одну таблицу ТОВАР. Таблица представлена списком полей. Первая строка в списке полей таблицы, отмеченная звездочкой (*), обозначает все множество полей таблицы. Нижняя панель является бланком запроса, который нужно заполнить.

Читать еще:  Запросы на выборку в access примеры

Кроме того, на ленте появляется и автоматически активизируется новая вкладка Работа с запросами | Конструктор (Query Tools | Design) (на рис. 4.3 представлена на часть этой вкладки), на которой цветом выделен тип созданного запроса — Выборка (Select). Таким образом, по умолчанию всегда создается запрос на выборку. Команды этой вкладки представляют инструментарий для выполнения необходимых действий при создании запроса. Эта вкладка открывается, когда в режиме конструктора создается новый запрос или редактируется существующий.

  1. Для удаления любой таблицы из схемы данных запроса установите на нее курсор мыши и нажмите клавишу . Для добавления ― нажмите кнопку Отобразить таблицу ( Show Table) в группе Настройка запроса (Query Setup) на вкладке Работа с запросами | Конструктор (Query Tools | Design) или выполните команду Добавить таблицу (Show Table) в контекстном меню, вызываемом на схеме данных запроса.
  2. В окне конструктора (рис. 4.4) последовательно перетащите из списка полей таблицы ТОВАР поля НАИМ_ТОВ, ЦЕНА, НАЛИЧИЕ_ТОВ в столбцы бланка запроса в строку Поле (Field).
  3. Для включения нужных полей из таблицы в соответствующие столбцы запроса можно воспользоваться следующими приемами:
    • в первой строке бланка запроса Поле (Field) щелчком мыши вызвать появление кнопки списка и выбрать из списка нужное поле. Список содержит поля таблиц, представленных в схеме данных запроса;
    • дважды щелкнуть на имени поля таблицы в схеме данных запроса;
    • для включения всех полей таблицы можно перетащить или дважды щелкнуть на символе * (звездочка) в списке полей таблицы в схеме данных запроса.
  4. Если вы по ошибке перетащили в бланке запроса ненужное поле, удалите его. Для этого переместите курсор в область маркировки столбца сверху, где он примет вид черной стрелки, направленной вниз, и щелкните кнопкой мыши. Столбец выделится. Нажмите клавишу или выполните команду Удалить столбцы (Delete Columns) в группе Настройка запроса (Query Setup).
  5. В строке Вывод на экран (Show) отметьте поля, иначе они не будут включены в таблицу запроса.
  6. Запишите в строке Условия отбора (Criteria) наименование товара, как показа-но в бланке запроса на рис. 4.4. Так как выражение в условии отбора не содержит оператора, то по умолчанию используется оператор =. Используемое в выражении текстовое значение вводится в двойных кавычках, которые добавляются автоматически.
  7. Выполните запрос, щелкнув на кнопке Выполнить (Run) или на кнопке Режим (View) в группе Результаты (Results). На экране появится окно запроса в режиме таблицы с записью из таблицы ТОВАР, отвечающей заданным условиям отбора.

  1. Если при вводе сложного наименования товара вы допустили неточность, товар не будет найден в таблице. Использование операторов шаблона — звездочка (*) и вопросительный знак (?) (стандарт ANSI-89, используемый для запросов по умолчанию) или знак процента (%) и подчеркивания (_) (ANSI-92, рекомендуемый как стандарт для SQL Server), упрощает поиск нужных строк и позволяет избежать многих ошибок. Введите вместо полного имени товара Корпус* или Корпус%. Выполните запрос. Если в поле наименования товара одно значение начинается со слова «Корпус», результат выполнения запроса будет таким же, как в предыдущем случае. После выполнения запроса введенное выражение будет дополнено оператором Like «Корпус*». Этот оператор позволяет использовать символы шаблона при поиске в текстовых полях.
  2. Если необходимо найти несколько товаров, используйте оператор In. Он позволяет выполнить проверку на равенство любому значению из списка, который задается в круглых скобках. Запишите в строке условий отбора In («Корпуc MiniTower»;»HDD Maxtor 20GB»;»FDD 3,5″). В таблице запроса будет выведено три строки. В операторе In не допускается использование символов шаблона.
  • Сохраните запрос, щелкнув на вкладке Файл (File) и выполнив команду Сохранить (Save). В окне Сохранение (Save As) введите имя запроса Пример1. Заметим, что имя запроса не должно совпадать не только с именами имеющихся запросов, но и с именами таблиц в базе данных.
  • Закройте текущий запрос по команде контекстного меню Закрыть (Close) или нажав кнопку окна запроса Закрыть (Close).
  • Выполните сохраненный запрос, выделив запрос в области навигации и выбрав в контекстном меню команду Открыть (Open).
  • Для редактирования запроса выделите его в области навигации и выполните в контекстном меню команду Конструктор (Design View).
  • Задача 2. Пусть надо выбрать товары, цена которых не более 1000 руб., и НДС не более 10%, а также выбрать товары, цена которых более 2500 руб. Результат должен содержать наименование товара (НАИМ_ТОВ), его цену (ЦЕНА) и НДС (СТАВКА_НДС).

    1. Создайте новый запрос в режиме конструктора, добавьте таблицу ТОВАР. В окне конструктора (рис. 4.5) последовательно перетащите из списка полей таблицы ТОВАР в бланк запроса поля НАИМ_ТОВ, ЦЕНА, СТАВКА_НДС.
    2. Запишите Условия отбора (Criteria), как показано в бланке запроса на рис. 4.5. Между условиями, записанными в одной строке, выполняется логическая операция AND. Между условиями, записанными в разных строках, выполняется логическая операция OR.
    3. Выполните запрос, щелкните на кнопке Выполнить (Run) в группе Результаты (Results). На экране появится окно запроса в режиме таблицы с записями из таблицы ТОВАР, отвечающими заданным условиям отбора.
    4. Сохраните запрос, выполнив соответствующую команду в контекстном меню запроса, которое вызывается при установке курсора на заголовок запроса. Дайте ему имя Пример2.

    Задача 3. Пусть надо выбрать все накладные за заданный период. Результат должен содержать номер накладной (НОМ_НАК), код склада (КОД_СК), дату отгрузки (ДАТА_ОТГР) и общую стоимость отгруженного товара (СУММА_НАКЛ).

    1. Создайте новый запрос в режиме конструктора, добавьте таблицу НАКЛАДНАЯ. В окне конструктора последовательно перетащите из списка полей таблицы НАКЛАДНАЯ в бланк запроса все необходимые поля.
    2. Для поля ДАТА_ОТГР в строке Условия отбора (Criteria) запишите Between #11.01.2008# And #31.03.2008#. Оператор Between задает интервал дат (в ANSI-92 вместо знака # используются одинарные кавычки ‘). Кроме того, этот оператор позволяет задать интервал для числового значения.

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

    Запросы в access

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

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

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

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

    Читать еще:  Как создать простой запрос в access

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Группировка

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

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

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

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

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

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

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

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

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

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

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

    Обновление

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

    Добавление

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

    Читать еще:  Как установить ключевое поле в access

    Удаление

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

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

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

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

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

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

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

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

    Например, выражение Between [Начальная дата:] And [Конечная дата:] запросит ввести начальную и конечную даты и выдаст все записи, содержащиеся в этом диапазоне (программа распознает разные форматы, например: 01.01.2010 или 01,01,2010 или 01/01/2010). Но для этого в режиме конструктора через меню Запрос – Параметры (можно вызвать через контекстное меню) надо вызвать диалоговое окно «Параметры запроса». В столбце «Параметр» указать правильно название, например [Начальная дата:], а в столбце «Тип данных» указать требуемый тип, в нашем случае «Дата/время». Как правило, указываются параметры для числовых и полей дата/время.

    Ещё пример: Like «. » & [Введите номер месяца, например, для марта — 03, для ноября — 11] & «. ». Программа попросит ввести номер месяца года и выдаст все записи, относящиеся к этому месяцу. Если в параметре ввести знак звёздочки «*», то будут выбраны дни рождений за все месяцы.

    Запрос может не работать, если формат даты в условии задан 00.00.0000, а в настройках панели управления установлен 00/00/0000. Тогда надо вместо точек добавить ещё по одному вопросу.

    Запрос на объединение таблиц

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

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

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

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

    Собственный язык Access JetSQL имеет отличия от ANSI SQL.

    Хотя большинство запросов создаются в режиме конструктора, Access хранит их в формате SQL (структурированном языке запросов). Чтобы увидеть режим SQL, надо выбрать Вид-Режим SQL.

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

    Запрос в Access является объектом, который сохраняется в файле базы данных и может многократно повторяться. Все запросы, которые мы демонстрировали до сих пор, содержали конкретные значения дат, названий, имен и т. д. Если требуется повторить такой запрос с другими значениями в условиях отбора, его нужно открыть в режиме Конструктора, изменить условие и выполнить. Чтобы не делать многократно этих операций, можно создать запрос с параметрами. При выполнении такого запроса выдается диалоговое окно Введите значение параметра (Enter Parameter Value), в котором пользователь может ввести конкретное значение и затем получить нужный результат.

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

    1. Откройте данный запрос в режиме Конструктора.
    2. Чтобы определить параметр запроса, введите в строку Условие отбора (Criteria) для столбца «Название» (CompanyName) вместо конкретного значения слово или фразу и заключите их в квадратные скобки, например [Поставщик:]. Эта фраза будет выдаваться в виде приглашения в диалоговом окне при выполнении запроса.
    3. Если вы хотите, чтобы Access проверяла данные, вводимые в качестве параметра запроса, нужно указать тип данных для этого параметра. Обычно в этом нет необходимости при работе с текстовыми полями, т.к. по умолчанию параметру присваивается тип данных Текстовый (Text). Если же данные в поле запроса представляют собой даты или числа, рекомендуется тип данных для параметра определять. Для этого щелкните правой кнопкой мыши на свободном поле в верхней части запроса и выберите из контекстного меню команду Параметры (Parameters) или выполните команду меню Запрос, Параметры (Query, Parameters). Появляется диалоговое окно Параметры запроса (Query Parameters), представленное на рис. 4.31.

    Рис. 4.31. Диалоговое окно Параметры запроса

    1. В столбец Параметр (Parameter) нужно ввести название параметра точно так, как он определен в бланке запроса (легче всего это сделать путем копирования через буфер обмена), только можно не вводить квадратные скобки. В столбце Тип данных (Data Type) выберите из раскрывающегося списка необходимый тип данных. Нажмите кнопку ОК.
    2. Нажмите кнопку Запуск (Run) на панели инструментов, чтобы выполнить запрос. При выполнении запроса появляется диалоговое окно Введите значение параметра (Input Parameter Value) (рис. 4.32), в которое нужно ввести значение, например Tokyo Traders. Результат выполнения запроса представлен на рис. 4.33. В него попадают только те товары, которые поставляются данным поставщиком.

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

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

    Рис. 4.33. Результат выполнения запроса с параметром

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

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