Выборка данных в бд access с помощью sql запросов

Создание запросов на добавление данных

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

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

  1. Раскройте список таблиц в окне базы данных и выделите таблицу «Заказы» (Orders).
  2. Скопируйте таблицу в буфер обмена, нажав комбинацию клавиш CTRL + C.
  3. Вставьте таблицу из буфера обмена, нажав комбинацию клавиш CTRL + V. Появляется диалоговое окно Вставка таблицы (Paste Table As).
  4. В группе Параметры вставки (Paste Options) выберите переключатель Только структура (Structure Only).
  5. В поле имя таблицы (Table Name) введите строку: Заказы (архив). Нажмите кнопку ОК или клавишу Enter.

В списке появляется новая таблица, пока пустая, т. к. мы скопировали только структуру таблицы «Заказы» (Orders). Теперь создадим запрос на добавление, который позволит перенести в новую таблицу данные из таблицы «Заказы».

Раскройте список таблиц в окне базы данных и выделите в нем таблицу «Заказы».
Щелкните левой кнопкой мыши по стрелке на кнопке Новый объект (New Object) инструментальной панели и выберите из раскрывшегося списка элемент Запрос (Query). В диалоговом окне Новый запрос (New Query) выберите значение Конструктор (Design View). Появляется окно Конструктора запроса с таблицей «Заказы» в верхней части.
Сначала создайте запрос на выборку нужных записей. Перетащите из списка полей таблицы «Заказы» все поля в строку бланка запроса Поле (Field).
В строке Условие отбора (Criteria) столбца «ДатаРазмещения» введите выражение
Between 101.01.961 And 131.12.961

Запустите запрос на выборку, чтобы проверить, правильно ли отобраны записи. Оказались отобранными 152 записи.
Выберите команду Запрос → Добавление (Query → Append) или щелкните левой кнопкой мыши по стрелке на кнопке Тип запроса (Query Type) и выберите из списка элемент Добавление (Append Query). Появляется диалоговое окно Добавление (Append), аналогичное диалоговому окну Создание таблицы (Make Table) (рис. 2).
В поле Имя таблицы (Table Name) необходимо выбрать из списка имя таблицы, в которую будут добавляться записи. В данном случае по умолчанию в нем указана таблица «Заказы (архив)», которую мы только что создали. Нажмите кнопку ОК. (Если бы таблица, в которую нужно добавить записи, находилась в другой базе данных, необходимо было бы выбрать переключатель В другой базе данных (Another Database) и затем в поле Имя файла (File Name) указать имя файла MDB, который содержит требуемую таблицу.)
Рис. 2. Диалоговое окно Добавление

В бланке запроса на добавление появляется дополнительная строка Добавление (Append To), содержащая названия полей таблицы, в которую добавляются записи (рис. 3). В данном случае названия полей запроса и названия полей таблицы совпадают, поэтому по умолчанию вся эта строка заполнена. Если имена полей не совпадают, необходимо выбрать из раскрывающегося списка в строке Добавление (Append To) имя поля результирующей таблицы, соответствующего полю в исходной таблице.
Нажмите кнопку Запуск (Run), чтобы выполнить запрос. Прежде чем новые записи будут добавлены в таблицу, Access выдает сообщение о числе записей, которые предполагается добавить. Вы можете нажать кнопку Да (Yes), и только после этого записи будут добавлены. Если вы нажмете кнопку Нет (No), вставка записей будет отменена.

Рис. 3. Бланк запроса на добавление

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

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

Логические операции

Логические операции «И», «ИЛИ»

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

Вычисляемые поля

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

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

Выражение вводится в бланк запроса в пустое поле строки Поле. После нажатия клавиши или перемещения курсора в другое поле строки, перед выражением в этом поле строки добавляется имя поля Выражeние N. N — целое число, увеличивающееся на единицу для каждого нового создаваемого вычисляемого поля в запросе. Имя вычисляемого поля, стоящее перед выражением, отделяется от него двоеточием. Например:

Выражение!: * где Цена и Количество — имена полей.

Имя вычисляемого поля — выражение1 становится заголовком столбца в таб­лице с результатами выполнения запроса. Это имя можно изменить.

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

