Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв БД 2013-03-15.doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
12.65 Mб
Скачать

3.4.1.4. Динамический запрос

Динамический запрос формируется путем переноса из источников (таблицы, запроса) не отдельных полей, а первой строки со звездочкой (*). Такой запрос при вы­пол­нении использует все поля источника. Таким образом, запрос не за­ви­сит от изменения структуры и всегда отражает текущее состояние этой струк­туры. Для сортировки или отбора можно вывести повторно нужные поля источника, но не выводить их в запрос.

3.4.2. Запросы на обновление данных

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

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

3.4.3. Параметрические запросы

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

3.4.4. Выражения

В выражениях могут быть константы (символьные константы зак­лю­ча­ются в кавычки, датные в решетки (#15.11.01#, #12:35:40#)), иден­ти­фи­ка­торы (имена по­лей и таблиц заключаются в квадратные скобки, если они содержат про­бе­лы), функции (при отсутствии параметров указываются пустые круглые скоб­ки), соединенные опера­то­ра­ми и круглыми скобками.

Операторы идентификации: ! (разделитель в ссылках на объекты, поля), . (точка ‑ разделитель в ссылках на методы и свойства объектов).

Пример выражения с операторами идентификации.

[Выпуск изделий]![Количество]*[Выпуск изделий]![Себестоимость]

Именованные константы: True, Yes (истина), False, No (ложь), Null (отсутствие значения) и др.

Арифметические операции: ^ (возведение в степень), + (сложе­ние), ‑ (вычитание), * (умножение), / (деление), \ (целочисленное деле­ние с округлением до целого), Mod (получение остатка от деления).

Строковая операция: + (объединение двух строк), & (объединение в строку данных любого типа).

Операции сравнения: > (больше), >= (больше или равно), < (мень­ше), <= (меньше или равно), = (равно), <> (не равно).

Имеются еще несколько операции и функций сравнения и проверки:

Between n And k ‑ принадлежит ли значение диапазону [n, k];

In (e1 [; e2]...) ‑ принадлежит ли значение списку e1, e2, ... ;

Is [Not] Null ‑ является ли значение Null (пустым) или Not Null;

IsNumeric (<выражение>) ‑ возвращает истину, если выражение числовое;

Iif(<условие>,X,Y) ‑ если <условие> истинно, то возвращается X, иначе‑Y;

Like “<образец>” ‑ сравнение строки с образцом. Образец мо­жет содержать символы: обычные для сравнения, ? (любой символ), * (строку из любых символов), # (любая цифра), [А-Я] (любой символ, например от A до Я), [!А-Я] (любой символ, кроме символов от A до Я).

Пример. Print “Иванов“ Like “Иван* ‘выведется True

Логические операции:

Or ‑ логическое “Или” (ложь, если оба аргумента ложны, иначе - истина);

And ‑ логическое “И” (истина, если оба аргумента истинны, иначе - ложь);

Not ‑ логическое отрицание (истина/ложь ‑ отрицание лжи/истины);

Eqv ‑ эквивалентность. Результат равен числу, которое получено после побитового сравнения двоичного представления операндов;

Imp ‑ импликация. Результат ложный, если правый операнд False;

Xor ‑ исключающее ИЛИ. Результат равен True, когда операнды различны.

Операции с датами и временем. Если к дате прибавить или отнять число дней, то получится новая дата. Разность дает число дней между да­та­ми. Количество секунд, минут, часов, дней, недель, месяцев и годов меж­ду датами определяется функцией DateDiff, а новая дата ‑ AddDate.

Итоговые статистические функции Nz, Sum, Avg, Min, Max, Count, Dsum, Dcount, Dlookup, Dmin, Dmax (п. 3.6.3).

Выражение можно сформировать построителем выражений, ко­то­рый вызывается кнопкой Построить (рисунок 3.4.1.1.3).

Порядок убывания приоритетов операций: круглые скобки; функ­ции; арифметические операции в последовательности: воз­ве­де­ние в сте­пень, одноместный минус, умножение, деление, целочисленное де­ле­ние, Mod, сложение, вычитание; операции сравнения слева направо; логические операции Not, And, Or.