Главная страница

Краткое содержание 29 Об этих стрелках 30 о сочетаниях клавиш 32 о щелчках кнопкой мыши 33 Примеры 33


Скачать 19.64 Mb.
НазваниеКраткое содержание 29 Об этих стрелках 30 о сочетаниях клавиш 32 о щелчках кнопкой мыши 33 Примеры 33
АнкорAccess_2007.doc
Дата16.03.2017
Размер19.64 Mb.
Формат файлаdoc
Имя файлаAccess_2007.doc
ТипКраткое содержание
#3862
страница23 из 65
1   ...   19   20   21   22   23   24   25   26   ...   65

Подсказка

Вам нужно больше свободного места для набора длинного выражения? Можно расширить лю­бой столбец в Конструкторе запросов для увеличения видимой зоны, но в случае сложных вычислений этого все равно не хватит. Лучше щелкнуть кнопкой мыши в области Поле и на­жать сочетание клавиш +. Это действие распахивает на экране диалоговое окно Область ввода (Zoom), отображающее все содержимое в большом текстовом поле, разделен­ном на столько строк, сколько вам нужно. Когда просмотр или редактирование выражения за­вершены, щелкните мышью кнопку ОК, чтобы закрыть окно и сохранить изменения, или кнопку Отмена для отказа от них.


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

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

Для слияния текста применяется оператор амперсанд (&). Далее показано, как создать поле FullName (ФИО), в котором собрана информация из полей FirstName и LastName:

FullName: [FirstName] & [LastName]

Это выражение выглядит достаточно корректным, но на самом деле у него есть один не­достаток. Поскольку вы не вставили никаких пробелов, имя и фамилия в результате прижаты

друг к другу, например, так: BenJenks. Лучше слить три фрагмента текста: имя, пробел и фамилию. Вот исправленная версия: FullName: [FirstName] & " " & [LastName]

Приведенное выражение создаст значение: Ben Jenks. Можно также поменять местами имя и фамилию и отделить их запятой, если вы предпочитаете указывать фамилию первой (например, Jenks, Ben) для облегчения сортировки: FullName: [LastName] & ", " & [FirstName]

Примечание

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

Вы даже можете применять амперсанд для сцепления текста с числовыми значениями. Если вы хотите, чтобы слегка бесполезный текст "The price is" появлялся перед каждым зна­чением цены, примените следующее вычисляемое поле:

Price: "The price is: " & [Price]

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

Функция — это реализация встроенного алгоритма, принимающая ваши данные, выпол­няющая вычисления и возвращающая результат. Разница между функциями и математиче­скими операциями, как вы уже убедились на деле, заключается в том, что функции могут выполнять более сложные действия. У программы Access есть каталог с десятками разных функций, многие из которых реализуют такие приемы, которые вы даже не надеялись вы­полнить самостоятельно.

Функции пригодятся для всех видов обработки данных в программе Access. Вы можете примять их в:

  • вычисляемых полях для включения данных в результаты ваших запросов;

  • условиях отбора для задания записей, отображаемых в запросе;

  • коде на языке VisualBasic, многоцелевой расширяемой системе для программы Access, с которой вы познакомитесь в части V.

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

Примечание

Функции — это встроенная часть версии языка SQL (см. разд. "Режим SQL" главы 6), приме­няемой в программе Access для обработки данных.

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

Для примера рассмотрим очень полезную функцию Round (), которая принимает число с дробной частью и убирает любые нежелательные позиции в дробной части. Эта функция — удобный способ приведения в порядок отображаемых значений вычисляемого поля. Вы оцените полезность функции Round (), если создадите выражение, подобное приведенному далее и вычисляющее цены, сниженные на 5%:

SalePrice: [Price] * 0.95

Примените это выражение к цене $43.97 и получите в результате 41.7715, что вряд ли будет выглядеть уместно на ценнике товара. Здесь пригодится функция Round (). Передайте ей неокругленное число и число знаков в дробной части, которое нужно сохранить:

SalePrice: Round([Price] * 0.95, 2)

