Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций Применение ПЭВМ в отрасли.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
774.66 Кб
Скачать

Вопросы для самоконтроля:

1. В какой таблице назначен тройной ключ?

2. Исходя из какого факта в этой таблице назначен тройной ключ?

3. Какие существуют ограничения для имен полей в СУБД MS Access?

1.8Построение выражений в Access

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

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

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

  • Задать условие на значение. Условия на значение контролируют значения, которые могут быть введены в поле или элемент управления.

  • Задать условие отбора в запросе.

Каждое выражение может содержать один или несколько операторов и одну или несколько констант, идентификаторов или функций. Выражение может быть сколь угодно сложным.

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

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

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

Функции возвращают в выражение значение вместо имени функции. В отличие от идентификаторов, большинство функций требуют заключать в скобки свои-аргументы — идентификаторы или значения подвыражений. Например, функция Date (), имеющая пустой список аргументов, возвращает текущую дату.

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

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

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

Оператор

Пример

Описание

+

[Итог] + [Надбавка]

Складывает два операнда

-

Date () - 7

Считает разность двух операндов

- (унарный)

-12345

Меняет знак операнда

*

[Коробок] * [Цена коробки]

Перемножает два операнда

/

[Количество] / 12.55

Делит один операнд на другой

\

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

[Коробок] \ 2

Mod

[Коробок] Mod 12

Возвращает остаток от деления нацело. Например, 15 Mod 12 равно 3

^

Возводит операнд Основание в степень Показатель

^ [Показатель]

Таблица 6. Операторы сравнения

Оператор

Пример

Результат

Описание

<

1 < 100

True

Меньше

<=

1 <= 1

True

Меньше либо равно

=

1 = 100

False

Равно

>=

100 >= 1

True

Больше либо равно

>

100 > 100

False

Больше

<>

1 <> 100

True

Неравно

Логические операторы

Логические (булевы) операторы используются для объединения результатов двух или более выражений сравнения в единое целое:

And — конъюнкции (логического И);

Or — дизъюнкции (логического ИЛИ);

Not — логического отрицания;

Хог — исключающего ИЛИ;

Eqv — логической эквивалентности;

Imp — логической импликации.

Они могут состоять только из выражений, возвращающих логические значения True, False или Null.

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

A=True B=False

A=True B=True

A=False B=False

A=False B=True

A And В

False

True

False

False

A Or В

True

True

False

True

Not A

False

False

True

True

А Хог В

True

False

False

True

A Eqv В

False

True

True

False

A Imp В

False

True

True

True

Операторы слияния строковых значений (конкатенации)

Стандартный значок оператора конкатенации SQL, амперсант (&), является более предпочтительным, чем значок плюса (+), хотя оба они приводят к одинаковому результату: объединению двух текстовых значений в единую строку символов. Применение значка плюс (+) двусмысленно, его основное назначение — сложение двух числовых операндов.

Пример: слияние "Visual " & "Basic" дает "Visual Basic". Обратите внимание на дополнительный пробел в первом слове, без него результат выглядел бы несколько иначе: "VisualBasic".

Операторы сравнения с образцом

Таблица 8. Операторы сравнения с образцом

Оператор

Пример

Описание

Between

Between (-100) And (100)

Определяет, находится ли числовое значение в определенном диапазоне значений

Is

Is Null Is Not Null

При использовании вместе с Null определяет, является ли значение Null или Not Null

In

In ("Москва", "Киев", "Санкт-Петербург")

Определяет, является ли строковое значение элементом списка значений

Like

Like "Ив*" Like "db??"

Определяет, начинается ли строковое значение с указанных символов (для правильной работы Like нужно добавить символ шаблона "*" или один или несколько символов "?")

Символ "*" замещает любое число знаков, а символ шаблона "?" замещает только один знак, поэтому Like "Ив*" вернет True для значений "Иванов", "Иващенко", "Иволгин". Для "dbl" или "dbl00" значение оператора Like "db??" будет False, но тот же оператор вернет для "dbl0" и "dbXX" значение True. Символы шаблона "*" и "?" могут стоять в любом месте шаблонной строки.