Контрольная работа: Возможности пакета Mathcad, СУБД Microsoft Access
Так можно поступать, если условие отбора для запроса заранее известно и не возникнет необходимость его изменения. На практике, во многих случаях пользователю надо предоставить возможность самостоятельного выбора того, что он хочет найти в таблицах базы данных. Для этого параметр условия отбора должен запрашиваться при каждом сеансе работы запроса. Предположим, что пользователь хочет узнать про наличие в магазине книг Айзека Азимова. Все остальные книги его не интересуют, а тратить свое время на просмотр всей базы в поисках нужной информации он, разумеется не намерен. Тогда в запросе просто необходимо предусмотреть возможность получить от покупателя эту информацию и выдать ему только записи, у которых Имя автора Айзек, а Фамилия автора Азимов.
Для этой цели служит специальная команда языка SQL, которая выглядит так:
Like [ Текст сообщения пользователю ]
В квадратных скобках записывается текст, выводимый в окне ввода параметра, появляющегося на экране, сразу после начала работы соответствующего запроса. Поле ввода принимает набранное на клавиатуре значение и передает его в качестве условия отбора. Далее СУБД просматривает все записи базы данных в поисках совпадения значений и выводит результаты поиска в итоговой таблице.
По умолчанию Access определяет тип вводимых данных как Текстовый. Если же параметр задает условие отбора из столбца с данными типа Числовой или Дата/Время, то необходимо вручную назначить тип данных.
Очень часто возникает необходимость выполнить ряд вычислений в процессе работы запроса и вывести результаты, а не исходные значения. Для этого в запрос вводится специальное поле, содержимое которого является результатом расчета по содержимому других полей. Такое поле называется вычисляемым полем. В исходных таблицах базы данных такое поле не создается и его значение не влияет на содержимое этих таблиц. Это сделано для защиты информации в базе данных. Каждое обращение к базе, может с помощью запросов манипулировать данными и получать любые результаты, но все это будет существовать только в пределах набора записей - временной итоговой таблицы, хранимой только в памяти компьютера.
Для создания запроса, производящего вычисления, служит тот же самый стандартный бланк запроса. Разница заключается только в том, что в одном из столбцов вместо имени поля записывается формула. В формулу вводят заключенные в квадратные скобки названия полей связанных таблиц, принимающих участие в расчете, а также знаки математических операций:
Доход : [Продано]*[Цена]/6
До двоеточия следует название вычисляемого поля, выводимое в заголовке столбца результирующей таблицы. В узкое поле бланка запроса неудобно записывать длинные формулы, но если воспользоваться комбинацией клавиш Shiht+F2, то откроется вспомогательное окно Область ввода. В нем есть возможность ввести сколь угодно длинную формулу, а затем добавить ее в поле запроса, простым нажатием на кнопку ОК.
Если есть необходимость занести вычисленные данные в отдельную таблицу, достаточно воспользоваться Запрос на изменение (действия).
Задача 1. Определить сумму и произведение положительных элементов массива А(20), с четными порядковыми номерами
Начало
Ввод членов массива А
Ввод производим в цикле
For I=0 To I=20 Step 1
Input A(I); Next
Выборка и суммирование
положительных четных элементов массива
For I=0 to 20 Step 2
Да
Summ:=Summ + A(I) If A(i)>=0
Выборка и произведени
положительных четных элементов массива
For I=0 to 20 Step 2
Да
Pr:=Pr * A(I) If A(i)>=0
Вывод значений Summ и Pr
Конец
Задача 2. Дан двумерный массив А из 13 строк и 7 столбцов. Найти сумму элементов, стоящих в строках с нечетным индексом
Начало