Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Примечания. Примеры выражений, используемых в запросах или фильтрах

Читайте также:
  1. Вступительные примечания
  2. ГЛАВА 8. ЕЩЕ НЕКОТОРЫЕ ПРИМЕЧАНИЯ К СКАЗАННОМУ В ВЫШЕНАЗВАННОЙ ВЕТКЕ.
  3. Двa примечания
  4. Примечания
  5. ПРИМЕЧАНИЯ
  6. Примечания
  7. Примечания

Примеры выражений, используемых в запросах или фильтрах

Примеры условий отбора, применяемые при извлечении записей

Диапазон значений (операторы >, <, >=, <=, <> и «Between...And»)

Выражение Результаты отбора
> 234 Отбор записей, значение поля «Количество» которых больше 234
< 1200.45 Отбор записей, значение поля «Цена» которых менее 1200.45
>= "Иванов" Отбор записей, содержащих фамилии, начиная с «Иванов» и до конца алфавита, в поле «Фамилия»
Between #02-фев-1999# And #01-дек-1999# Отбор записей, содержащих в поле «ДатаРазмещения» даты в диапазоне от 2-фев-99 до 1-дек-99 (ANSI-89)
Between '02-фев-1999' And '01-дек-1999' Отбор записей, содержащих в поле «ДатаРазмещения» даты в диапазоне от 2-фев-93 до 1-дек-93 (ANSI-92)

 

Несовпадающие значения («Not»)

Выражение Результаты отбора
Not "США" Отбор записей со сведениями о заказах на доставку, содержащих в поле «Страна получателя» любую страну за исключением США
Not 2 Отбор всех сотрудников, код которых, указанный в поле идентификации, не равен 2
Not T* Отбор в поле «Фамилия» сотрудников, имена которых не начинаются с буквы "T" (ANSI-89)
Not T% Отбор в поле «Фамилия» сотрудников, имена которых не начинаются с буквы "T" (ANSI-92)

 

 

Значения в списке (In)

Выражение Результаты отбора
In("Канада", "Великобритания") Отбор заказов на доставку, содержащих в поле «Страна получателя» значение «Канада» или «США»
In(Франция, Германия, Япония) Отбираются все сотрудники, чье место проживание, указанное в поле «Страна» — Франция, Германия или Япония

 

 

Текст, часть текста или совпадающие значения

Выражение Результаты отбора
"Киев" Отбор заказов на поставку, содержащих в поле «Город получателя» значение «Киев»
"Киев" Or "Минск" Отбор заказов на поставку, содержащих в поле «Город получателя» значение «Киев» или «Минск»
>="Н" Отбор заказов на доставку товаров в фирмы, названия которых в поле «Имя» начинаются с букв, находящихся в диапазоне от Н до Я.
Like "С*" Отбор заказов на доставку товаров клиентам, имена которых в поле «НазваниеПолучателя» начинаются с буквы С (ANSI-89)
Like "С%" Отбор заказов на доставку товаров клиентам, имена которых в поле «НазваниеПолучателя» начинаются с буквы С (ANSI-92)
Right([OrderID], 2)="99" Отбор заказов, коды идентификации которых, указанные в поле «КодЗаказа» заканчиваются на 99
Len([Название]) > Val(30) Отбор заказов на доставку товаров компаниям, названия которых, указанные в поле «Название», превышают 30 знаков

Часть значения поля (Like)