Технически функции Round ( ) требуется две порции информации или два аргумента. Первый — это число, которое округляется (вданном случае это результат вычисления Price * 0. 95), а второй — количество цифр, которое вы хотите оставить справа от деся­тичной точки (2). В результате получается значение, округленное до двух десятичных зна­ков, или 41.77.

Примечание

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

Часто задаваемый вопрос

Банковское округление
Похоже, программа Access округляет числа неправильно. Как быть?

Вас может удивить то, что Access округляет число 21.985 до 21.98. Если вас учили ок­руглять до большего числа, числа заканчивающиеся цифрой 5, то вы считаете, что ре­зультат должен быть 21.99. Этот способ называют арифметическим округлением. Про­грамма Access не применяет арифметическое округление — она выбирает банковское округление, которое лучше в некоторых случаях.

Разница между арифметическим и банковским округлением заключается в трактовке цифры 5. Поскольку число 21.985 находится точно в середине, между числами 21.98 и 21.99, не просто решить, что с ним делать. При постоянном округлении числа с 5 на кон­це до большего числа вносится систематическое отклонение в итоги и средние значения. Поскольку вы округляете до большего чаще, чем до меньшего, любые итоги или среднее, которые вы вычисляете, получаются чуть больше, чем следовало бы.

Банковское округление решает эту проблему округлением 5 в одних случаях до большего числа, а в других до меньшего, в зависимости от соседней четной или нечетной цифры.

Число 21.985 округляется до меньшего числа 21.98, а число 21.995 — до большего, 22. Это не единственный способ борьбы с систематическим отклонением (можно решать случайным образом, когда округлять, а когда нет), но это общепринятая практика в бух­галтерских расчетах и статистике.

Вложенные функции
В вычисляемом поле или условии отбора можно применять несколько функций. Этот прием известен как вложенные функции: специальный термин, обозначающий вставку одной функ­ции внутрь другой. Например, в программе Access есть встроенная функция определения абсолютного значения числа Abs ( ), преобразующая отрицательные числа в положительные (и оставляющая положительные числа без изменения). Далее приведен пример деления одного поля на другое и получения в результате заведомо положительного значения:

Speed: Abs ([DistanceTravelled] / [TimeTaken])

Если полученный результат нужно округлить, можно поместить целиком все выражение внутрь скобок функции Round ( ):

Speed: Round (Abs([DistanceTravelled] / [TimeTaken]), 2)

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

Speed: Abs(Round([DistanceTravelled] / [TimeTaken], 2) )

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

Вложенные функции быстро превращают выражение в потенциально опасное. Даже в сравнительно простом примере вычисления скорости трудно предсказать результат без по­шагового вычисления выражения. Одна не на месте стоящая или пропущенная скобка мо­жет привести к сбою вычисления. Если вы применяете вложенные функции, не пишите сра­зу выражение целиком — включайте функции в выражение поочередно и после вставки очередной функции выполняйте вычисление.

Построитель выражений
Функции — замечательное нововведение, но в программе Access может оказаться слишком много замечательных вещей. Программа предлагает перечень из десятков различных функ­ций, связанных с решением разнообразных задач, некоторые из этих функций предназначе­ны для выполнения специализированных математических и статистических вычислений.

Примечание

В этой книге описана далеко не каждая функция {если бы это было так, вам пришлось бы, сидя над книгой, бороться со сном). Но в следующих разделах вы познакомитесь с наи­более полезными функциями для работы с числами, тестом и датами. Для поиска дополни­тельных функций используйте Построитель выражений (Expression Builder) Если же вы предпочитаете интерактивный режим обучения, проверьте информативный Web-pecypc www.techonthenet.com/access/functions.

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

  1. Откройте запрос в Конструкторе.

  2. Щелкните правой кнопкой мыши поле, в которое вы хотите вставить выражение, и выберите команду Построить (Build).

Если вы создаете вычисляемое поле, нужно щелкнуть правой кнопкой мыши в ячейке Поле, Если создается условие отбора, следует щелкнуть правой кнопкой мыши в ячейке Условие отбора.