Встроенные функции

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

  • Функции даты и времени. Используются при обработке дат и времени в полях и литералах. Возвращают дату и время полностью или частично (год, месяц, день), например, функция Date формирует текущую дату, функция Month выделяет месяц из значения поля, содержащего дату.
  • Функции обработки текста. Используются при работе с символьными строками.
  • Функции преобразования типа данных. Предоставляют возможность пользователю задавать тип данных для числовых значений, что позволяет избежать подбора наиболее подходящего типа данных системой.
  • Математические и тригонометрические функции. Выполняют операции над числовыми значениями, которые невозможно выполнить с помощью стандартных арифметических операторов.
  • Финансовые функции. Подобно функциям Excel, служат для расчета процента возврата по инвестициям, амортизационных отчислений, годовой ренты и т. п.
  • Статистические функции. Используются при работе над полями подмножества записей для вычисления среднего значения, суммы, минимального, максимального значения.

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

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

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

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

Создание формы на основе запроса в Access

На очереди тема «Создание формы на основе запроса в Access». Если в базе данных уже имеется запрос, в котором выбраны таблицы, нужные для получения результата, определены поля, которые необходимо включить в результат, параметры, сделаны вычисления, целесообразно создавать форму на основе такого запроса. Создание формы на основе запроса в Access дело не хитрое. В созданном ранее запросе из таблицы НАКЛАДНАЯ выбираются все накладные, по которым производилась отгрузка в заданном месяце. В вычисляемом поле месяца задано имя параметра — и запрос сохранен под именем Накладные месяца (рис. 5.11). Выбор запроса с параметром в качестве источника записей позволит создать форму, обеспечивающую диалог с пользователем и вывод только тех записей, которые соответствуют заданным в диалоге условиям отбора. Для создания такой формы можно использовать любую из команд автоматического создания формы одним щелчком мыши: Форма (Form), Разделенная форма (Split Form) или Несколько элементов (Multiple Items) (см. рис. 5.1), размещенных в группе Формы (Forms) на вкладке ленты Создание (Create). 1. Выделив запрос в области навигации, щелкните на кнопке Несколько элементов (Multiple Items). В результате выполнения этой команды откроется диалоговое окно Введите значение параметра (Enter Parameter Value). 2. Введите номер месяца, например 3. Форма откроется в режиме макета и отобразит записи, соответствующие введенному значению параметра (рис. 5.12). По команде Несколько элементов (Multiple Items) в форме автоматически создается табличный макет. В табличных макетах элементы расположены в двух разделах формы: надписи располагаются в заголовке формы, поля записей — по строкам в области данных. 1. Сохраните форму, воспользовавшись командой контекстного меню формы, и закройте ее. 2. Выберите форму в области навигации, выполните в ее контекстном меню команду Открыть (Open) или дважды щелкните на ней. Откроется диалоговое окно для ввода значения параметра. Введите нужное значение. В открывшейся форме будут представлены записи, выбранные в соответствии с заданным условием отбора. 3. Для построенной формы открыт режим ввода новых записей. Очевидно это находится в противоречии с заданным условием отбора, поэтому в режиме макета целесообразно открыть Страницу свойств (Property Sheet) формы и на вкладке Данные (Data) в строке Разрешить добавление (Allow Additions) выбрать значение Нет (No). После изменения свойства в форме не будет отображаться строка новой записи, а также померкнет соответствующий значок на панели перехода по записям и кнопка Создать (New) в группе Записи (Records) на вкладке ленты Главная (Home). В приведенном примере добавление новой записи вообще невозможно, т. к. в форме не представлено обязательное поле вторичного ключа — номер договора.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Запрос в 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. Результат выполнения запроса с параметром

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

Как сохранить запросы

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

  1. Создайте запрос.
  2. Измените запрос, пока не получите нужные результаты.
  3. Удар CTRL + S на ПК или Cmmd + S на Mac.
  4. Введите имя, которое будет легко запомнить для последующих поисков.

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

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

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

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

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

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

Создание запросов на удаления записей

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