Выражение Результаты отбора
Like "С*" Отбор заказов на доставку товаров клиентам, имена которых в поле «НазваниеПолучателя» начинаются с буквы С (ANSI-89)
Like "С%" Отбор заказов на доставку товаров клиентам, имена которых в поле «НазваниеПолучателя» начинаются с буквы С (ANSI-92)
Like "*Импорт" Отбор заказов на доставку товаров клиентам, названия которых в поле «НазваниеПолучателя» заканчиваются словом «Импорт» (ANSI-89)
Like "%Импорт" Отбор заказов на доставку товаров клиентам, названия которых в поле «НазваниеПолучателя» заканчиваются словом «Импорт» (ANSI-92)
Like "[А-Д]*" Отбор заказов на доставку товаров клиентам, имена которых, указанные в поле «НазваниеПолучателя», находятся в диапазоне от А до Д (ANSI-89)
Like "[А-Д]%" Отбор заказов на доставку товаров клиентам, имена которых, указанные в поле «НазваниеПолучателя», находятся в диапазоне от А до Д (ANSI-92)
Like "*тр*" Отбор заказов на доставку товаров клиентам, названия которых в поле «НазваниеПолучателя» содержат сочетание букв «тр» (ANSI-89)
Like "тр%" Отбор заказов на доставку товаров клиентам, названия которых в поле «НазваниеПолучателя» содержат сочетание букв «тр» (ANSI-92)
Like "Maison Dewe?" Отбор выполненных заказов для клиентов, имена которых, указанные в поле «НазваниеПолучателя», начинаются со слова «Maison», а второе слово в имени содержит четыре буквы, причем первые три из них «Dewe», а четвертая неизвестна (ANSI-89)
Like "Maison Dewe_" Отбор выполненных заказов для клиентов, имена которых, указанные в поле «НазваниеПолучателя», начинаются со слова «Maison», а второе слово в имени содержит четыре буквы, причем первые три из них «Dewe», а четвертая неизвестна (ANSI-92)

 

 

Часть значения поля (Like)

Выражение Результаты отбора
Like "С*" Отбор заказов на доставку товаров клиентам, имена которых в поле «НазваниеПолучателя» начинаются с буквы С (ANSI-89)
Like "С%" Отбор заказов на доставку товаров клиентам, имена которых в поле «НазваниеПолучателя» начинаются с буквы С (ANSI-92)
Like "*Импорт" Отбор заказов на доставку товаров клиентам, названия которых в поле «НазваниеПолучателя» заканчиваются словом «Импорт» (ANSI-89)
Like "%Импорт" Отбор заказов на доставку товаров клиентам, названия которых в поле «НазваниеПолучателя» заканчиваются словом «Импорт» (ANSI-92)
Like "[А-Д]*" Отбор заказов на доставку товаров клиентам, имена которых, указанные в поле «НазваниеПолучателя», находятся в диапазоне от А до Д (ANSI-89)
Like "[А-Д]%" Отбор заказов на доставку товаров клиентам, имена которых, указанные в поле «НазваниеПолучателя», находятся в диапазоне от А до Д (ANSI-92)
Like "*тр*" Отбор заказов на доставку товаров клиентам, названия которых в поле «НазваниеПолучателя» содержат сочетание букв «тр» (ANSI-89)
Like "тр%" Отбор заказов на доставку товаров клиентам, названия которых в поле «НазваниеПолучателя» содержат сочетание букв «тр» (ANSI-92)
Like "Maison Dewe?" Отбор выполненных заказов для клиентов, имена которых, указанные в поле «НазваниеПолучателя», начинаются со слова «Maison», а второе слово в имени содержит четыре буквы, причем первые три из них «Dewe», а четвертая неизвестна (ANSI-89)
Like "Maison Dewe_" Отбор выполненных заказов для клиентов, имена которых, указанные в поле «НазваниеПолучателя», начинаются со слова «Maison», а второе слово в имени содержит четыре буквы, причем первые три из них «Dewe», а четвертая неизвестна (ANSI-92)

 

 

Даты

Выражение Результаты отбора
#2/2/2000# Выполненные заказы, в поле «ДатаИсполнения» которых указана дата 2 февраля 2000 (ANSI-89)
'2/2/2000' Выполненные заказы, в поле «ДатаИсполнения» которых указана дата 2 февраля 2000 (ANSI-92)
Date() Заказы, в поле «ДатаНазначения» которых указана текущая дата
Between Date() And DateAdd("m", 3, Date()) Заказы, у которых значение в поле «ДатаНазначения» попадает в интервал между текущей датой и датой, отстоящей от нее на три месяца
< Date() - 30 Заказы, у которых значение в поле «ДатаИсполнения» отстоит более чем на 30 дней от текущей даты
Year([ДатаРазмещения]) = 1999 Отбор по полю «Дата заказа» заказов, сделанных в 1999
DatePart("q", [ДатаРазмещения]) = 4 Отбор по полю «Дата заказа» заказов четвертого квартала
DateSerial(Year ([ДатаРазмещения]), Month([ДатаРазмещения]) + 1, 1) - 1 Отбор по полю «ДатаРазмещения» заказов, сделанных в последний день каждого месяца
Year([ДатаРазмещения]) = Year(Now()) And Month([ДатаРазмещения]) = Month(Now()) Отбор по полю «ДатаРазмещения» заказов текущего года и месяца

 

 

