Vvmebel.com

Новости с мира ПК
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Access функции даты

Access функции даты

Функция так же, как и идентификатор, используется для возвращения значения в точку вызова. Значение, возвращаемое функцией, определяется ее типом, например функция NOW () возвращает дату и время часов компьютера. Синтаксически функция выделяется круглыми скобками, следующими сразу же за ее идентификатором. Многие функции требуют наличия аргументов, которые записываются в этих скобках через запятую при обращении к функции. Функции можно использовать для создания нового выражения или функции. (Об использовании функций рассказывается в гл. 13.)

Встроенные в Access функции можно сгруппировать по следующим категориям (забегая вперед, скажем, что именно так они сгруппированы в специальном инструменте, помогающем правильно создавать сложные выражения, который называется Построитель выражений (Expression Builder)).

  • Функции работы с массивами — используются для определения границ размерностей массивов при программировании на VBA.
  • Функции преобразования типов данных — применяются для преобразования одного типа данных в другой. Например, для преобразования числа в строку служит функция str (), а обратно — функция val ().
  • С помощью функций работы с объектами баз данных осуществляется обращение к объектам баз данных: таблицам, запросам, формам, отчетам, макросам и модулям. Например, функция CurrentDB () возвращает ссылку на объект Database, с которым работает Access в данный момент. (Для более подробной информации о работе с этими функциями обратитесь к справочной системе Access или к гл. 13.)
  • Функции даты и времени — служат для проведения операций со значениями даты и времени. Например, функция DateDiff О вычисляет промежуток между двумя датами, а функция Date () возвращает значение текущей даты.
  • Функции динамического обмена данными (DDE) между приложениями Windows и функции работы с использованием технологии связывания и внедрения (OLE) (например, DDE() и DDESendO) — используются для перемещения данных из одного приложения в другое и обратно. Для приложений, поддерживающих технологию OLE, в частности Microsoft Office, особенно важными являются функции GetObject () и CreateObject (), с помощью которых начинается основная работа с любыми объектами (см. разд. «Интеграция Access 2000 с другими компонентами Office 2002» гл. 15).
  • Статистические функции SQL — используются чаще всего для многотабличных запросов как источника данных для форм. Статистические функции SQL возвращают статистические данные из записей, выбранных по запросу. Эти функции нельзя использовать в макросах или вызывать их из программ VBA иначе, как внутри выражений в кавычках, используемых в инструкциях SQL для создания объектов Recordset.

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

