Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Выбор данных из одной таблицы

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

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

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

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

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

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

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

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

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

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

- создание отчетов, содержащих данные нескольких таблиц;

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

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

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

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

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

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

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

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

 

 
 

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

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

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

Ввод условий отбора. Если нужно отобрать записи с конкретным значением поля, его нужно ввести в ячейку Условие отбора этого поля. Текстовое значение в качестве условия заключается в кавычки. При задании условия отбора можно пользоваться знаками отношений <, >, >=, <=, =, < > и логическими операциями or, and.

Кроме этого Access предоставляет специальные операторы для отбора данных, выводимых в запросе:

between - определяет диапазон значений. Between 10 and 20 означает то же самое, что и выражение >=10 and <=20;

in - задает используемый для сравнения список значений. Выражение in(“wa”,”ca”,”id”) означает то же самое, что и выражение “wa” or “ca” or “id”;

like - этот оператор позволяет при отборе текстовых полей использовать символы: ?, *,#. Символ # указывает, что в данной позиции должна стоять цифра, символы? и * имеют то же назначение, что и в именах файлов OC MS DOS.

Например, like “B*” - означает, что нужно выбрать поля, начинающиеся с буквы В.

Условия отбора для дат и времени Access обрабатывает в любом формате. При вводе дату или время необходимо заключать в символы #. Например, #15 Апрель 1998#, #15/04/98# определяют одну и ту же дату.

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

day(дата) - возвращает значение дня месяца в диапазоне от 1 до 31. Если нужно отобрать записи с определенными днями месяца - задается вычисляемое поле, например, day([Дата_заказа]) и вводится условие отбора, например, >10. В этом случае выбираются все записи поля, вычисляемое поле которых >10;

month(дата) - возвращает значение месяца года в диапазоне от 1 до 12;

year(дата) - возвращает значение года в диапазоне от 100 до 9999;

weekday(дата) - возвращает целое число от 1(Воскресенье) до 7(Суббота), соответствующее дню недели;

date() - возвращает текущую системную дату.

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

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

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

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

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

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

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

sum - вычисляет сумму всех значений заданного поля в каждой группе. Используется только для числовых и денежных полей;

avg - Вычисляет среднее арифметическое значение всех значений данного поля в каждой группе;

min, max - вычисляет наименьшее (наибольшее) значение поля внутри группы;

count - вычисляет число записей, в которых значения данного поля отличны от Null.

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

<== предыдущая лекция | следующая лекция ==>
 | Структурированный язык запросов (SQL)
Поделиться с друзьями:


Дата добавления: 2013-12-11; Просмотров: 644; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.