Пустое значение поля (Null или строка нулевой длины)

Выражение Результаты отбора
Is Null Отбор по полю «ОбластьПолучателя» заказов для клиентов, у которых поле «ОбластьПолучателя» содержит значение Null, т. е. является пустым
Is Not Null Отбор по полю «ОбластьПолучателя» заказов для клиентов, у которых поле «ОбластьПолучателя» содержит определенное значение
" " Отбор по полю «Факс» заказов для клиентов, у которых нет факсимильного аппарата, то есть для тех клиентов, у которых поле «Факс» содержит строку нулевой длины, а не значение «Null»

 

 

Результат статистической функции по подмножеству

Выражение Результаты отбора
> (DStDev("[Фрахт]", "Заказы") + DAvg("[Фрахт]", "Заказы")) Отбор по полю «Фрахт» всех заказов, для которых цена фрахта поднялась выше средней плюс стандартное отклонение цены
>Davg("[Количество]", "Заказано") Отбор по полю «Количество» заказанных товаров, количество которых превышает среднее

 

Результаты подчиненного запроса в качестве условия отбора

Выражение Результаты отбора
(SELECT [Цена] FROM [Товары] WHERE [НазваниеТовара] = "Анисовый сироп") Отбор по полю «Цена» товаров, цена которых равна цене анисового сиропа
> (SELECT AVG([Цена]) FROM [Товары]) Отбор по полю «Цена» товаров, цена которых превышает среднюю
> ALL (SELECT [Оплата] FROM [Сотрудники] WHERE ([Должность] LIKE "*Менеджер*") OR ([Должность] LIKE "*Вице-Президент*")) Отбор по полю «Оплата» каждого торгового представителя, заработная плата которого превышает оплату всех сотрудников, занимающих должность «Менеджер» или «Вице-Президент».
> ALL (SELECT AVG([Цена] * [Количество]) FROM [Заказано]) Отбор по вычисляемому полю «Итого: [Цена] * [Количество]» заказов, итоговая сумма которых превышает среднее значение заказа.

 

 

Обработка текстовых значений

Выражение Результаты отбора
ПолноеИмя: [Имя] & " " & [Фамилия] Отображение в поле «Полное имя» значения полей «Имя» и «Фамилия», разделенные пробелом
Адрес2: [Город] & " " & [Район] & " " & [Индекс] Отображение в поле «Адрес2» значения полей «Город», «Область» и «Индекс», разделенные пробелами.
ПерваяБукваТовара: Left([НазваниеТовара], 1) Отображение в поле «ПерваяБукваТовара» первого знака значения поля «НазваниеТовара»
КодТипа: Right([КодПродукта], 2) Отображение в поле «КодТипа» последних двух знаков значения поля «КодПродукта»
КодРайона: Mid([Телефон], 2, 3) Отображение в поле «КодРайона» трех знаков, начиная со второго, значения поля «Телефон»

 

Выполнение арифметических операций

Выражение Результаты отбора
ПервоначальныйФрахт: [Фрахт] * 1.1 Отображение в поле «ПервоначальныйФрахт» стоимости фрахта плюс 10 процентов
ОбъемЗаказа: [Количество] * [Цена] Отображение в поле «ОбъемЗаказа» произведения значений полей «Количество» и «Цена»
ВремяДоставки: [ДатаРазмещения] - [ДатаИсполнения ] Отображение в поле «ВремяДоставки» разницы между значениями полей «ДатаРазмещения» и «ДатаИсполнения»
ВсегоВНаличии: [НаСкладе] + [Ожидается] Отображение в поле «ВсегоВНаличии» суммы значений полей «НаСкладе» и «Ожидается»
ДоляФрахта: Sum([Фрахт])/Sum([ОбщийИтог]) * 100 Отображение в поле «ДоляФрахта» процента на оплату фрахта для каждого итога. Для этого сумма всех значений поля «Фрахт» делится на сумму всех значений поля «ОбщийИтог». На экране должна быть отображена строка Групповая операция в бланке запроса, а в ячейке Групповая операция для данного поля должно быть установлено значение Выражение. Если для данного поля в ячейке свойства Формат поля (Format) установлено значение Процентный, не включайте выражение *100.
КоличествоТоваров: Nz([НаСкладе], 0) + Nz([Ожидается], 0) Отображение в поле «КоличествоТоваров» общего количества товаров как заказанных, так и находящихся на складе. Если в выражении используются арифметические операторы (+, -, *, /), а одно из полей имеет значение Null, результатом всего выражения тоже будет значение Null. Если какие-либо записи в одном из использованных в выражении полей могут содержать значение Null, то это значение Null можно преобразовать в нуль при помощи функции Nz.

 