П
осле выбора команды Построить на экране появляется окно Построителя выражений, отображающее текущее содержимое поля (рис. 7.3).
Рис. 7.3. Построитель выражений состоит из текстового поля в верхней части окна, в котором можно редактировать выражение, кнопок быстрой вставки знаков обычных операций (таких как +, -, / и *, если почему-либо вы не можете их найти на клавиатуре), и трехпанельного обозревателя в нижней части окна, который поможет найти нужные поля и функции

3. Вставьте или отредактируйте выражение.

У Построителя выражений есть два ускоряющих приема работы, которые вы, может быть, захотите испробовать. Можно вставлять имя без ввода с клавиатуры (рис. 7.4) и можно найти функцию с помощью обзора (рис. 7.5).

Примечание

Построитель выражений — универсальное средство создания выражений в вычисляемых по­лях и условиях отбора. Некоторые параметры имеют смысл только в одном из его назначений. Логические операторы, такие как символ равенства (=), And, Or, Not и Like, удобны для за­дания условий фильтрации (см. разд. "Построение условий отбора" главы 6), но бесполезны в вычисляемых полях.





Р
ис. 7.4
. Для вставки имени поля щелкните дважды кнопкой мыши папку Таблицы в самом левом списке. Затем щелкните мышью вложенную папку, соответствующую нужной вам таблице. И, наконец, дважды щелкните кнопкой мыши имя поля в среднем списке для добавления его в ваше выражение. Этот прием рекомендуется только тем, кто любит щелкать кнопкой мыши
Рис. 7.5. Для поиска функции начните с двойного щелчка кнопкой мыши папки Функции в левом списке. Затем выберите вложенную папку Встроенные функции. (Другие варианты отображают любые пользовательские функции, которые вы добавили в вашу БД с помощью пользовательского кода VBA.) Далее выберите категорию функции в среднем списке. В правом списке показаны все функции в выбранной категории. Вы можете дважды щелкнуть кнопкой мыши функцию для вставки ее в выражение

Примечание

Когда вы вставляете имена полей в Построителе выражений, они записываются в более длинном формате с обязательным указанием имени таблицы. Вы увидите [Products] ! [Price] вместо просто [Price]. He волнуйтесь — для программы Access это одно и то же.
4. Щелкните мышью кнопку ОК.

Программа Access скопирует ваше новое выражение в ячейку Поле или Условие отбора.

Примечание

К
огда в Построителе выражений вставляется функция, программа добавляет заполнители (например, и ), на место которых нужно ввести аргументы. Замени­те этот текст нужными вам значениями.
Рис. 7.6. В справке функции Round () описываются ее назначение и два параметра. Второй параметр — количество знаков в дробной части — заключен в квадратные скобки, что означает необязательное значение. Пропустите его, и программа Access округлит значение до ближайшего целого числа. Слева приведен перечень функций, который позволяет просмотреть любую другую функцию Access и прочесть ее описание

Большинство специалистов Access считают Построитель выражений слишком тяжело­весным, чтобы использовать его в работе. Но несмотря на то, что это не самое эффективное средство написания выражений, построитель предоставляет прекрасный способ знакомства с новыми загадочными функциями, благодаря своей справке для встроенных функций. Если вы нашли функцию, которая кажется многообещающей, но хотите получить дополнитель­ную информацию, выберите ее в списке и щелкните мышью кнопку Справка (Help). Вы будете вознаграждены кратким резюме, объясняющим назначение функции и описываю­щим ее параметры, которые нужно задать, как показано на рис. 7.6.

Форматирование чисел
Format ( ) — интересная математическая функция, преобразующая числа в текст. Она инте­ресна, потому что создаваемый текст можно отформатировать несколькими способами, управляя, таким образом, представлением чисел.

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

SalePrice: [Price] * 0.95

Даже если у поля Price не Денежный тип, вычисленные значения в поле SalePrice (продажная цена) выводятся как обычные числа (без знака валюты, разделителя тысяч и т. д.). Вы увидите значение 43.2 вместо желаемого $43.20.

