Access логические операторы
Access логические операторы
На этом шаге рассмотрим использование обычного фильтра.
Режим фильтрации по выделенному используется в том случае, когда нужно отображать только те записи, которые удовлетворяют всем указанным, ограничениям (например, последняя буква «а» в имени И фамилии).
Если же необходимо отображать все записи, которые удовлетворяют хотя бы одному из указанных условий (например, последняя буква «а» в имени ИЛИ фамилии), то в этом случае следует использовать обычный фильтр, который можно установить командой Записи | Фильтр | Изменить фильтр (кнопка ).
В левом нижнем углу окна фильтрации имеются вкладки Найти и Или, при выборе которых в полях отображаются установленные ограничения. Например, после установки ограничений на имя и фамилию (последяя буква «а») на вкладке Найти в полях Фамилия и Имя будут установлены фильтры следующего вида: Like «*а» (рис. 1).
Рис. 1. Таблица Студенты. Изменение фильтра
Для задания каких-либо условий в Access используются несколько операторов сравнения (таблица 1), а также логические операторы (таблица 2).
В качестве примера применения операторов будут рассмотрены несколько условий (таблица 3). Необходимо отметить, что названия операторов принято писать либо прописными буквами ( LIKE ), либо начинать с прописной ( Like ).
Рис. 2. Таблица Студенты. Фильтрация по фамилии
После применения этого фильтра (кнопка ) в таблице Студенты будут отображены только те записи, у которых значение поля Фамилия начинается на букву, находящуюся в диапазоне от А до М (рис. 3).
Рис. 3. Таблица Студенты. Фильтрация по фамилии
Описанные выше действия можно увидеть здесь, а взять этот клип здесь.
Чтобы задать ограничения на несколько полей, при которых отображались бы все записи, удовлетворяющие хотя бы одному из указанных ограничений, можно воспользоваться вкладкой Или окна фильтра (рис. 1). Например, необходимо отобразить только тех студентов, у которых имя или фамилия закачиваются на букву «а». Для этого вначале необходимо на вкладке Найти окна фильтра указать для поля Фамилия условие LIKE «*а» (рис. 4).
Рис. 4. Таблица Студенты. Вкладка Найти окна фильтра
После этого следует выбрать вкладку Или и указать для поля Имя условие LIK Е «*а» (рис. 5).
Рис. 5. Таблица Студенты. Вкладка Или окна фильтра
Необходимо также отметить, что при выборе вкладки Или автоматически появляется следующая вкладка Или, т.е. можно указать несколько условий, хотя бы одно из которых должно выполняться.
После установки ограничений нужно применить фильтр к таблице (кнопка ), в результате чего будут отображены все записи, для которых выполняется хотя бы одно из указанных условий (рис. 6).
Рис. 6. Таблица Студенты. Фильтрация по фамилии
Если нужно удалить все установленные ограничения, то при открытом окне фильтра следует воспользоваться кнопкой Очистить бланк .
Описанные выше действия можно увидеть здесь, а взять этот клип здесь.
На следующем шаге вы узнаете о расширенном фильтре.
Предыдущий шаг Содержание
Следующий шаг
Создание таблиц и запросов в MS Access. Условия выборки данных. Логические операции и выражения. Вычисляемые поля.
В Access используются три способа создания таблиц: путем ввода данных, с помощью Конструктора таблиц и с помощью Мастера создания таблиц. Для каждого из этих способов существует специальный ярлык новых объектов в списке таблиц. Если вы создали новый файл базы данных, то, кроме этих ярлыков, в списке таблиц больше ничего нет.
Запрос можно создать с помощью мастера запросов, либо с помощью конструктора запросов.
Условия выборки данных.
Примеры использование символов задания шаблонов
Примеры условных выражений
Логические операции и выражения.
Выражения
Для выполнения вычислений и других манипуляций в VBA применяются выражения. Выражение — это любая комбинация операндов или элементов данных (чисел, констант, переменных, функций и других операндов) и знаков операций. Знаки операций — это символы, которые используются для соединения операндов в выражении. Операнды (operands) в программировании — это объекты, над которыми выполняются определенные действия (операции).
Операции в VBA — это действие, которые производятся над операндами. Знаки операций в выражении имеют свои приоритеты. Выражения могут состоять из одного операнда, а могут состоять из сложной комбинации операндов и знаков операций. Результатом вычисления выражения является значение, которое должно иметь допустимый в VBA тип данных. Необходимо отметить, что в одном выражении нельзя использовать несовместимые типы данных.
Операции
К операциям, которые используются для записи выражений в VBA, относятся: операции присваивания; математические операции; логические операции; операции сравнения (отношений); операции для работы со строками (строковые операции).
Оператор — это наименьшая исполняемая единица программного кода VBA. Различают операторы выражения, операторы объявления, операторы присваивания, условный оператор, цикла и т.д. Операторы выражений — это процедуры или строка в тексте исполняемого кода программы. Операторы выражений выполняют какие-либо действия в программе.
Оператор присваивания — это связанное знаком равенства выражение, в котором значение выражения, указанное справа, присваивается переменной, находящейся слева от знака равенства. Например, в операторе присваивания strСтудент.ИмяST = «Петр», имя «Петр» присваивается структурному элементу «ИмяST» переменной пользовательского типа данных «strСтудент».
Арифметические операторы представляют собой инструкции, в которых применяются арифметические операции. В VBA используются арифметические операции: сложение (+); вычитание (-); умножение (*); деление (/); деление без остатка (); остаток от деления по модулю (mod); возведение в степень (^). Например, result=(7+12)*5^3
Логические операторы — это инструкции, в которых применяются логические операции в логических выражениях. Логические выражения имеют значения типа Boolean, которое принимает одно из двух логических значений: True (1) или False (0). При выполнении логических операций логическим переменным присваивается результат вычислений, указанный в правой части операторов. К логическим операциям относятся: and, or, nod, xor, eqv, imp (логическое и, или, нет, логическое исключающее или, логическая эквивалентность, логическая импликация). Например,(9>8) Or (2>5) ‘ Результат является True (истина), так как одно из условий является True.
Операторы сравнения или отношений. Результатом операций сравнения является значение Boolean, которое принимает одно из двух логических значений: True (истина) или False (ложь). В операторах могут применяться с определенным синтаксисом следующие знаки операций сравнения: равенство (=); больше чем (>) и меньше чем ( ); больше или равно (>=) и меньше или равно (
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого.
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим.
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰).
Логические операторы
В JavaScript есть три логических оператора: || (ИЛИ), && (И) и ! (НЕ).
Несмотря на своё название, данные операторы могут применяться к значениям любых типов. Полученные результаты также могут иметь различный тип.
Давайте рассмотрим их подробнее.
Оператор «ИЛИ» выглядит как двойной символ вертикальной черты:
Традиционно в программировании ИЛИ предназначено только для манипулирования булевыми значениями: в случае, если какой-либо из аргументов true , он вернёт true , в противоположной ситуации возвращается false .
В JavaScript, как мы увидим далее, этот оператор работает несколько иным образом. Но давайте сперва посмотрим, что происходит с булевыми значениями.
Существует всего четыре возможные логические комбинации:
Как мы можем наблюдать, результат операций всегда равен true , за исключением случая, когда оба аргумента false .
Если значение не логического типа, то оно к нему приводится в целях вычислений.
Например, число 1 будет воспринято как true , а 0 – как false :
Обычно оператор || используется в if для проверки истинности любого из заданных условий.
Можно передать и больше условий:
ИЛИ «||» находит первое истинное значение
Описанная выше логика соответствует традиционной. Теперь давайте поработаем с «дополнительными» возможностями JavaScript.
Расширенный алгоритм работает следующим образом.
При выполнении ИЛИ || с несколькими значениями:
Оператор || выполняет следующие действия:
- Вычисляет операнды слева направо.
- Каждый операнд конвертирует в логическое значение. Если результат true , останавливается и возвращает исходное значение этого операнда.
- Если все операнды являются ложными ( false ), возвращает последний из них.
Значение возвращается в исходном виде, без преобразования.
Другими словами, цепочка ИЛИ «||» возвращает первое истинное значение или последнее, если такое значение не найдено.
Это делает возможным более интересное применение оператора по сравнению с «чистым, традиционным, только булевым ИЛИ».
Получение первого истинного значения из списка переменных или выражений.
Представим, что у нас имеется ряд переменных, которые могут содержать данные или быть null/undefined . Как мы можем найти первую переменную с данными?
Если бы и currentUser , и defaultUser были ложными, в качестве результата мы бы наблюдали «unnamed» .
Сокращённое вычисление.
Операндами могут быть как отдельные значения, так и произвольные выражения. ИЛИ вычисляет их слева направо. Вычисление останавливается при достижении первого истинного значения. Этот процесс называется «сокращённым вычислением», поскольку второй операнд вычисляется только в том случае, если первого недостаточно для вычисления всего выражения.
Это хорошо заметно, когда выражение, указанное в качестве второго аргумента, имеет побочный эффект, например, изменение переменной.
В приведённом ниже примере x не изменяется:
Если бы первый аргумент имел значение false , то || приступил бы к вычислению второго и выполнил операцию присваивания:
Присваивание – лишь один пример. Конечно, могут быть и другие побочные эффекты, которые не проявятся, если вычисление до них не дойдёт.
Как мы видим, этот вариант использования || является «аналогом if «. Первый операнд преобразуется в логический. Если он оказывается ложным, начинается вычисление второго.
В большинстве случаев лучше использовать «обычный» if , чтобы облегчить понимание кода, но иногда это может быть удобно.
Оператор И пишется как два амперсанда && :
В традиционном программировании И возвращает true , если оба аргумента истинны, а иначе – false :
Условия отбора записей
Литералы — конкретные значения, воспринимаемые 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, служат для расчета процента возврата по инвестициям, амортизационных отчислений, годовой ренты и т. п.
- Статистические функции. Используются при работе над полями подмножества записей для вычисления среднего значения, суммы, минимального, максимального значения.
Для записи выражения может быть использован построитель выражений, который вызывается кнопкой Построить панели инструментов.
Присвоение пользовательских имен вычисляемым полям
Пользователь имеет возможность присвоить новое имя вычисляемому полю, используя один из следующих способов:
- Изменение имени поля в запросе. В режиме конструктора запроса в бланке запроса вместо Выражением введите новое имя.
- Изменение подписи поля в свойствах поля. Установите курсор на вычисляемое поле в бланке запроса и откройте окно Свойства поля, щелкнув правой кнопкой мыши и выбрав в контекстном меню пункт Свойства. В окне Свойства поля на вкладке Общие введите нужный текст подписи в строку Подпись поля.
Построение условий в запросах на выборку в СУБД MS Access
В большинстве современных СУБД имеется свой вариант QBE, незначительно отличающийся от первого описания QBE, предложенного в конце 70-х годов ХХ в. Рассмотрим некоторые возможности QBE СУБД MS Access.
Используем для примера таблицу БД, которая относится к торговле (рис. 3.10). Имя таблицы TYPE (типы товаров). Она имеет столбцы: товар – названия товара; цвет – его цвет; стоимость – стоимость товара.
Выборка данных может осуществляться по следующим вариантам:
1. Простая выборка, например: «Вывести товары зеленого цвета из таблицы TYPE».
2. Простая выборка с упорядочиванием.
3. Выборка с квалификаторами (условиями). Выбор записей из исходной таблицы может быть основан на: а) точном совпадении; б) частичном совпадении; в) сравнении.
Запросы позволяют получать результирующие таблицы, поля которых удовлетворяют определённым условиям (критериям). Эти условия задают в бланке запроса в строке Условия отбора. Условиями отбора являются логические выражения, состоящие из операторов и операндов. Используются операторы сравнения =, , <> (не равно), Between, In, Like и и логические операторы And, Or, Not. Допускается применять шаблоны с подстановочными символами.
Рис. 3.10. Пример таблицы БД
Если точное значение не известно или необходимо вводить значение не полностью, то удобно использовать шаблон (образец) с подстановочными символами (знаками). Примеры подстановочных символов:
* — соответствует любому количеству любых символов. Пример: 77* — для нахождения всех телефонов с номерами, начинающимися на 77.
? — соответствует одному текстовому символу. Пример: 77-4?-0? — для нахождения всех телефонов с номерами, содержащими четыре указанные цифры.
Шаблоны используются совместно с оператором Like. Этот оператор позволяет создавать шаблоны, использующие подстановочные символы при поиске в текстовых полях. Например, фамилия сотрудника известна неточно. Это может быть Петров, Петровский, Пеотровский и т.п. Тогда следует использовать для выборки в строке Условие запись Like «Пе*».
Известно, что имя состоит из 4-х букв. Тогда подойдет запись Like «. «.
Оператор Between задаёт интервал значений. Например, Between 1 And 5
(указанные края интервалов в выборку включаются).
Оператор In выполняет проверку на равенство любому значению из списка, заданному в круглых скобках. Например, In(«ручка»;»духи»).
Логические операции И, ИЛИ могут быть заданы явно в выражении условия с помощью операторов AND и OR. Например, «духи» OR «карандаш».
В качестве операндов в запросах могут использоваться литералы, константы, идентификаторы (ссылки).
Литералами являются конкретные значения, воспринимаемые системой так, как они записаны. Литералом может быть число, дата, строка. Например, 1146, #31.01.02 #, «Липецк».
Константами являются постоянные значения, которые определены в Access. Например, True, False, Null, Да, Нет.
Идентификаторосуществляет ссылку на поле, элемент управления или свойство. Идентификаторами могут быть имена полей, таблиц, форм, и так далее. Они заключаются в квадратные скобки. Ссылка на конкретное значение должна указывать на его местоположение в иерархии объектов в БД. Ссылка на поле в таблице имеет вид [Имя таблицы]![Имя Поля]. Например, [Сотрудники]![Фамилия].
Условие отбора целесообразно формировать с помощью построителя выражений. Для этого следует открыть окно Построитель выражений,щёлкнув кнопку Построитьна панели инструментов или выбрав команду Построитьв контекстном меню. Предварительно необходимо установить курсор мыши в ячейке ввода условия.
Условие точного несовпадения значений одного из полей. Если в таблице надо найти записи, значения полей которых не удовлетворяют определенному условию, то используется оператор Not. Оператор Not или <> вводится перед сравниваемым значением. Пример. Отобрать все записи таблицы TYPE, за исключением записей «карандаш» в поле Товар. Для этого в бланке запроса в столбце поля Товар в строке Условие отбора вводится Not » карандаш».
Условие неточного совпадения. Выбор записей по условию неточного
совпадения значений можно осуществить, используя оператор Like. Этот оператор позволяет найти требуемые записи, зная лишь приблизительное написание текстовой величины. В операторе Like можно использовать шаблоны с подстановочными символами, что расширяет возможности поиска записей при неточном задании условий. Пример условия отбора: Like “[д-к]*”. Здесь — (минус) соответствует любому символу из диапазона. Диапазон необходимо указывать по возрастанию (д-к, но не к-д).
Выбор записей по диапазону значений. Для задания диапазона значений в окне конструктора запросов используются операторы >, 100.00 AND
Дата добавления: 2015-08-20 ; просмотров: 8481 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