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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



Блоки данных в запросе могут быть рассортированы алфавитным или числовым способом в возрастающей (А-Я, 0-9) или убывающей (Я-А, 9-0) последовательности по содержимому отдельных полей. Можно одновременно производить сортировку по содержимому нескольких полей (до десяти):

1. Щелкните мышью в строке «Сортировка» того столбца (поля), по которому необходимо произвести сортировку.

2. Укажите способ сортировки.

Запрос с параметром (параметрический запрос)

Как правило, запросы с параметром создаются в тех случаях, когда предполагается выполнять этот запрос многократно, изменяя лишь условия отбора. В отличие от запроса на выборку, где для каждого условия отбора создается свой запрос и все эти запросы хранятся в БД, параметрический запрос позволяет создать и хранить один единственный запрос и вводить условие отбора (значение параметра) при запуске этого запроса, каждый раз получая новый результат. В качестве параметра может быть любой текст, смысл которого определяет значение данных, которые будут выведены в запросе. Значение параметра задается в специальном диалоговом окне. В случае, когда значение выводимых данных должно быть больше или меньше указываемого значения параметра, в поле "Условие отбора" бланка запроса перед параметром, заключенным в квадратные скобки ставится соответствующий знак. Можно также создавать запрос с несколькими параметрами, которые связываются друг с другом логическими операциями "И" и "ИЛИ". В момент запуска запроса на выполнение MS Access отобразит на экране диалоговое окно для каждого из параметров. Помимо определения параметра в бланке запроса, необходимо указать с помощью команды Параметры ( меню Запрос) соответствующий ему тип данных:

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

2. В качестве условия введите параметр, заключенный в квадратные скобки (например, [Введите название] или >[Выше какого роста?]).

3. Выберите команду Параметры ( меню Запрос).

4. В появившемся окне ПАРАМЕТРЫ ЗАПРОСА введите без квадратных скобок параметр (для точности ввода воспользуйтесь "быстрыми" клавишами копирования и вставки из буфера обмена) и укажите соответствующий ему тип данных. Нажмите ОК.

5. Нажмите кнопку ЗАПУСК панели инструментов.

6. В появившемся окне укажите значение параметра.

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

Вычисляемые поля в запросах

Запрос можно использовать для выполнения расчетов и подведения итогов из исходных таблиц.

Для создания вычисляемых полей используются математические и строковые операторы. При этом Access проверяет синтаксис выражения и автоматически вставляет следующие символы:

квадратные скобки ([]), в них заключаются имена элементов управления;

знаки номеров (#), в них заключаются распознанные даты;

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

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

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

Имя вычисляемого поля: Выражение для создания вычисляемого поля.

Пример: Прибыль:[Доход]-[Расход]

 

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

Например, Цена со скидкой:[Цена]-[Цена]*0,1

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

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

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

3. В режиме конструктора запроса измените имя «Выражение1» на более значимое.

Для того чтобы ввести сложные вычисления используйте окно ПОСТРОИТЕЛЬ ВЫРАЖЕНИЙ, которое вызывается нажатием кнопки ПОСТРОИТЬ панели инструментов, либо соответствующей командой контекстного меню. Построитель выражений облегчает создание выражений, позволяя выбирать его составляющие элементы (арифметические операции, встроенные функции, названия полей имеющихся в БД таблиц и запросов и т.п.) при помощи кнопок и списков.

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

 

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

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

Between Date() And DateAdd("m",1,Date())

 

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

Функция SQL Действие
Sum Суммирование значений определенного поля
Avg Вычисление среднего значения данных определенного поля
Min Вычисление минимального значения поля
Max Вычисление максимального значения поля
Count Вычисление количества записей, отобранных запросом по условию
First Определяется первое значение в указанном поле записей, отобранных запросом
Last Определяется последнее значение в указанном поле записей, отобранных запросом
StDev Вычисляется стандартное отклонение значений данного поля, для всех записей, отобранных запросом
Var Вычисляется вариация значений данного поля для всех записей, отобранных запросом

Для выполнения запроса на итоговое вычисление:

1. Находясь в режиме Конструктора Запроса, выберите команду Групповая операция ( меню Вид) или нажмите кнопку ГРУППОВАЯ ОПЕРАЦИЯ панели инструментов. В результате чего в бланке запроса появится строка «Групповая операция».

2. Для соответствующего поля выберите нужную функцию из списка «Группировка».

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

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

1. В режиме КОНСТРУКТОРА сформируйте запрос, добавив таблицу, которая должна лежать в его основе.

2. Выберите команду Перекрестный ( меню Запрос). Строка запроса «Вывод на экран» в бланке запроса изменится на новую строку «Перекрестная таблица» и перед ней появится строка «Групповая операция».

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

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

5. Для поля, содержимое которого индицируется в качестве значений, в строке «Групповая операция» введите необходимую функцию, например, автосуммирования (Sum), определения среднего значения (Avg) или количества (Count).

На основе данных перекрестного запроса можно строить диаграммы, представленные в виде формы (см. п.).

Упражнение 3

1. Откройте БД Продажи.

2. Создайте и сохраните запрос для отображения названий товаров, их цен и телефонов складов, на которых они хранятся.

3. Создайте и сохраните запрос для отображения в алфавитном порядке дат продаж телевизоров с указанием их марок и проданного количества, а также названий, адресов и телефонов фирм, их закупивших.

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

5. Создайте и сохраните запрос для отображения в алфавитном порядке фамилий, домашних и рабочих телефонов и адресов директоров фирм-покупателей.

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

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

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

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

10. Создайте и сохраните запрос для отображения средних цен на все товары.

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

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

БД на физическом уровне хранит только таблицы. Набор записей запросов физически не существует в БД. Ассеss создает его из данных таблиц только во время выполнения запроса. Иногда возникает необходимость сохранить извлекаемые с помощью запроса на выборку данные в новой таблице:

1. Создайте новый запрос на выборку и проверьте его корректность, перейдя в режим ТАБЛИЦА. Для создания резервной копии таблицы (таблицы, содержащей те же поля и в том же количестве, что и в оригинале), чтобы не перетаскивать все поля таблицы в строку «Поле», достаточно поместить туда из начала списка полей таблицы символ *, заменяющий все поля таблицы.

2. Преобразуйте запрос на выборку в запрос на создание новой таблицы. Для этого, вернувшись в режим КОНСТРУКТОРА, выберите команду Создание таблицы...( меню Запрос).

3. В появившемся окне введите имя новой таблицы и нажмите ОК.

4. Выполните запрос.

5. Нажмите кнопку ОК в появившемся специальном диалоговом окне.

Запрос на обновление

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

1. Создайте новый запрос на выборку и проверьте его корректность, перейдя в режим ТАБЛИЦА.

2. Преобразуйте запрос на выборку в запрос на обновление. Для этого, вернувшись в режим КОНСТРУКТОРА, выберите команду Обновление ( меню Запрос).

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

4. Выполните запрос.

5. Нажмите кнопку ОК в появившемся специальном диалоговом окне.



Поделиться:


Последнее изменение этой страницы: 2016-07-16; просмотров: 259; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.44.23 (0.019 с.)