Условия отбора записей
Литералы — конкретные значения, воспринимаемые Access так, как они записаны. В качестве литералов могут быть использованы числа, текстовые строки, даты. Текстовые строки заключаются в двойные кавычки, даты — в знаки (#). Например, 567, «Информатика», #1-Января-99#.
Константы — не изменяющиеся значения, которые определены в Access, например, True, False, Да, Нет, Null.
Идентификатор — ссылка на значение поля, элемента управления или свойства. Идентификаторами могут быть имена полей таблиц, форм, отчетов и т. д., которые должны заключаться в квадратные скобки. Как правило, Access производит автоматическую подстановку скобок.
Во многих случаях ссылка на конкретное значение должна указывать точное его местоположение в иерархии объектов базы данных, начиная с объекта верхнего уровня. Если необходимо указать ссылку на поле в конкретной таблице, форме, отчете, то перед именем поля ставится имя таблицы, формы, отчета, также заключенное в квадратные скобки и отделенное от имени поля восклицательным знаком. Например, ссылка на поле в таблице примет вид: [Имя таблицы]! [Имя поля], а ссылка на свойство DefaultValue элемента управления Дата рождения в форме СТУДЕНТ: Forms! [СТУДЕНТ]! [ Дата рождения].DefaultValue
Операторами сравнения и логическими операторами, использование которых допускается в выражении условия отбора, являются:
Эти операторы определяют операцию над одним или несколькими операндами.
Если выражение в условии отбора не содержит оператора, то по умолчанию используется оператор =.
Текстовые значения, если они содержат пробелы или знаки препинания, вводятся в двойных кавычках. В противном случае кавычки можно не вводить, они будут добавлены автоматически.
Допускается использование операторов шаблона — звездочка (*) и вопросительный знак (?).
Оператор Between позволяет задать интервал для числового значения и даты. Например:
Between 10 And 100
задает интервал от 10 до 100; можно задать интервал дат:
Between #01.01.1997* And #31.12.1997*
Оператор in позволяет выполнить проверку на равенство любому значению из списка, который задается в круглых скобках. Например:
In («Математики»;»Информатики»; » Истории»)
Оператор Like позволяет использовать образцы, использующие символы шаблона, при поиске в текстовых полях. Например: Like «Иванов* «
Сформировать условие отбора можно с помощью построителя выражений. Перейти в окно Построитель выражений можно, нажав кнопку Построить на панели инструментов конструктора запросов или выбрав команду Построить в контекстно-зависимом меню. Курсор мыши должен быть установлен предварительно в поле строки ввода условия отбора.
После ввода выражения в бланк и нажатия клавиши [Enter] Access выполняет синтаксический анализ выражения и отображает его в соответствии с результатами этого анализа.
Логические операции
Логические операции «И», «ИЛИ»
Условия отбора, заданные в одной строке, связываются по умолчанию с помощью логической операции и, заданные в разных строках — с помощью логической операции или. Эти операции могут быть также заданы явно в выражении условия отбора с помощью операторов and и or соответственно.
Вычисляемые поля
В запросе над полями могут производиться вычисления. Результат вычисления образует вычисляемое поле в таблице запроса. При каждом выполнении запроса производится вычисление с использованием текущих значений полей.
Помимо имен полей, в выражениях вычисляемых полей могут использоваться литералы и встроенные функции. В результате обработки выражения может получаться только одно значение.
Выражение вводится в бланк запроса в пустое поле строки Поле. После нажатия клавиши [Enter] или перемещения курсора в другое поле строки, перед выражением в этом поле строки добавляется имя поля Выражeние N. N — целое число, увеличивающееся на единицу для каждого нового создаваемого вычисляемого поля в запросе. Имя вычисляемого поля, стоящее перед выражением, отделяется от него двоеточием. Например:
Выражение!: [Цена]*[Количество] где Цена и Количество — имена полей.
Имя вычисляемого поля — выражение1 становится заголовком столбца в таблице с результатами выполнения запроса. Это имя можно изменить.
Для вычисляемых полей, как и для любых других, допускается сортировка, задание условий отбора и расчет итоговых значений.
Встроенные функции
В Access и VBA определено примерно 150 встроенных функций, которые можно использовать в вычисляемых полях и условиях отбора. Перечислим некоторые сгруппированные по назначению функции.
- Функции даты и времени. Используются при обработке дат и времени в полях и литералах. Возвращают дату и время полностью или частично (год, месяц, день), например, функция Date формирует текущую дату, функция Month выделяет месяц из значения поля, содержащего дату.
- Функции обработки текста. Используются при работе с символьными строками.
- Функции преобразования типа данных. Предоставляют возможность пользователю задавать тип данных для числовых значений, что позволяет избежать подбора наиболее подходящего типа данных системой.
- Математические и тригонометрические функции. Выполняют операции над числовыми значениями, которые невозможно выполнить с помощью стандартных арифметических операторов.
- Финансовые функции. Подобно функциям Excel, служат для расчета процента возврата по инвестициям, амортизационных отчислений, годовой ренты и т. п.
- Статистические функции. Используются при работе над полями подмножества записей для вычисления среднего значения, суммы, минимального, максимального значения.
Для записи выражения может быть использован построитель выражений, который вызывается кнопкой Построить панели инструментов.
Присвоение пользовательских имен вычисляемым полям
Пользователь имеет возможность присвоить новое имя вычисляемому полю, используя один из следующих способов:
- Изменение имени поля в запросе. В режиме конструктора запроса в бланке запроса вместо Выражением введите новое имя.
- Изменение подписи поля в свойствах поля. Установите курсор на вычисляемое поле в бланке запроса и откройте окно Свойства поля, щелкнув правой кнопкой мыши и выбрав в контекстном меню пункт Свойства. В окне Свойства поля на вкладке Общие введите нужный текст подписи в строку Подпись поля.
Что такое условие отбора для поля в запросе
Для ограничения списка записей, получаемых в результате работы запроса, только удовлетворяющими определенным условиям — в бланке запроса предусмотрены поля для условий отбора. Коротко про это было рассказано в «Шаг 22 — Создание запроса на выборку», теперь настало время разобраться более подробно.
Самое главное, что следует запомнить, это то, что для каждого поля запроса можно создать свое условие отбора. Если это числовое поле, то можно указать интересующий диапазон значений. Например, в поле Цена можно задать условие >20, что позволит выбрать все книги, цены которых превышают цифру 20.
Для текстового поля задается строка, содержимое которой будет сравниваться со значениями соответствующего поля таблицы. Совпадение значений приведет к добавлению текущей записи в итоговую таблицу. При составлении строки знак * означает любую последовательность символов, а ? один любой символ. Например, условие «Новикон» в поле Издательство, выдаст список книг, напечатанных только в этом издательстве. Условие «Нов*» соответствует значениям начинающимся с Нов, «*а*» выдаст все издательства с буквой а в названии, «. « отыщет все комбинации из пяти символов, а «??*» соответствует значениям состоящим не менее чем из двух символов.
Так можно поступать, если условие отбора для запроса заранее известно и не возникнет необходимость его изменения. На практике, во многих случаях пользователю надо предоставить возможность самостоятельного выбора того, что он хочет найти в таблицах базы данных. Для этого параметр условия отбора должен запрашиваться при каждом сеансе работы запроса. Предположим, что покупатель хочет узнать про наличие в магазине книг Айзека Азимова. Все остальные книги его не интересуют, а тратить свое время на просмотр всей базы в поисках нужной информации он, разумеется не намерен. Тогда в запросе просто необходимо предусмотреть возможность получить от покупателя эту информацию и выдать ему только записи, у которых Имя автора Айзек, а Фамилия автора Азимов.
Для этой цели служит специальная команда языка SQL, которая выглядит так:
Like [ Текст сообщения пользователю ]
В квадратных скобках записывается текст, выводимый в окне ввода параметра, появляющегося на экране, сразу после начала работы соответствующего запроса. Поле ввода принимает набранное на клавиатуре значение и передает его в качестве условия отбора. Далее СУБД просматривает все записи базы данных в поисках совпадения значений и выводит результаты поиска в итоговой таблице.
-
В режиме конструктора, скопируйте текст подсказки (без квадратных скобок) из поля Условие обора в буфер обмена. Для этого выделите строку подсказки и нажмите комбинацию клавиш Ctr+C на клавиатуре или воспользуйтесь пунктом Копировать, контекстного меню правой кнопки мыши.
Можно указать несколько условий отбора для поля запроса. Второе условие помещается в строку Или, третье на строку ниже и так далее, пока не будут указаны все необходимые значения. Невыполнение хотя бы одного из условий отбора, запрещает добавление записи в результирующую таблицу. Поэтому необходимо предельное внимание во время набора значений. Опечатки или неточности могут кардинально повлиять на работу создаваемого запроса.
Совет: Прежде чем преобразовывать запрос любого типа в запрос с параметрами, полностью завершите процесс конструирования и тестирования запроса. Использование в запросе тестового (точно присутствующего в записях таблицы) условия отбора обеспечивает согласованность процесса тестирования. Кроме того, если в запросе не применен ни один параметр, можно более быстро переключаться между режимами конструирования и работы запроса. Закончив тестирование и проверив работоспособность запроса, отредактируйте условия отбора и добавьте необходимые тексты подсказок для окон ввода значений параметра.
Пособие для студентов Модуль 3
Учебно-методическое пособие содержит Модуль 3, состоящий из двух разделов:
- Моделирование;
- База данных.
В начале каждого раздела указаны маршрутные карты, которые определяют последовательность самостоятельного изучения теоретического материала, сроки выполнения практических и индивидуальных заданий, сроки сдачи промежуточных и итоговых тестирований.
Для проверки знаний в учебном пособии приведены вопросы для самоконтроля.
Составители: Глазова В.Ф., Панюкова Е.В.
© Тольяттинский государственный университет, 2009
Маршрутная карта изучения дисциплины по Модулю 3. 5
1. Современное состояние проблемы моделирования систем. 6
2. Принципы моделирования. 8
3. Классификация моделей. 8
4. Моделирование систем. 11
5. Математическое моделирование. 13
5.1. Математические схемы моделирования систем. 13
5.2. Непрерывно-детерминированные модели (D-схемы). 14
5.3. Дискретно-детерминированные модели (F-схемы). 15
5.4. Дискретно-стохастические модели (Р-схемы). 15
5.5. Непрерывно-стохастические модели (Q-схемы). 15
5.6. Сетевые модели (N-схемы). 15
5.7. Комбинированные модели (А-схемы). 15
6. Анализ результатов машинного моделирования. 15
6.1. Корреляционный анализ результатов моделирования. 16
6.2. Регрессионный анализ результатов моделирования. 16
6.3. Дисперсионный анализ результатов моделирования. 18
6.4. Вопросы для самоконтроля. 19
7. Методические указания для выполнения практического задания №1. «Построение простейших моделей». 20
Приложение 1. Варианты заданий. 20
8. Методические указания для выполнения практического задания №2. «Построение регрессионной модели» с использованием табличного процессора Microsoft Excel. 22
9. Методические указания для выполнения индивидуального задания №1. «Построение регрессионной модели» средствами языка программирования Turbo Pascal. 23
Приложение 2. Варианты заданий. 24
10. Основные понятия теории баз данных. 28
10.1. Базы данных и системы управления базами данных. Модели данных. 28
10.2. Основы проектирования реляционных баз данных. 31
10.3. Этапы проектирования реляционной базы данных. 34
10.4. Вопросы для самоконтроля. 37
11. Основы работы с СУБД Microsoft Access. 37
11.1. Объекты базы данных Microsoft Access. 37
11.2. Работа с таблицами. 40
11.3. Работа с формами. 44
11.4. Работа с запросами. Запросы на выборку. 48
11.5. Итоговые запросы и запросы на изменение данных. 54
11.6. Работа с отчетами. 58
11.7. Вопросы для самоконтроля. 59
12. Методические указания для выполнения практического задания №3. «Работа с таблицами и формами базы данных Microsoft Access». 60
13. Методические указания для выполнения практического задания №4. «Работа с запросами на выборку в базе данных Microsoft Access». 67
14. Методические указания для выполнения практического задания №5. «Работа с итоговыми запросами и запросами на изменение таблиц в базе данных Microsoft Access. Создание отчетов». 73
15. Методические указания для выполнения индивидуального задания №2. «Базы данных». 84
16. Вопросы для подготовки к защите индивидуального задания №2. 84
4.1.4. Условия отбора записей в запросах
Условия отбора для полей запроса задаются в одноименной строке. Если условия в этой строке определены для нескольких полей, то они связаны логической функцией «И». Если условия отбора разных полей определены в разных строках: «Условие отбора» и «Или», то такие условия связаны логической функцией «ИЛИ». Запрос может иметь сложный критерий, в соответствии с которым для полей определены условия отбора в обеих строках.
Условие отбора записей – это набор предопределенных в Access и устанавливаемых в запросе пользователем правил. При построении критерия (условия) отбора в запросах могут использоваться выражения, операторы и функции MS Access.
Оператор Between позволяет задать интервал для числового значения, например: Between 300 And 500
Оператор IN позволяет выполнить проверку на равенство любому значению из списка, который задается в круглых скобках, например: IN (3187,3189) или IN(«Москва»,»Санкт-Петербург»,»Рязань»)
Оператор Like позволяет использовать образцы и символы шаблона при поиске данных, например: Like «Михайлов» или Like «М*»
Допускается использование в литералах символов шаблона *, ?, #, [список], [!список].
? – в позиции шаблона может быть любой символ: (0 – 9), (Aa – Zz), (Аа – Яя);
* — любое количество символов;
# — в позиции может быть любая цифра;
[список] – в позиции может быть любой символ из списка;
[!список] – в позиции может быть любой символ за исключением символов из списка.
При написании шаблон заключается в двойные кавычки.
Like «А*» – в поле ФАМИЛИЯ все фамилии, начинающиеся на А.
Like «*/1/99» – в поле ДАТА – все записи за январь 2007г.
Like «[ABC]*» – в поле ИМЯ – любое имя, начинающееся с указанных букв.
4.2. Технология объекта запроса «на действия»
Выполнение запроса — действия приводит к изменению содержимого базы данных. При выполнении таких запросов следует быть осторожным, так как необдуманное применение этих запросов может привести к необратимой утрате информации в базе данных. Поэтому MS Access автоматически помечает в окне базы данных запросы — действия символом «!».
При создании запроса MS Access по умолчанию создает запрос на выборку. При необходимости с помощью команд конструктора запросов можно указать другой тип запроса.
Существует 4 типа запросов на изменение:
- запрос на добавление;
- запрос на обновление;
- запрос на удаление;
- запрос на создание таблицы.
4.2.1.Запрос на добавление
Запрос на добавление позволяет добавлять записи в указанную таблицу, не только текущей базы данных, но и любой другой базы данных. Структура записи таблицы-запроса необязательно должна совпадать со структурой таблицы, в которую будут добавляться записи. Например, в записи запроса может быть меньше полей, если на поля принимающей таблице не наложено требование обязательности их заполнения. Допускается несоответствие типов полей, если возможно преобразование типа данных одного поля в тип данных другого поля.
Для создания запроса необходимо выполнить следующие действия:
- создать запрос на выборку и отладить его (добавить таблицы, значения полей которых будут использоваться для добавления записей);
- отменить свойство «Вывод на экран» для полей запроса;
- выполнить команду Запрос/Добавление – для преобразования в запрос на добавление. При этом в бланке запроса появляется строка Добавление. Далее необходимо включить в бланк запроса поля, данные, которых будут добавляться в принимающую таблицу. Можно ввести также условия отбора записей для добавления.
- указать имя таблицы, куда будут добавляться записи;
- выполнить команду Запрос/Запуск.
Если принимающая таблица содержит ключевое поле, то и добавляемые записи должны иметь такое же ключевое поле (по условиям целостности БД).
Технология создания других типов запросов — действий аналогична.