Обработка и вычисление дат

Выражение Результаты отбора
ВремяДоставки: DateDiff("d", [ДатаРазмещения], [ДатаИсполнения]) Отображение в поле «ВремяДоставки» числа дней между датой размещения и датой исполнения
ГодНайма: DatePart("yyyy", [ДатаНайма]) Отображение в поле «ГодНайма» года найма сотрудника
ЧислоМесяцев: DatePart("M", [ДатаИсполнения]) Отображение в поле «ЧислоМесяцев» числа месяцев
ПредшествующаяДата: Date() - 30 Отображение в поле «ПредшествующаяДата» даты, предшествующей текущей на 30 дней

 

 

Использование статистических функций SQL или статистических функций по подмножествам

Выражение Результаты отбора
Count(*) Подсчет с помощью функции Count числа записей в запросе, включая записи, содержащие поля со значением Null (пустые поля).
ДоляФрахта: Sum([Фрахт])/Sum([ОбщийИтог]) * 100 Отображение в поле «ДоляФрахта» процента на оплату фрахта для каждого итога. Для этого сумма всех значений поля «Фрахт» делится на сумму всех значений поля «ОбщийИтог». На экране должна быть отображена строка Групповая операция в бланке запроса, а в ячейке Групповая операция для данного поля должно быть установлено значение Выражение. Если для данного поля в ячейке свойства Формат поля (Format) установлено значение Процентный, не включайте выражение *100.
СредняяСкидка: DAvg("[Скидки]", "[Заказы]") Отображение в поле «СредняяСкидка» значения средней скидки, предоставляемой по всем заказам, объединенным в итоговый запрос

 

Работа со значениями Null

Выражение Результаты отбора
ТекущаяСтрана: IIf(IsNull([Страна]), " ", [Страна]) Отображение в поле «ТекущаяСтрана» пустой строки, если поле «Страна» содержит значение Null; в противном случае отображается значение поля «Страна».
ВремяДоставки: IIf(IsNull([ДатаРазмещения] - [ДатаИсполнения ]), "Проверьте отсутствующую дату ", [ДатаРазмещения] - [ДатаИсполнения]) Отображение в поле «ВремяДоставки» сообщения «Проверьте пропущенную дату», если одно из полей «ДатаРазмещения» или «ДатаИсполнения» имеет значение Null; в противном случае отображается разность значений полей.
ПродажиЗаПолгода: Nz([Продажи1кв],0) + Nz([Продажи2кв],0) Отображение в поле «ПродажиЗаПолгода» суммы значений полей по продажам за первый и второй кварталы, используя функцию Nz для предварительного преобразования значений Null в нули.

 

 

Использование подчиненного запроса

Выражение Результаты отбора
Тип: (SELECT [Категория] FROM [Типы] WHERE [Товары].[КодТипа] = [Типы].[КодТипа]) Отображение в поле «Тип» названия категории товаров, если код типа из таблицы «Типы» совпадает с кодом типа из таблицы «Товары».

 

 

Примеры выражений, используемых в запросах на обновление записей

Ниже приводятся примеры выражений, которые вводятся в ячейку строки Обновление бланка запроса для обновляемого поля.

Выражение Результаты отбора
"Продавец" Изменяет текстовое значение на «Продавец»
#10.08.99# Изменяет значение даты на 10-авг-99
Да Изменяет в логическом поле значения «Нет» на «Да»
"PN" & [ИнвНомер] Добавляет строку «PN» к началу каждого инвентарного номера
[Цена] * [Количество] Вычисляет произведение значений полей «Цена» и «Количество»
[СтоимостьДоставки] * 1.5 Увеличивает стоимость доставки на 50 процентов
DSum("[Количество] * [Цена]", "Заказано", "[КодТовара]=" & [КодТовара]) Если значение поля «КодТовара» в текущей таблице совпадает со значением поля «КодТовара» в таблице «Заказано», обновляет итоговые значения продаж, рассчитываемые как произведение полей «Цена» и «Количество».
Right([Индекс], 5) Обрезает левые знаки в поле, оставляя пять правых знаков
IIf(IsNull([Цена]), 0, [Цена]) Преобразует значения Null в поле «Цена» в нули (0).

 

 