Примером статистической функции SQL является stDev(), а соответствующей ей статистической функцией по подмножеству записей— DStDevf). Обе они вычисляют стандартное отклонение для заданного множества значений.

  • Функции обработки ошибок — используются, как следует из названия, для отслеживания ошибок. Например, функция Error () выводит сообщение об ошибке по ее номеру. Наличие таких функций в выражении можно считать признаком хорошего тона, поскольку используемое выражение, хоть и приводит к ошибочному результату, но продолжает вести себя корректно, не забыв предупредить пользователя.
  • Финансовые функции — идентичны своим двойникам в Microsoft Excel и используют те же аргументы. Например, функция Rate () возвращает процентную ставку, необходимую для получения путем регулярных взносов указанной суммы на базе имеющейся за определенный срок.
  • Функции общего назначения — используются в основном при программировании на VBA для извлечения вспомогательной информации и управления ходом выполнения программы. Например, функция Commando служит для извлечения аргументов командной строки при выполнении программы, написанной на VBA.
  • Функции сообщений и ввода/вывода — позволяют выводить сообщения или вводить новые данные, а также устанавливать различные параметры ввода/вывода. Иллюстрацией могут служить функция ввода данных inputBox () или функция проверки существования каталога или файла Dir ().
  • Функции проверки — особая группа функций, отвечающих на вопрос «является ли аргумент. ?». Например, IsNumericf) — возвращает True, если аргумент имеет один из числовых типов данных, и False — в противном случае; IsObject() — возвращает True, если аргумент— объект OLE Automation, и False — в противном случае.
  • Функции ветвления — используются для выбора из нескольких альтернатив. На них стоит остановиться подробнее.
    • IIf (Expr, Truepart, Falsepart) — возвращает значение выражения Truepart, если значение выражения Ехрг равно True, или значение выражения Falsepart, если значение Ехрг есть False. Особо важно то, что вне зависимости от значения выражения Ехрг, будут вычислены как выражение Truepart, так и Falsepart. Следует быть очень внимательным к возможным побочным эффектам, связанным с этой особенностью функции Ilf <). Отметим, что здесь, как и в большинстве функций, в качестве каждого из аргументов стоит выражение, которое, в свою очередь, тоже может быть сложным выражением.
    • Функция Choose () возвращает значение, соответствующее заданному положению в списке значений. Switch () возвращает значение, связанное с первым из последовательности выражением, имеющим значение True.
    • Функции Choose () и Switch() похожи на команду Select Case из VBA и других диалектов Basic, которая не раз встретится вам в гл. 13.
  • Математические и тригонометрические функции — используются для выполнения простых (и неслишком) математических операций, например вычисления логарифма Log () или синуса числа Sin ().
  • Текстовые функции — позволяют проводить различные операции над строками. Например, функция Trim() возвращает строку, заданную в качестве аргумента, без начальных и заключительных пробелов.
  • Еще раз обратим внимание, что описание всех функций (а их более 100) с подробными примерами выходит за рамки этой книги, тем более что справочная система Access и VBA предлагает развернутое изложение использования каждой функции, сопровождаемое примерами. При необходимости применения в дальнейшем изложении какой-либо незнакомой функции мы будем стараться кратко описать ее назначение и применение.

    Access функции даты

    как правильно задавать Дату и ДатуВремя в SQL запросах в Access? К БД подключаюсь при помощи ADO.. Не понятно мне вот что: При добавлении новой записи в таблицу, я делаю так:

    Дата:

    INSERT INTO table (t_date)
    VALUE («27.10.2008»)

    ДатаВремя:

    INSERT INTO table (t_datetime)
    VALUE («27.10.2008 21:30:00»)

    Вобщем формат Даты и ДатыВремени такой.. И все работает..

    А вот если нужно сравнить дату, например:

    SELECT *
    FROM table
    WHERE table.t_datetime = «27.10.2008 21:30:00»

    то уже возникает ошибка..


    Stas © ( 2008-05-27 15:45 ) [1]

    #27.10.2008 21:30:00# помоему так.


    MsGuns © ( 2008-05-27 15:55 ) [2]

    Использовать параметрические запросы


    Anatoly Podgoretsky © ( 2008-05-27 15:58 ) [3]

    > MsGuns (27.05.2008 15:55:02) [2]

    Бесполезно сравнивать числа с плавающей запятой на абсолютную точность.


    MsGuns © ( 2008-05-27 16:07 ) [4]

    >Anatoly Podgoretsky © (27.05.08 15:58) [3]
    >Бесполезно сравнивать числа с плавающей запятой на абсолютную точность.

    А причем здесь «числа с плавающей запятой» ?

    Читать еще:  Select distinct access


    Dmitry_177 ( 2008-05-27 16:19 ) [5]

    только не понятно еще, где-то накопал в интернете что нужно так: месяц/день/год хотя работает как я написал.. непонятно что-то..


    Anatoly Podgoretsky © ( 2008-05-27 16:23 ) [6]

    > MsGuns (27.05.2008 16:07:04) [4]

    А в Акцесс хранится именно в этом формате, совпадает с TDateTime


    MsGuns © ( 2008-05-27 16:40 ) [7]

    >Dmitry_177 (27.05.08 16:19) [5]
    >где-то накопал в интернете что нужно так: месяц/день/год хотя работает как я написал.. непонятно что-то..


    palva © ( 2008-05-27 16:48 ) [8]

    По правилам нужно так #месяц/день/год#
    Если Access обнаруживает, что дата невалидная он пробует поменять местами месяц и день.


    Anatoly Podgoretsky © ( 2008-05-27 16:52 ) [9]

    > palva (27.05.2008 16:48:08) [8]

    Когда меняет не страшно, страшно когда не меняет и ничего не говорит.


    Dmitry_177 ( 2008-05-27 17:05 ) [10]

    хм.. тут наверно может быть тогда ошибка..(((

    вот к примеру наша дата 27.10.2008.. 27-го меся не бывает, поэтому меняет местами и все ок.. а будет такая 12.10.2008 дата? Access запишет ее как 12 октября или 10 декабря?


    palva © ( 2008-05-27 18:27 ) [11]


    > Access запишет ее как 12 октября или 10 декабря?

    Вы хотите, чтобы мы для вас попробовали?


    Anatoly Podgoretsky © ( 2008-05-27 21:44 ) [12]

    Пусть сначала моральный ущерб оплатит.


    Правильный_Вася ( 2008-05-27 22:21 ) [13]

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


    Dmitry_177 ( 2008-05-28 11:14 ) [14]

    Еще вопрос.. А как сравнить ДатаВремя с Датой?

    ДатаВремя — 27.10.2008 21:30:00
    и Дата — 27.10.2008

    вот нужно сравнить только дату, попробовал сделать так:

    SELECT * FROM table
    WHERE t_datetime = #27/10/2008#

    не сравнивается.. помогите


    Правильный_Вася ( 2008-05-28 11:32 ) [15]


    Dmitry_177 ( 2008-05-28 11:39 ) [16]

    SELECT * FROM table
    WHERE t_datetime BETWEEN (#27/10/2008 00:00:00#, #27/10/2008 23:59:59#)


    Dmitry_177 ( 2008-05-28 11:40 ) [17]

    т.е. так:
    SELECT * FROM table
    WHERE t_datetime BETWEEN #27/10/2008 00:00:00# AND #27/10/2008 23:59:59#


    DiamondShark © ( 2008-05-28 14:19 ) [18]


    > т.е. так:
    > SELECT * FROM table
    > WHERE t_datetime BETWEEN #27/10/2008 00:00:00# AND #27/10/2008
    > 23:59:59#

    Лучше так:
    WHERE t_datetime >= #27/10/2008 00:00:00# AND t_datetime


    Dmitry_177 ( 2008-05-28 23:59 ) [19]

    А при добавлении записи:

    INSERT INTO table (t_datetime)
    VALUE («27.10.2008 21:30:00»)

    правильней будет тоже месяц/день/год ?


    Palladin © ( 2008-05-29 07:58 ) [20]

    правильней (относительно) будет

    q.SQL.Text:=»insert into table (t_datetime) values (:PDateTime)»;
    q.Parameters.ParamByName(«PDateTime»).Value:=Date;
    q.ExecSQL;

    ну или то, что предложит sniknik :), но с тем же подходом с параметром.


    Anatoly Podgoretsky © ( 2008-05-29 16:50 ) [21]

    > Dmitry_177 (28.05.2008 11:40:17) [17]

    Это не дает гарантии, что в условие попадут все записи за 27,10,2008 более того в текстовом виде вообще возможны разные сюрпризы.

    Иллюстрированный самоучитель по Microsoft Access 2002

    Использование выражений в запросах. Выражения в Access.

    Функции

    Функция так же, как и идентификатор, используется для возвращения значения в точку вызова. Значение, возвращаемое функцией, определяется ее типом, например функция NOW () возвращает дату и время часов компьютера. Синтаксически функция выделяется круглыми скобками, следующими сразу же за ее идентификатором. Многие функции требуют наличия аргументов, которые записываются в этих скобках через запятую при обращении к функции. Функции можно использовать для создания нового выражения или функции. (Об использовании функций рассказывается в гл. 13.)

    Встроенные в Access функции можно сгруппировать по следующим категориям (забегая вперед, скажем, что именно так они сгруппированы в специальном инструменте, помогающем правильно создавать сложные выражения, который называется Построитель выражений (Expression Builder)).

    • Функции работы с массивами – используются для определения границ размерностей массивов при программировании на VBA.
    • Функции преобразования типов данных – применяются для преобразования одного типа данных в другой. Например, для преобразования числа в строку служит функция str (), а обратно – функция val ().
    • С помощью функций работы с объектами баз данных осуществляется обращение к объектам баз данных: таблицам, запросам, формам, отчетам, макросам и модулям. Например, функция CurrentDB () возвращает ссылку на объект Database, с которым работает Access в данный момент.
      (Для более подробной информации о работе с этими функциями обратитесь к справочной системе Access или к гл. 13.)
    • Функции даты и времени – служат для проведения операций со значениями даты и времени. Например, функция DateDiff() вычисляет промежуток между двумя датами, а функция Date () возвращает значение текущей даты.
    • Функции динамического обмена данными (DDE) между приложениями Windows и функции работы с использованием технологии связывания и внедрения (OLE) (например, DDE() и DDESend() – используются для перемещения данных из одного приложения в другое и обратно. Для приложений, поддерживающих технологию OLE, в частности Microsoft Office, особенно важными являются функции GetObject () и CreateObject (), с помощью которых начинается основная работа с любыми объектами (см. разд. «Интеграция Access 2000 с другими компонентами Office 2002» гл. 15).
    • Статистические функции SQL – используются чаще всего для многотабличных запросов как источника данных для форм. Статистические функции SQL возвращают статистические данные из записей, выбранных по запросу. Эти функции нельзя использовать в макросах или вызывать их из программ VBA иначе, как внутри выражений в кавычках, используемых в инструкциях SQL для создания объектов Recordset.

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

    Примером статистической функции SQL является stDev(), а соответствующей ей статистической функцией по подмножеству записей– DStDev(). Обе они вычисляют стандартное отклонение для заданного множества значений.

  • Функции обработки ошибок – используются, как следует из названия, для отслеживания ошибок. Например, функция Error () выводит сообщение об ошибке по ее номеру. Наличие таких функций в выражении можно считать признаком хорошего тона, поскольку используемое выражение, хоть и приводит к ошибочному результату, но продолжает вести себя корректно, не забыв предупредить пользователя.
  • Финансовые функции – идентичны своим двойникам в Microsoft Excel и используют те же аргументы. Например, функция Rate () возвращает процентную ставку, необходимую для получения путем регулярных взносов указанной суммы на базе имеющейся за определенный срок.
  • Функции общего назначения – используются в основном при программировании на VBA для извлечения вспомогательной информации и управления ходом выполнения программы. Например, функция Commando служит для извлечения аргументов командной строки при выполнении программы, написанной на VBA.
  • Функции сообщений и ввода/вывода – позволяют выводить сообщения или вводить новые данные, а также устанавливать различные параметры ввода/вывода. Иллюстрацией могут служить функция ввода данных inputBox () или функция проверки существования каталога или файла Dir ().
  • Функции проверки – особая группа функций, отвечающих на вопрос «является ли аргумент…?». Например, IsNumeric() – возвращает True, если аргумент имеет один из числовых типов данных, и False – в противном случае; IsObject() – возвращает True, если аргумент– объект OLE Automation, и False – в противном случае.
  • Функции ветвления – используются для выбора из нескольких альтернатив. На них стоит остановиться подробнее.
    • IIf (Expr, Truepart, Falsepart) – возвращает значение выражения Truepart, если значение выражения Ехрг равно True, или значение выражения Falsepart, если значение Ехрг есть False. Особо важно то, что вне зависимости от значения выражения Ехрг, будут вычислены как выражение Truepart, так и Falsepart. Следует быть очень внимательным к возможным побочным эффектам, связанным с этой особенностью функции Ilf (). Отметим, что здесь, как и в большинстве функций, в качестве каждого из аргументов стоит выражение, которое, в свою очередь, тоже может быть сложным выражением.
    • Функция Choose () возвращает значение, соответствующее заданному положению в списке значений. Switch () возвращает значение, связанное с первым из последовательности выражением, имеющим значение True.
    • Функции Choose () и Switch() похожи на команду Select Case из VBA и других диалектов Basic, которая не раз встретится вам в гл. 13.
  • Математические и тригонометрические функции – используются для выполнения простых (и не слишком) математических операций, например вычисления логарифма Log () или синуса числа Sin ().
  • Текстовые функции – позволяют проводить различные операции над строками. Например, функция Trim() возвращает строку, заданную в качестве аргумента, без начальных и заключительных пробелов.
  • Читать еще:  Функция date в access

    Замечание
    Еще раз обратим внимание, что описание всех функций (а их более 100) с подробными примерами выходит за рамки этой книги, тем более что справочная система Access и VBA предлагает развернутое изложение использования каждой функции, сопровождаемое примерами. При необходимости применения в дальнейшем изложении какой-либо незнакомой функции мы будем стараться кратко описать ее назначение и применение
    .

    Access функции даты

    Упражнение 6. Параметры поля

    Для того, чтобы обеспечить возможность хранения в базе данных разнообразной информации, Access предлагает большой набор типов данных, перечисленных в табл. 16.1.

    ТАБЛИЦА 16.1 . Типы данных

    Текст длиной до 255 символов

    Текст длиной до 65 000 символов

    Числа различных форматов

    Дата и/или время

    Денежные значения различных форматов

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

    Величины, способные принимать только два значения: да/нет или 1/0

    Поле объекта OLE (OLE Object)

    Поля, позволяющие вставлять рисунки, звуки и данные других типов

    Ссылки, дающие возможность открывать объект Access (таблицу, форму, запрос и т. п.), файл другого приложения или web-страницу

    Чтобы сделать работу со списком контактов более продуктивной, следует изменить типы данных некоторых полей.

      В окне базы данных выделите таблицу Список и щелкните на кнопке Конструктор (Design), расположенной в верхней части окна. Выбранная таблица откроется в режиме конструктора.

      Описание контакта может быть достаточно длинным, а максимальная длина текстовых полей ограничена 256 символами. Поэтому измените тип поля Описание на Поле MEMO.

      Щелкните на поле Дата.

      Для удобства прочтения даты контакта измените 4юрмат ее отображения, выбрав в раскрывающемся списке Формат поля (Format) пункт Длинный формат даты (Long Date), как показано на рис. 16.14.

      Кроме типа данных и формата отображения вкладка Общие (General) окна конструктора позволяет настроить некоторые дополнительные параметры поля, влияющие на способ ввода данных. Параметр Значение по умолчанию (Default Value) задает содержимое поля, которое записывается в новую запись в том случае, если пользователь не ввел в это поле никаких данных. Если вы регулярно обновляете список контактов, то дата контакта чаще всего будет совпадать с текущей датой. Чтобы упростить ввод информации, можно задать текущую дату в качестве значения по умолчанию для поля Дата.

        Введите в поле Значение по умолчанию (Default Value) функцию Date(), которая возвращает текущую дату. В некоторых случаях требуется не только задать тип данных поля, но и ограничить его возможные значения некоторым интервалом или более сложным правилом отбора. Такое правило вводится в поле Условие на значение (Validation Rule). Предположим, вы точно знаете, что все контакты, которые будут заноситься в список, состоятся после 1 января 1999 г. Чтобы избежать ошибок, можно заставить Access сообщать вам о вводе неверной даты. Для этого выполните следующие шаги.

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

        Необходимо, чтобы дата записи была позднее, то есть больше, даты 1 января 1999 г. Поэтому щелкните на кнопке >, чтобы добавить нужное условие.

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

          Дважды щелкните на папке Функции (Functions) в левом списке построителя выражений.

          Щелкните на папке Встроенные функции (Built-in Function), чтобы вывести список стандартных функций Access.

          В среднем списке выберите категорию Дата/время.

          Двойным щелчком на имени функции DateValue добавьте ее в поле выражения. Вместо местозаполнителя аргумента «stringexpr» нужно ввести конкретную дату в строковом формате.

          В поле выражения щелчком выделите текст «stringexpr», а затем напечатайте «1.1.99».

          Щелкните на кнопке ОК.

          Рис. 16.15. Параметры поля Дата

            В поле Сообщение об ошибке (Validation Text) введите текст Неверная дата, который будет появляться при вводе даты, более ранней, чем 1 января 1999 г. Окончательный набор параметров поля Дата показан на рис. 16.15.

            Щелкните на кнопке закрытия окна конструктора. В окне запроса на обновление структуры таблицы щелкните на кнопке Да. По причине добавления условий на значения поля Дата Access запросит о необходимости проверки содержимого этого поля в уже имеющихся записях таблицы. Щелкните на кнопке Нет (No), чтобы не выполнять проверку.

            Давайте изучим влияние настроенных параметров на поведение базы данных.

              Выделите таблицу Список в окне базы данных и щелкните на кнопке Открыть (Open). Теперь все даты отображаются в длинном формате, а в ячейке Дата в строке новой записи автоматически появляется текущая дата.

              Щелкните в ячейке Дата второй строки, измените ее содержимое на 19.11.95 и нажмите клавишу Tab, чтобы перейти к следующему полю. Так как модифицированная дата предшествует 1 января 1999 г., что противоречит настроенному условию, Access не позволит убрать курсор из текущей ячейки и откроет окно сообщения с текстом, введенным вами в поле Сообщение об ошибке конструктора таблицы на шаге 14. Такое сообщение будет появляться до тех пор, пока вы не скорректируете дату.

                Лекция 6 Тема: Запросы. Вычисления и групповые операциию

                6.1. Вычисляемые поля.

                6.2. Создание выражений с помощью Построителя выражений.

                6.3. Обзор встроенных функций СУБД MS Access.

                6.4. Итоговые запросы.

                6.5. Перекрестные запросы.

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

                В QBE СУБД MS Access такие возможности предоставляются через вычисляемые поля и групповые операции.

                6.1. Вычисляемые поля

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

                Стоимость: Товары! Цена * Количество * (1-Скидка)

                КоличествоМужчин: Sum(IIf(Пол = «м»; 1; 0))

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

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

                Стоимость: Цена*[Количество товара]

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

                Обновить вычисленные результаты вручную невозможно.

                Для построения сложных выражений в СУБД MS Access входит утилита, называемая Построитель выражений.

                6.2. Создание выражений с помощью Построителя выражений

                Построитель выражений можно запустить щелкнув по клавише Построить на панели инструментов Конструктор запросов или выбрав в контекстном меню поля бланка запроса QBE команду меню Построить….

                Рис.6.1. Диалоговое окно Построитель выражений

                Рис.6.2. Диалоговое окно Построителя выражений
                со сформированным выражением

                6.3. Обзор встроенных функций СУБД MS Access

                СУБД MS Access содержит более 100 встроенных функций (рис.6.3), которые можно использовать при формировании вычисляемого поля или при задании условия отбора.

                Рис.6.3. Диалоговое окно Построителя выражений
                со списком встроенных функций

                Все встроенные функции в Построителе выражений сгруппированы по функциональному назначению.

                При выборе функции в правом окне построителя, в нижней области окна Построителя выражений отображается синтаксис этой функции. Для более детальной справки необходимо щелкнуть по клавише Справка.

                Обзор всех встроенных функций выходит за рамки лекции, поэтому рассмотрим наиболее используемые.

                Таблица 6.1

                Функции категории Дата/время

                Возвращает значение дня месяца от 1 до 31

                Возвращает значение месяца от 1 до 12

                Возвращает название месяца соответствующего номеру месяца: 1 – январь, 2 – февраль, и т. д. Если значение аргумента флаг Истина, то функция возвращает аббревиатуру месяца: 1 – янв, 2 – фев и т. д.

                Возвращает значение года от 100 до 9999

                Если аргумент число не указан, возвращает значение дня недели от 1 (воскресенье) до 7 (суббота). Если аргумент число имеет значение 0, то возвращает значение дня недели от 1 (понедельник) до 7 (воскресенье)

                Возвращает целое число от 0 од 23, представляющее значение часа

                Возвращает числовое значение в зависимости от значения аргумента интервал:

                «q» – квартал (от 1 до 4);

                «m» – месяц (от 1 до 12);

                «yyyy» – год (от 100 до 9999);

                «ww» – неделя (от 1 до 53);

                и т. п. (см. справку по функции).

                Возвращает текущую системную дату

                Функции категории Проверка

                Возвращает значение Истина если значение переменной (значение поля в источнике данных) равно Null

                Возвращает значение Истина если значение переменной (значение поля в источнике данных) имеет один из числовых типов данных

                Функции категории Управление

                IIf(условие; выр1; выр2)

                Возвращает значение выражения выр1 если значение аргумента условие Истина и возвращает значение выражения выр2 если значение аргумента условие Ложь. Данная функция аналогична функции ЕСЛИ в MS Excel.

                Продолжение таблицы 6.1

                Функции категории Текстовые

                Возвращает n левых символов аргумента текст

                Возвращает n правых символов аргумента текст

                Mid(текст; нач_поз[; n])

                Возвращает n символов начиная с позиции нач_поз аргумента текст. Если аргумент n не указан, то возвращает все символы до конца строки начиная с позиции нач_поз аргумента текст.

                Возвращает количество символов (длину строки) в аргументе текст

                Возвращает строковое значение аргумента текст без начальных пробелов

                Возвращает строковое значение аргумента текст без заключительных пробелов

                Возвращает строковое значение аргумента текст без начальных и заключительных пробелов

                Возвращает строковое значение аргумента число

                Возвращает значение аргумента переменная в формате заданным аргументом формат

                6.3. Итоговые запросы

                При анализе данных очень часто интересуют не отдельные записи, а итоговые значения по группам данных, например:

                — количество сделок с Партнерами за определенный промежуток времени;

                — средний объем продаж по каждому месяцу за предыдущий год.

                Ответы на такие вопросы дает итоговый запрос.

                Для вычисления итоговых значений необходимо нажать кнопку Групповые операции на панели инструментов Конструктор запросов, чтобы в бланке QBE появилась строка Групповая операция (после имени таблицы).

                По умолчанию для каждого поля, занесенного в бланк запроса, устанавливается значение Группировка (итоги не подводятся).

                Для подведения итогов необходимо заменить установку Группировка на конкретную итоговую функцию. В СУБД MS Access предусмотрено 9 функций (табл. 6.2), обеспечивающих выполнение групповых операций.

                Таблица 6.2

                Функции категории Статистические

                Возвращает сумму набора значений

                Возвращает среднее арифметическое набора значений

                Возвращает наименьшее значение из набора значений

                Возвращает наибольшее значение из набора значений

                Возвращает количество записей в наборе значений отличных от Null

                Возвращает первое значение поля в группе

                Возвращает последнее значение поля в группе

                Возвращает среднеквадратичное отклонение набора значений

                Возвращает дисперсию набора значений

                В раскрывающемся списке строки Групповая операция имеется установка Выражение. Данная установка применяется, когда в выражении (строка Поле) используется несколько итоговых функций.

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

                Для решения более сложных статистических задач в СУБД MS Access предусмотрен специальный тип запроса – перекрестный запросов.

                6.4. Перекрестные запросы

                Перекрестный запрос – это специальный тип группового запроса, в котором отражаются результаты статистических расчетов по значению одного поля таблицы.

                Для построения перекрестного запроса достаточно трех полей базового источника. По повторяющимся значениям одного поля формируются названия заголовков строк итоговой (сводной) таблицы (рис.6.4). По повторяющимся значениям другого поля формируются названия заголовков столбцов итоговой (сводной) таблицы. Результаты статистической обработки по третьему полю отображаются в ячейках сводной таблицы (область значений). Пример перекрестного запроса в режиме конструктора представлен на рис.6.5, а результаты выполнения запроса на рис. 6.6.

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

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

              Ссылка на основную публикацию
              Adblock
              detector