Применение параметров в запросе 


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



ЗНАЕТЕ ЛИ ВЫ?

Применение параметров в запросе



Если нужно менять условие при каждом запуске запроса, вместо значения в условие можно записать параметр – текст в квадратных скобках [ ], тогда при выполнении запроса появится окно Введите значение параметра (рис. 5.7) с названием параметра и полем для ввода его значения. Название параметра – текст в [ ] – не должно совпадать с названиями полей. Параметров а одном запросе может быть несколько. Оператор сравнения не может входить в параметр, он записывается перед параметром. Если параметр нужно использовать с символами «*», то условие для примера из предыдущего раздела будет выглядеть так:

Like "* "&[Имя для поиска]&" *"

Рис. 5.7. Диалоговое окно Введите значенние параметра

Флажок вывода на экран

Как вы видите, все поля, которыми оперирует запрос, специально помечены галочками, проставленными в строке Вывод на экран. Это означает, что далеко не все поля, которыми оперирует запрос, должны непременно выводиться на экран компьютера. Можно выводить на экран лишь то, что связано с полученным результатом. Например, иногда требуется отобрать записи с определенным значением какого-либо поля, но само это значение в результирующей таблице нам не нужно. В таком случае мы должны снять флажок Вывод на экран.

Изменение имени поля в запросе

Для изменения имени поля в запросе необходимо:

· открыть запрос в режиме Конструктора;

· поместить курсор в требуемое поле (в строке Поле);

· перейти в начало поля, для чего:

· нажать клавишу <F2> или еще раз щелкнуть по имени поля, чтобы снять выделение поля,

· нажать клавишу <Home>, чтобы курсор встал перед первым символом;

· ввести новое имя поля и двоеточие (без пробела между ними).

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

Сохранение запроса

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

- Закрыть запрос, щелкнув по кнопке Закрыть . Access выдаст сообщение для сохранения запроса (рис. 5.8).

Рис. 5.8. Предупреждающее сообщение

- Нажмите кнопку Да. Появится диалоговое окно Сохранение (рис. 5.9). Если нажать кнопку Отмена или клавишу <Esc>, то запрос не будет закрыт. Если нажать кнопку Нет, запрос будет закрыт без сохранения, т.е. исчезнет.

Рис. 5.9. Присвоение имени запросу в диалоговом окне Сохранение

- В текстовом поле Имя запроса введите имя запроса, например Запрос Календарь, и нажмите кнопку ОК. Теперь запрос сохранен под этим именем.

Выражения. Применение выражений в запросах

Из опыта работы с Microsoft Excel вы знаете, как использовать операторы для создания выражений. В электронных таблицах выражения обычно называют формулами. Например, синтаксис выражения для вычисления даты «через 10 дней после текущей даты» Date()+10 в Access совершенно аналогичен синтаксису формулы в Excel. Условные выражения, которые в Excel записываются с помощью функции ЕСЛИ(), в Access записываются с помощью функции IIF().

Выражения используются для проверки условий, например, ТабельныйНомер>900, или для арифметических вычислений, например Количество*[Цена за единицу]

Примечание

Имена объектов, содержащие пробелы, например имена полей, должны заклю­чаться в квадратные скобки. Хорошей практикой разработки БД явля­ется отсутствие пробелов в именах объектов любого типа. А чтобы имена было удобнее читать, разделяйте слова символами подчеркивания или начинайте каждое слово (без пробелов между ними) с заглавной буквы, например Цена_за_единицу или ЦенаЗаЕдиницу.

Элементы выражений

Выражение должно содержать по крайней мере одну операцию и по крайней мере одну константу, или идентификатор, или функцию. Ниже дано описание этих элементов:

· Операторы — обычные арифметические (+, –, *, /) и другие символы и аббревиатуры. Большинство других операторов Access эквивалентны операторам языков программирования типа Basic, кроме специфичных для Access или SQL операторов, например, Between, In, Is и Like.

· Константы состоят из значений, которые вы вводите, например: 12345 или ABCDE. Чаще всего константы применяются для создания значений по умолчанию и, в сочетании с идентификаторами полей, для сравнения значений в полях таблиц.

· Идентификаторы — это имена объектов в Access (таких, как поля таб­лиц), которые возвращают определенные числовые или текстовые значения. Термин возвращают в применении к выражениям означает подстановку в выражение текущего значения идентификатора вместо его имени. Например, идентификатор имени поля [Company Name] в выражении возвращает значение поля Company Name из текущей вы­деленной записи. В Access есть пять заранее предопределенных посто­янных именованных констант, которые также служат идентификато­рами: True, False, Yes, No и Null. Именованные константы и пе­ременные, создаваемые в Access VBA, — это тоже идентификаторы.

· Функции, такие как Date(), возвращают в выражение значение вместо име­ни функции. Большинство функций имеют аргументы, в качестве которых используются идентификаторы или значения. Аргументы заключаются в скобки и разделяются точкой с запятой.

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

Примечание

Выражения в тексте методички выделяются моноширинным шрифтом, чтобы отли­чать их от основного текста. Операторы, включая символические, встроенные функции и другие зарезервированные слова и символы VBA, набраны моноши­ринным полужирным шрифтом. (В окне редактирования модулей зарезервированные слова VBA выделены го­лубым цветом.) Операторы SQL и имена объек­тов Access набраны моноширинным шрифтом.

Операторы

Для создания выражений в Access существует шесть категорий операторов:

· Арифметическиеоператоры выполняют сложение, вычитание, умно­жение и деление.

· Операторы присваиванияи сравненияустанавливают и сравнивают значения,

· Логическиеоператоры работают со значениями, которые могут быть только истинными или ложными.

· Операторы слияния строковых значений (конкатенации)объединяют строки символов.

· Операторы идентификации "!" и "."создают однозначные имена для объектов баз данных, так что можно, например, присвоить одно и то же имя полю в нескольких таблицах и запросах.

· Другие операторы, такие как Like, Is и Between, упрощают создание выражений для выборки записей в запросах.

Арифметические операторы

Арифметические операторы оперируют только с числовыми значениями и должны иметь два числовых операнда, кроме случаев:

· Когда знак минус (–) меняет знак операнда. В этом случае знак ми­нус называется унарным минусом.

· Когда знак равенства (=) присваивает значение объекту Access или идентификатору переменной Access VBA.

В табл. 5.1 приведен список арифметических операторов для выражений Access.

Таблица 5.1. Арифметические операторы

Оператор Описание Пример
+ Складывает два операнда [Subtotal] + [Tax]
Считает разность двух операндов Date() – 30
– (унарный) Меняет знак операнда -12345
* Перемножает два операнда [Units] * [Unit Price]
/ Делит один операнд на другой [Quantity] / 12.55
\ Делит один целый операнд на другой нацело [Units] \ 2
Mod Возвращает остаток от деления нацело [Units] Mod 12
^ Возводит операнд в степень [Value] ^ [Exponent]

 

Следующие операторы нуждаются в пояснении:

\ Символ деления нацело. При использовании деления нацело операнды с десятичными дробями округляются до целого, а дробные части отбрасываются.
Mod Этот оператор возвращает значение остатка от деления нацело. Например, 13 Mod 4 возвращает 1.
^ Оператор возведения в степень возводит первый операнд в степень с показателем, равным второму операнду.

Эти три оператора редко применяются в деловых приложениях, зато часто встречаются в программах Access.



Поделиться:


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

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