Примеры выражений, используемых в инструкциях SQL

Следующие примеры демонстрируют использование выражений в различных компонентах инструкции SQL. Выражения выделены полужирным шрифтом.

Выражение Результаты отбора
SELECT [Имя], [Фамилия] FROM [Сотрудники] WHERE [Фамилия] = "Новиков"; Выводит значения полей «Имя» и «Фамилия» для сотрудников, имеющих фамилию Новиков.
SELECT [КодТовара], [Марка] FROM [Товары] WHERE [КодТипа] = Forms![Новые товары]![КодТипа]; Выводит значения полей «КодТовара» и «Марка» из таблицы «Товары» для записей, у которых значение поля «КодТипа» совпадает со значением элемента управления «КодТипа» в открытой форме «Новые товары».
SELECT Avg([ОтпускнаяЦена]) AS [Средняя отпускная цена] FROM [Сведения о заказах] WHERE [Отпускная цена] > 1000; Отображает в поле «Средняя отпускная цена» цену для заказов, у которых значение в поле «ОтпускнаяЦена» превышает 1000.
SELECT [КодТипа],Count([КодТовара]) AS [КоличествоТоваров] FROM [Товары] GROUP BY [КодТипа] HAVING Count([КодТовара]) > 10; Выводит в поле «КоличествоТоваров» общее количество товаров для типов, содержащих более 10 товаров.

 

Примеры выражений, определяющих значения по умолчанию

Выражение Значение по умолчанию
   
"Тверь" Тверь
"Звенигород, Московская обл." Звенигород, Московская обл. (если значение содержит знаки препинания, то его следует поместить в кавычки)
" " Пустая строка
Date() Сегодня
=Yes «Да» отображается на экране на языке, указанном в настройках компьютера

 

Примеры выражений для условий в макросах

В условиях макроса допускается использование любых выражений, возвращающих значения True/False или Да/Нет. Макрос будет выполняться, когда выражение имеет значение True (Да).

Совет

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

Выражение Условие выполнения макрокоманды
Город="Москва" Поле «Город» в форме, из которой запускается макрос, содержит значение «Москва».
DCount("[КодЗаказа]", "Заказы")>35 Имеется более 35 значений в поле «КодЗаказа» таблицы «Заказы».
DCount("*", "Заказано", "[КодЗаказа]=Forms![ПримерФормы]![КодЗаказа]")>3 Имеется более трех записей в таблице «Заказано», у которых значение поля «КодЗаказа» совпадает со значением поля «КодЗаказа» в форме «ПримерФормы».
[ДатаИсполнения] Between #2-фев-2001# And #2-мар-2001# Поле «Дата исполнения» в форме, из которой запускается макрос, содержит значение не раньше 2-фев-2001 и не позже 2-мар-2001.
Forms![Товары]![На складе]<5 Значение поля «На складе» в форме «Товары» меньше 5.
IsNull([Имя]) Поле «Имя» в форме, из которой запускается макрос, содержит пустое значение (Null). Данное выражение эквивалентно следующему: [Имя] Is Null.
[Страна]="Литва" And Forms![Сумма продаж]![Объем заказов]>100 Поле «Страна» в форме, из которой запускается макрос, содержит значение «Литва» и значение поля «Объем заказов» в форме «Сумма продаж» превышает 100.
[Страна] In ("Латвия", "Литва", "Эстония") And Len([Индекс])<>5 Поле «Страна» имеет значение «Латвия», «Литва» или «Эстония», а длина содержимого поля «Индекс» не равняется пяти знакам.
MsgBox("Изменить?",1)=1 Пользователь нажимает кнопку OK в диалоговом окне «Изменить?», которое открывается функцией MsgBox. При нажатии кнопки Отмена в диалоговом окне действие игнорируется.

 


Дата добавления: 2015-07-08; просмотров: 87 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Примечания| ПРИНЦИПЫ СОЗДАНИЯ КЛИЕНТ-СЕРВЕРНЫХ ПРИЛОЖЕНИЙ

mybiblioteka.su - 2015-2024 год. (0.014 сек.)