Если две таблицы связаны отношением «один-ко-многим», нельзя удалять записи из таблицы «один» если в таблице «многие» присутствуют соответствующие им записи. Сначала должны быть удалены записи в таблице «многие» и только потом – соответствующие им записи в таблице «один». Для того чтобы упростить этот процесс, Access позволяет при определении связей между таблицами установить флажок Каскадное удаление связанных записей (Cascade Delete Related Records). Такой флажок установлен, например, для связи таблиц «Заказы» (Orders) и «Заказано» (Order Details). Действительно, если требуется удалить из базы данных какой-то заказ, должны быть удалены не только запись об этом заказе в таблице «Заказы», но ч все позиции данного заказа в таблице «Заказано».

Для создания запроса на удаления мы воспользуемся уже имеющимся запросом на добавление записей «Копирование заказов».

  1. Откройте этот запрос в режиме Конструктора.
  2. Чтобы преобразовать запрос на добавление в запрос на удаление записей, выберите команду Запрос → Удаление (Query → Delete Query). В бланке запроса появится строка Удаление (Delete) (рис. 5). В первом столбце строки Удаление (Delete) показывается значение Из (From), которое указывает, что будут удаляться записи из таблицы «Заказы». Во втором столбце строки Удаление (Delete) вы видите значение Условие (Where), что указывает на использование этого столбца для определения критерия отбора удаляемых записей.

    Рис. 5. Запрос на удаление записей из таблицы «Заказы»

  3. Нажмите кнопку Запуск (Run). Выводятся сообщение с приглашением подтвердить удаление записей и информация о количестве записей, которые будут удалены. Их будет столько же, сколько было отобрано в соответствующем запросе на добавление. В этот момент еще можно отменить удаление, для чего достаточно нажать кнопку Нет (No) в окне сообщения. Нажмите кнопку Да (Yes), подтверждая удаление. Будут удалены все заказы за 1996 год из таблицы «Заказы» (Orders) и все позиции заказов из таблицы «Заказано» (Order Details). Вы можете убедиться в этом, если откроете таблицу «Заказано».
  4. Сохраните запрос, дав ему имя: Удаление заказов.

Однако такое каскадное удаление записей не всегда возможно. Например, для рассмотренной нами в предыдущем разделе связи таблиц «Сотрудники» и «Заказы» нельзя устанавливать флажок Каскадное удаление связанных записей (Cascade Delete Related Records), т. к. удаление записи о сотруднике из таблицы «Сотрудники» не должно повлечь за собой удаление всех его заказов. Если вы попытаетесь удалить какую-либо запись о сотруднике и в таблице «Заказы» (Orders) окажутся заказы, принятые этим сотрудником, Access выдаст сообщение об ошибке (рис. 6).

Рис. 6. Запрос на удаление

Рекомендуем в повседневной деятельности:

Скачать — инструкцию по созданию загрузочной флешки = 50,02мин. 20.04.2014г.
Скачать — правила получение аттестата Webmoney  (30.61 MB) = 7. 5 мин. 11.01.2013г.
Скачать ссылки на каталоги — для регистрации сайта (69.5 MB) = 9. 7 мин. 01.10.2013г.
Скачать — wifi router настройка модема (41.72 MB) = 7 мин. 46 сек. 26.01.2013г.
Скачать — TDSSKiller диагностика, лечение систем (24,71 MB) = 6,02 мин. 01.12.2012г.
Скачать — пример готового проэкта в Lazarus (91,59 MB) = 1,31мин. 08.04.2013г.
Скачать — правила установки MySQL в Lazarus (20,17 MB) = 4,55 мин. 25.02.2013г.

колонтитулы в word 2007, 000000111111

Класс!
  • Мой опыт сотрудничества с Google AdS…
  • Правила составления и оформления до…
  • Комментарии к совершенно разным ста…
  • Что такое графики форекс?…
  • Что побудило меня, создать онлайн каб…
  • Это азартная игра или хорошая работа?…
 

Самое популярное

  • Ubuntu Linux — Базовые знания операто…
  • Биржа forex — иллюзия или реальность…
  • Продажа незавершённого строения…
  • Операционные системы Windows, Linux…
  • Сколько будет стоить создать сайт?…
  • Использование XML в Microsoft Word…

2.4. Microsoft Access 2007

2.4.5. Создание запросов и поиск информации в базе данных