Решить эту проблему можно, применив функцию Format ( ) для задания денежного формата вывода:

SalePrice: Format([Price] / 0.95, "Currency")

Теперь вычисленные значения содержат знак валюты. Более того, поскольку денежные суммы отображаются с двумя знаками после точки, вам не нужно больше применять функ­цию Round ( ).

Хитрость применения функции Format () состоит в выборе текста, задаваемого в каче­стве второго аргумента для получения желаемого результата. В табл. 7.2. приведены воз­можные варианты.

Таблица 7.2. Варианты форматирования

Формат

Описание

Пример

Денежный

Выводит число с двумя знаками в дробной части, разделителями для тысяч и знаком валюты

$1 433.20

Фиксированный

Отображает число с двумя десятичными знаками

1433.20

Основной

Выводит на экран число с двумя десятичными знака­ми и разделителями тысяч

1 433.20

Процентный

Отображает процентное значение (число, умноженное на 100, и со знаком процента). Выводит две цифры справа от десятичной точки

143320.00%

Экспоненциальный

Отображает число в научной нотации с двумя деся­тичными знаками

1.43Е+03

Таблица 7.2 (окончание)

Формат

Описание

Пример

Да/нет

Отображает Нет, если число равно 0, и Да, если число отлично от 0. Можно использовать аналогичные типы формата Истина/Ложь и Вкл/Выкл

Да


Практические занятия для опытных пользователей.

Улучшенные числовые форматы
Истинные педанты не будут довольны вариантами, перечисленными в табл. 7.2. Им ну­жен полный контроль количества десятичных знаков в числе. Один из возможных вари­антов — использовать функции FormatCurrency( ), FormatPercent ( ) и FormatNumber ( ) (в зависимости от необходимости вывода значения как денежного, процентного или обычного числового). В этих функциях в качестве первого аргумента задается число, которое нужно отформатировать, а в качестве второго — число десятич­ных знаков, которое нужно сохранить.

Для более полного контроля можно определить собственный формат, точно описы­вающий то, что вы хотите получить, и затем применить его в функции Format (). В данной книге не рассматриваются пользовательские числовые форматы, по вы мо­жете посмотреть дополнительную информацию в справочной системе программы Ac­cess (см. рис. 7.6).

Дополнительные математические функции
Математическим функциям в программе Access не уделяется должного внимания, потому что потребность в них возникает крайне редко. Вы уже видели функции Round ( ) и Format ( ) — самые полезные в этой категории — но есть еще несколько других (табл. 7.3), к которым знатоки Access обращаются время от времени в вычисляемых полях.

Таблица 7.3. Функции для числовых данных

Функция

Описание

Пример

Результат

Sqr ( )

Извлекает квадратный корень

Sqr(9)

3

Abs()

Возвращает положительное значение (отрицательные числа становятся положитель­ными)

Abs(-6)

6

Round ()

Округляет число до заданного числа десятич­ных знаков

Round(8.89, 1)

3.9

Fix ( )

Возвращает целую часть числа, отбрасывая любую дробную часть

Fix(8.89)

8

Int( )

То же что функция Fix (), но отрицательные числа округляются до ближайшего меньшего целого числа, а не большего

Int(-8.89)

-9

Таблица 7.3. (окончание)


Функция

Описание

Пример

Результат

Rnd( )

Генерирует случайное дробное число в диапа­зоне от 0 до 1

Int ((6) * Rnd + 1)

Случайное целое от 1 до 6

Val ( )

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

