Кузин А.В., Левонисова С.В. Базы данных (5-е издание, 2012) (1084448), страница 41
Текст из файла (страница 41)
Если datel соответствует понедельнику, подсчитывается число понедельников междуdatel и date2. При этом date2 учитывается, a datel нет. Если intervalзадается в неделях (“ww”), функция DateDiff возвращает числокалендарных недель между двумя датами, т.е. число воскресениймежду datel и date2. При этом дата date2 учитывается (если ейсоответствует воскресенье), a datel нет (даже если ей соответствует воскресенье).Если datel определяет более позднюю дату, чем date2, возвращается отрицательное значение.Аргумент firstdayofweek влияет на вычисления, использующиевременные интервалы типа “w” и “ww”.Если дата задается как литерал даты, указанный год становится постоянной ее частью.
Однако если дата заключается в прямыекавычки (“ ”), а год опущен, то при каждом вычислении выражения даты в него будет подставляться текущий год. Это позволяетсоздать код, который может использоваться в течение несколькихлет.При сравнении дат 31 декабря и 1 января следующего годафункция DateDiff для интервала типа год (“уууу”) возвращает значение 1, хотя разница между датами составляет всего один день.DatePart (VBA). Возвращает значение типа Variant (Integer),содержащее указанный компонент даты.Синтаксис:DatePart(interval, date[,firstdayofweek[, firstweekofyear]])Синтаксис функции DatePart содержит аргументы, приведенные в табл.
П2.9.Т а б л и ц а П2.9Аргументы функции DatePartАргументОписаниеintervalОбязательный. Это строковое выражение, определяющее тип возвращаемого временного интервалаdateОбязательный. Это значение типа Variant (Date), представляющее собой дату, подлежащую обработкеFirstdayofweekНеобязательный. Это константа, указывающая первыйдень недели. Если этот аргумент опущен, считается,что неделя начинается с воскресенья211Окончание табл. П2.9АргументОписаниеFirstweekofyear Необязательный. Это константа, указывающая первуюнеделю года.
Если этот аргумент опущен, первой неделей считается неделя, содержащая 1 январяDateSerial (VBA). Возвращает значение типа Variant (Date), соответствующее указанным году, месяцу и дню.Синтаксис:DateSerial(year, month, day)Синтаксис функции DateSerial содержит аргументы, приведенные в табл. П2.10.Т а б л и ц а П2.10Аргументы функции DateSerialАргументОписаниеyearОбязательный. Имеет значение типа Integer, представляющее собой число от 100 до 9999 или числовое выражениеmonthОбязательный.
Имеет значение типа Integer, представляющее собой любое числовое выражениеdayОбязательный. Имеет значение типа Integer, представляющее собой любое числовое выражениеЗначение каждого аргумента функции DateSerial должно находиться в соответствующем диапазоне: 1...31 — дни; 1...12 — месяцы. Кроме того, можно использовать числовые выражения дляописания относительной даты, т.е. даты на определенное числодней, месяцев и лет более поздней или ранней, чем указанная.Рассмотрим пример, аргументами функции DateSerial в котором являются не абсолютные значения, а числовые выражения,т.е.
пример определения даты на 1 день 2 месяца и 10 лет болееранний, чем 1 августа 1990 г., т.е. 31 мая 1980 г.:DateSerial(1990 - 10, 8 - 2 ,1-1)Значения аргумента year, лежащие в интервале от 0 и 99, соответствуют годам двадцатого столетия (1900 — 1999). При описаниидат, не относящихся к двадцатому столетию, необходимо использовать все четыре цифры года (например, 1800).Если значение какого-либо аргумента превышает максимально допустимое для него, то соответствующим образом увеличивается более старший компонент даты. Например, 35 дней означают212I месяц и несколько оставшихся дней (в зависимости от числадней в конкретном месяце). Однако если значение любого аргумента лежит вне диапазона 32 768...
32 767 или сочетание всех трехаргументов описывает дату, лежащую вне допустимого диапазонадат, возникает ошибка.DateValue (УВА). Возвращает значение типа Variant (Date).Синтаксис:DateValue (дата)Обязательный аргумент дата обычно является строковым выражением, представляющим собой дату в интервале от 1 января100 года до 31 декабря 9999 года. Кроме того, в качестве этогоаргумента можно использовать любое выражение, представляющее собой дату, время или сочетание даты и времени, лежащие вуказанном диапазоне.В строке, содержащей только числа и допустимые разделители компонентов даты, функция DateValue определяет порядоккомпонентов (месяц, день и год) согласно системному краткому ее формату. Кроме того, функция DateValue правильно обрабатывает допустимые даты, содержащие полные или краткие названия месяцев.
Например, все следующие представления датыявляются допустимыми: 30.12.1991, 30.12.91, 30 декабря 1991 и30-дек-91.Если дата не содержит сведений о годе, функция DateValueиспользует текущий год по системному календарю компьютера.Если дата содержит сведения о времени, они не возвращаютсяфункцией DateValue. Однако если дата содержит неправильныесведения о времени (например, «89:98»), возникает ошибка.DAvg. Функция DAvg возвращает среднее значение для наборазначений, принадлежащих указанному подмножеству записей.Функцию DAvg используют в макросах или программах на VisualBasic, в выражениях для запросов, а также для определения вычисляемого элемента управления.Например, включение функции DAvg в строку условий запросана выборку позволяет отобрать записи, в которых значения конкретного поля превышают среднее значение для данного поля.
В вычисляемом поле функция DAvg позволяет вывести рядом со значением нового заказа среднее значение по предыдущим заказам.Синтаксис:DAvg(выражение, набор[, условие])Функция DAvg использует аргументы, приведенные в табл.П2.11.213Т а б л и ц а П 2.11Аргументы функции DAvgАргументОписаниевыражение Выражение, определяющее поле, которое содержит усредняемые данные. Данный аргумент может задаватьсястроковым выражением, определяющим поле в таблицеили запросе, либо представлять собой выражение, задающее выполнение вычислений над данными, содержащимися в поле.
Допускается использование в аргументевыражение имени поля в таблице или элемента управления в форме, константы, а также встроенной или определяемой пользователем функции. Не допускаетсяиспользование в аргументе выражение других статистических функций по подмножеству или статистическихфункций SQLнаборСтроковое выражение, определяющее набор записей,образующих подмножество.
Может представлять собойимя таблицы или запросаусловиеНеобязательное строковое выражение, ограничивающеедиапазон данных, для которых рассчитывается среднеезначение. Например, аргумент условие часто является эквивалентом предложения WHERE инструкции SQL, нобез ключевого слова WHERE. Если аргумент условие опущен, DAvg выполняет расчеты над полем, заданным в аргументе выражение, для всего набора записей.
Любое поле, указанное в аргументе условие, должно принадлежатьподмножеству, заданному аргументом набор; в противномслучае функция DAvg возвращает значение NullЗаписи, содержащие в указанном поле пустые (Null) значения, в расчет среднего значения не включаются.При любом использовании функции DAvg в макросе или модуле, в выражении для запроса или вычисляемом элементе управления необходимо обеспечить правильное составление аргументаусловие.Допускается ввод функции DAvg в строку Условие отбора бланказапроса. Например, предположим, что требуется просмотреть список всех товаров, заказы на которые превышают среднее значение. В этом случае следует создать запрос по таблицам ЗАКАЗЫ,ЗАКАЗАНО и ТОВАРЫ, включить в бланк запроса поля Марка иКоличество и ввести следующее выражение в ячейку строки Условие отбора под полем Количество'.>DAvg("[Количество]", "Заказано")214Функция DAvg может быть включена в выражение для вычисляемого поля в запросе, а также в строку Обновление запроса наобновление.В выражениях для вычисляемых полей итоговых запросов используют как функцию DAvg, так и функцию Avg.
При использовании функции DAvg расчеты средних значений выполняются догруппировки данных. При использовании функции Avg расчетысредних значений выполняются после группировки данных.Функцию DAvg используют в вычисляемом элементе управления, если необходимо указать условия отбора, ограничивающиедиапазон усредняемых данных. Например, для вывода среднейстоимости доставки заказов в Крым следует ввести в ячейку свойства Данные (ControlSource) вычисляемого поля следующее выражение:= DAvg("[СтоимостьДоставки]", "Заказы",Получателя ] = 'Крым'")"[Область-Если требуется просто найти среднее значение для всех записей в наборе, определяемом аргументом набор, следует использовать функцию Avg.Допускается использование функции DAvg в модуле или макросе либо в вычисляемом элементе управления формы в случае,когда поле, для которого проводится усреднение, не принадлежит к базовому источнику записей формы.
Например, предположим, что базовой таблицей формы является таблица ЗАКАЗЫ ичто требуется вывести в форме для сравнения среднее значениеполя Количество из таблицы ЗАКАЗАНО для конкретного клиента. Функция DAvg позволяет выполнить такие расчеты и вывестирезультат в виде формы.Day (VBA). Возвращает значение типа Variant (Integer), содержащее целое число (от 1 до 31), которое представляет собой деньмесяца.Синтаксис:Оау(дата)Обязательный аргумент дата может быть любым значением типаVariant, числовым выражением, строковым выражением или любым их сочетанием, которое представляет собой дату. Если датасодержит значение Null, возвращается значение Null.DCount. Возвращает число записей в указанном наборе (подмножестве) записей.Функцию DCount используют в программах на Visual Basic,макросах, выражениях для запросов, а также для определения вы215числяемого элемента управления.