В СУБД Access 2007 можно создавать queries для отображения требуемых полей из записей одной или нескольких таблиц.

В СУБД Access 2007 применяются различные типы запросов: на выборку, на обновление, на добавление, на удаление, перекрестный query, выполнение вычислений, создание таблиц. Наиболее распространенным является query на выборку. Применяются два типа запросов: query по образцу (QBE) и query на основе структурированного языка запросов (SQL).

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

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

На скриншоте (рисунок 1) средства сортировки и фильтрации выделены скругленным прямоугольником красного цвета.

Рис. 1.

Рассмотрим создание запроса на выборку с помощью Конструктора

Для создания нового пустого запроса в режиме конструктора надо щелкнуть на пиктограмме Конструктор запросов (рисунок 2).

Рис. 2.

Откроется активное окно диалога Добавление таблицы (рисунок 3) на фоне неактивного окна «Запрос1». В этом окне можно выбрать таблицы и queries для создания новых запросов.

Рис. 3.

В окне Добавление таблицы следует выбрать несколько таблиц из представленного списка таблиц, на основе которых будет проводиться выбор данных, и щелкнуть на кнопке Добавить. После этого закрыть окно Добавление таблицы, а окно «Запрос1» станет активным (рисунок 4).

Рис. 4.

Окно Конструктора состоит из двух частей – верхней и нижней. В верхней части окна размещается схема данных запроса, которая содержит список связанных таблиц. В нижней части окна находится Бланк построения запроса QBE, в котором каждая строка выполняет определенную функцию.

Переместим имена полей с таблиц-источников в Бланк. Из таблицы Группы студентов переместим поле Название в первое поле Бланка, из таблицы Студенты переместим поле Фамилии во второе поле, а из таблицы Успеваемость переместим поле Оценка в третье поле и из таблицы Дисциплины переместим поле Название в четвертое поле Бланка запросов.

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

Условия ограниченного поиска или критерий поиска информации вводится в строке «Условия» отбора и строке «Или». Например, введем критерий поиска — «5/A» в строке «Условия» для поля Оценка. В этом случае в результате выполнения запроса на экране будут отображаться все фамилии студентов, которые получили оценку 5/A (рисунок. 5).

Рис. 5.

Далее надо закрыть окно запроса Запрос1, появится окно диалога Сохранить, ответить — Да и ввести имя запроса, например «Успеваемость студентов». Для запуска запроса дважды щелкнем на query «Успеваемость студентов», откроется таблица с результатами выполненного запроса (рис. 6).

Рис. 6.

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

Закрыть окно запроса на выборку. На вопрос о сохранении изменения ответить — Да и ввести имя запроса, например «Параметрический query». Запустим Параметрический query, дважды щелкнув на нем. В открывшемся на экране окне диалога «Введите значение параметра» надо ввести фамилию студента, информацию об успеваемости которого необходимо получить (рис. 8).

Рис. 7.

Затем надо щелкнуть на кнопке ОК, откроется таблица с результатами выполненного запроса (рис. 8).

Рис. 8.

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

Далее >>> Раздел: 2.4.6. Создание форм для ввода данных в таблицы базы данных Access 2007

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

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

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

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

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

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

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

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

Указание направления параметров

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

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

В следующем примере создается процедура , которая возвращает список продуктов, цены которых не превышают заданного значения. На данном примере демонстрируется использование нескольких инструкций SELECT и нескольких параметров OUTPUT. Параметры OUTPUT позволяют внешней процедуре, пакету или нескольким инструкциям Transact-SQL осуществлять доступ к набору значений во время выполнения процедуры.

Процедура возвращает из базы данных Adventure Works список товаров (велосипедов) стоимостью менее $ 700. Параметры @cost и @compareprices инструкции OUTPUT используются в языке управления потоком для вывода информации в окне Сообщения.

Примечание

Переменная OUTPUT должна быть определена во время создания процедуры, а также в ходе использования переменной. Имена параметра и переменной не должны совпадать. При этом тип данных и положение параметра должны быть одинаковыми (если только не используется @listprice= переменная).

Частичный результирующий набор:

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

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

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

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

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

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

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

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

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

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

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

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

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

Вывод

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

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

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

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

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

Adblock
detector