Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 14_ MS Access.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
248.32 Кб
Скачать

12. Вычисления в запросах

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

Результативность: [Забито] / [Игры]

  1. В узкий столбец непросто записать длинную формулу, но если нажать комбинацию клавиш SHIFT+F2, то открывается вспомогательное диалоговое окно, которое называется Область ввода. В нем можно ввести сколь угодно длинную формулу, а потом щелчком по кнопке ОК перенести ее в бланк запроса по образцу.

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

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

Практическое задание.

Создайте в БД еще одну таблицу «Итоги по командам»:

Сборная

Игры

Победы

Ничьи

Поражения

Забито

Пропущено

Очков

Бразилия

73

49

13

11

159

68

111

Германия

73

42

16

15

154

87

100

Италия

61

35

14

12

97

59

84

Аргентина

52

26

9

17

90

65

61

Англия

41

18

12

11

55

38

48

Испания

37

15

9

13

53

44

39

Россия

34

16

6

12

60

40

38

По данной таблице создайте запрос с вычисляемым полем по формуле, приведенной выше. Отсортируйте полученное вычисляемое поле по убыванию.

13. Итоговые запросы

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

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

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

  1. Рассмотрим работу салона, занимающегося продажей подержанных автомобилей. Результаты работы салона за последнюю неделю содержатся в таблице. В ней можно выделить несколько групп по разному признаку. Записи можно сгруппировать по моделям автомобилей (ВАЗ – отдельно и BMW – отдельно) или по году выпуска (1989, 1993 и т.д.). Для каждой из групп можно провести итоговое вычисление по полю Цена.

  2. Итоговые запросы создают на основе известного нам бланка запросов по образцу, только теперь в нем появляется дополнительная строка – Группировка.

  3. Для введения этой строки в бланк надо щелкнуть по кнопке Групповые операции на панели инструментов.

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

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

  6. Щелчок по кнопке Вид запускает запрос и выдает результирующую таблицу с необходимыми итоговыми данными.

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

Практическое задание.

Создайте новую БД с таблицей «Автосалон», (поля Автомобиль и ГодВыпуска – текстовые, поле Цена – числовое):

Автомобиль

Год выпуска

Цена

Тойота-Карина

1989

6500

Опель-Омега

1989

7600

BMW-525

1989

13800

Фольксваген-Пассат

1989

8800

ВАЗ-2105

1989

3200

ВАЗ-2105

1993

3600

Опель-Омега

1993

13800

BMW-525

1993

19000

Тойота-Карина

1993

14200

Фольксваген-Пассат

1993

14400

Тойота-Карина

1994

14300

Фольксваген-Пассат

1994

15500

Опель-Омега

1994

17300

ВАЗ-2105

1994

4000

BMW-525

1994

23000

Опель-Омега

1995

19400

Тойота-Карина

1995

17000

Фольксваген-Пассат

1995

16400

BMW-525

1995

23800

ВАЗ-2105

1995

4900

По полученной таблице создайте итоговый запрос:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]