Val ("315

Crossland St")

315

Format( )

Преобразует число в форматированную тексто­вую строку в соответствии с выбранными вами параметрами

Format(243.6 , Currency)

$243.60


Малоизвестная или недооцененная возможность.

Использование случайных чисел для сортировки в случайном порядке
Функцией Rnd ( ) пользуются редко — в конце концов, кому нужны столбцы, запол­ненные искусственно сгенерированными данными? Однако инициативные гуру Access предложили одно интригующее применение для функции Rnd ( ). Они применяют ее для сортировки таблицы, таким образом, чтобы записи выводились в случайном порядке.

По существу вы добавляете вычисляемое поле, содержащее случайное число. Можно использовать вполе выражение, такое как Random: Rnd ( ). Если посмотреть результа­ты вашего запроса, то можно увидеть случайное значение в диапазоне от 0 до 1 (например, 0.7045, 0.2344 и т. д.) рядом с каждой записью.

Теперь вернитесь в Конструктор и сбросьте флажок Вывод на экран для того, чтобы поле Random не выводилось на лист данных. Далее выберите порядок в ячейке Сорти­ровка по возрастанию или по убыванию (что на самом деле не имеет значения) и снова выполните запрос. Ву-а-ля! Каждое выполнение запроса выводит на экран записи в раз­ном порядке, в соответствии со случайными числами, которые программа Access гене­рирует на лету.

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

Слияние текста. Вы можете соединить несколько текстовых полей в одном. Для этого способа не нужна функция — достаточно оператора &, описанного в разд. "Выражения с текстовыми значениями "ранее в этой главе.

  • Извлечение подстроки из текстовой строки. Может быть, вам потребуется первое слово из заголовка или первые 100 символов в описании.

Замена строчных букв прописными и наоборот. Возможно, вы захотите отобразить строчные буквы прописными или наоборот.

В табл. 7.4 перечислены функции, наиболее часто применяемые для обработки текста.
Таблица 7.4. Функции для работы с текстом

Функция

Описание

Пример

Результат

UCase( )

Выводит текст прописными буквами

UCase("Hi There")

HI THERE

LCase( )

Выводит тест строчными буквами

LCase("Hi There")

hi there

Left ( )

Выводит заданное вами число символов, на­чиная от левого края строки

Left("Hi There", 2)

Hi

Right 0

Выводит заданное вами число символов, на­чиная от правого края строки

Right ("Hi There", 5)

There

Mid ( )

Выводит часть строки, начиная с заданной позиции, и заданное число символов

Mid ("Hi There", 4, 2)

Th

Trim ( )

Удаляет пробелы с обеих сторон (или исполь­зуйте LTrim ( ) и RTrim( ) для удаления пробелов только в начале или в конце строки)

Trim(" Hi There ")

Hi There

Len ( )

Подсчитывает количество символов в тексто­вой строке

Len("Hi There")

8


С помощью этих функций вы можете создать вычисляемое поле, которое отображает фрагмент длинной текстовой строки или изменяет вид отображения (строчные или пропис­ные буквы). Применение этих функций в условиях отбора не столь очевидно. Можно соз­дать условие фильтрации, задающее совпадение с частью текстовой строки, а не со всей строкой. Далее приведен пример условия отбора, выбирающего записи, начинающиеся с "Choco": Left([ProductName], 5) = "Choco"
На рис. 7.7 показано, как ввести это условие отбора.

Функция Len ( ) — особый случай. Она проверяет текстовое значение и возвращает чи­словую информацию (в данном случае количество символов в строке, включая все пробелы, буквы, цифры и специальные символы). Эта функция не слишком полезна в простых вы­числяемых выражениях, т. к. вас редко будет интересовать количество букв в текстовой строке. Но она позволяет создавать интересные условия отбора, включая, например, такое, которое отбирает все записи с полем Description короче 15 символов.

Len{Description) < 15

Практические занятия для опытных пользователей.

Как извлечь первое слово из текстовой строки
Функции обработки строк созданы с ориентацией на символы. Они умеют подсчиты­вать символы, но не понимают, что такое слово пли предложение.

Единственный способ обойти это ограничение — применить функцию Instr ( ), которая ищет один или несколько символов в текстовой строке. (Название Instr ( ) — это со­кращение от "in string", поскольку вы ищите конкретные символы внутри текстовой строки.) Для поиска символов "he" с строке "Hi There" нужно применить функцию Instr ( ) следующим образом:

Instr("Hi There", "he")

Результат равен 5, потому что текст "he" начинается с пятой символьной позиции. Если программа Access не находит совпадения, функция Instr ( ) возвращает 0. Если же есть множественные совпадения, Instr () возвращает позицию первого.

Сама по себе эта функция не очень полезна в условиях отбора и вычисляемых полях. Но ее можно использовать в сочетании с другими функциями, такими как Mid ( ) и Left ( ), для вырезания части строки, расположенной рядом с какой-либо буквой. Можно при­менить функцию Instr ( ) для поиска первого пробела и вырезать весь текст до этого пробела. Таким образом, вы извлечете целое слово.

Далее приведено слегка ошеломляющее вычисляемое поле, которое получает первое слово из поля ProductName с помощью вложенных функций (см. разд. "Вложенные функции" ранее в этой главе). Оно разбито на несколько строк для того, чтобы разместить его на странице книги. Когда будете его набирать, поместите все выражение в одну строку.

FirstWordProduct:

Left([ProductName], Instr([ProductName], ""- 1))

Это выражение переводится следующим образом: "Найди позицию первого пробела, вычти единицу и извлеки все символы слева от пробела". Вычислите это поле для зна­чения Banana Cream Fudge и вы получите вырезанный текст Banana, что выглядит как впечатляющий яркий трюк.




Рис. 7.7. Функции Left ( ), Right ( ) и Mid ( ) действуют во многом аналогично ключевому слову Like, помогая найти совпадения кусочков длинной текстовой строки
Функции для обработки дат
Вы уже видели, как можно использовать операции сложения и вычитания при работе с да­тами (см. разд. "Поля с датами "ранее в этой главе). Но вы можете выполнить гораздо боль­ше действий с помощью некоторых функций Access для работы с датами.

Несомненно, многие применяют функции Now () и Date (), с которыми вы познакоми­лись в главе 4. Эти функции извлекают текущие дату и время или только текущую дату. Их можно применять в запросах, работающих с заказами, принесшими доход в текущем году.

Вот условие для выбора просроченных проектов:

=
Вставьте его в ячейку Условие отбора поля DueDate (срок платежа) и вы увидите толь­ко те записи, в которых поле DueDate содержит дату, наступившую ранее нынешнего дня.

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

DatePart("m", [DatePlaced])=DatePart("m", Date())

And DatePart("yyyy", [DatePlaced])=DatePart("yyyy", Date ())

Это довольно длинное выражение на самом деле представляет собой комбинацию двух условий, соединенных ключевым словом And. Первое условие сравнивает номер месяца те­кущей даты с датой, хранящейся в поле DatePlaced:

DatePart("m", [DatePlaced])=DatePart ("m", Date( ))

Приведенное выражение устанавливает, что у обеих дат один и тот же календарный ме­сяц, но вы должны также убедиться в том, что год у них тоже совпадает:

DatePart("yyyy", [DatePlaced])=DatePart("yyyy", Date ( ))

Сложность применения функции DatePart ( ) (и некоторых других функций для дат) заключается в понимании идеи компонентов, составляющих дату. Применяя символ m в функции DatePart ( ), вы получите номер месяца, а используя текст уууу, извлечете чете-рехсимвольный номер года. В табл. 7.5 приведены все возможные варианты.

Таблица 7.5. Компоненты даты

Компонент

Описание

Значение на 20 февраля, 2006 г. 1:30 РМ

уууу

Год в четырехсимвольном формате

2006

q

Квартал от 1 до 4

1

т

Месяц от 1 до 12

2

у

День в году, от 1 до 365 (обычно)

51

d

День в месяце от 1 до 31

20

w

День недели, от 1 до 7

2

Таблица 7.5 (окончание)

Компонент

Описание

Значение на 20 февраля, 2006 г. 1:30 РМ

ww

Неделя в году, от 1 до 52

8

h

Час, от 1 до 24

13

n

Минута, от 1 до 60

30

s

Секунда, от 1 до 60

0
1   ...   19   20   21   22   23   24   25   26   ...   65


написать администратору сайта