Таблица операторов. Аксесс функция


ACCESS

11

Системы управления базами данных Access.

Основные сведения

Приложение Microsoft Access является мощной и высокопроизводительной 32-разрядной системой управления реляционной базой данных (далее СУБД).

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

Реляционная база данных. Практически все СУБД позволяют добавлять новые данные в таблицы. С этой точки зрения СУБД не отличаются от программ электронных таблиц (Excel), которые могут эмулировать некоторые функции баз данных.

Access – мощное приложение Windows. При этом производительность СУБД органично сочетаются со всеми удобствами и преимуществами Windows.

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

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

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

Несмотря на то, что Access является мощной и сложной системой, его использование не сложно для непрофессиональных пользователей.

Основные функции

  1. Организация данных. Создание таблиц и управление ими.

  2. Связывание таблиц и обеспечение доступа к данным. Access позволяет связывать таблицы по совпадающим значениям полей, с целью последующего соединения нескольких таблиц в одну.

  3. Добавление и изменение данных. Эта функция требует разработки и реализации представленных данных, отличных от табличных (формы).

  4. Представление данных. Access позволяет создавать различные отчёты на основе данных таблиц и других объектов базы данных.

  5. Макросы. Использование макросов позволяет автоматизировать повторяющиеся операции. В последних версиях Access макросы используют для совместимости.

  6. Модули. Модули представляют собой процедуру или функцию, написанные на Access VBA (диалект Visual Basic Application). Эти процедуры можно использовать для сложных вычислений.

  7. Процедуры превышают возможности стандартных макросов.

  8. Защита базы данных. Эти средства позволяют организовать работу приложения в многопользовательской среде и предотвратить несанкционированный доступ к базам данных.

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

Элементы базы данных

Таблицы. В базе данных информация хранится в виде двумерных таблиц. Можно так же импортировать и связывать таблицы из других СУБД или систем управления электронными таблицами. Одновременно могут быть открыты 1024 таблицы.

Запросы. При помощи запросов можно произвести выборку данных по какому-нибудь критерию из разных таблиц. В запрос можно включать до 255 полей.

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

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

Макросы (см. выше)

Модули. Модули содержат VBA-код, используемый для написания процедур обработки событий таких, как, например, нажатия кнопки в форме или отчёте, для создания функций настройки, для автоматического выполнения операций над объектами базы данных и программного управления операциями, т.е. добавление VBA-кода позволяет создать полную базу данных с настраиваемыми меню, панелями инструментов и другими возможностями. Модули снимают с пользователя приложения необходимость помнить последовательность

Таблицы

Создание таблицы в режиме Мастера таблиц

Процесс создания объекта базы данных при помощи мастера делится на несколько шагов, на каждом из которых можно установить требуемые характеристики создаваемого объекта. Многие таблицы базы данных Борей созданы на основе образцов Мастера таблиц.

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

Создание таблицы в режиме Конструктора таблиц

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

Создание таблицы непосредственно в режиме таблицы

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

Кроме того, из примера Access не всегда может правильно определить тип данных. Таблицы, которые созданы в режиме таблицы, не могут включать объекты OLE и мемо-поля. Если есть желание иметь такие поля, вам нужно изменить структуру таблицы. При создании таблицы в режиме таблицы не происходит экономии времени по сравнению с традиционным способом определения полей и установки их свойств в структуре пустой таблицы.

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

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

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

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

Один ко многим. Связь с отношением "один ко многим" является наиболее часто используемым типом связи между таблицами. В такой связи каждой записи в таблице "А" могут соответствовать несколько записей в таблице "В", а запись в таблице "В" не может иметь более одной

Многие к одному. При использовании отношения "многие к одному" одной записи в таблице "А" может соответствовать одна запись в таблице “B”, а запись в таблице "В" может иметь более одной соответствующей ей записи в таблице "А". В таблице "А" ключевое поле должно быть уникальным. Связь с отношением "один ко многим" таблиц "А" и "В" можно рассматривать как связь с отношением "многие к одному" таблиц "В" и "А".

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

Связанные поля не обязательно должны иметь одинаковые имена, однако, они должны иметь одинаковые типы данных. Кроме того, связываемые поля типа "Числовой" должны иметь одинаковые значения свойства "Размер поля". Исключениями из этого правила являются поля счетчика с последовательной нумерацией, которые могут связываться с числовыми полями размера "Длинное целое". Существует возможность создать связь между текстовыми полями разной длины, но это может вызвать сложности при создании запросов.

Автоматическое обеспечение ссылочной целостности данных является важной особенностью Access. Если на связь между таблицами наложены условия ссылочной целостности, то Access не позволяет добавлять в связанную таблицу записи, для которых нет соответствующих записей в главной таблице, и изменять записи в главной таблице таким образом, что после этого в связанной таблице появятся записи, не имеющие главных записей; а также удалять записи в главной таблице, для которых имеются подчиненные записи в связанной таблице. Условия целостности данных определяют систему правил, используемых в Access для поддержания связей между записями в связанных таблицах. Эти правила делают невозможным случайное удаление или изменение связанных данных. После наложения условий целостности данных на операции со связанными таблицами накладываются ограничения. Невозможно ввести в поле внешнего ключа связанной таблицы значение, не содержащееся в ключевом поле главной таблицы.

Необходимо так же определить первичный ключ. Если таблица никогда не будет использоваться в качестве главной, то ключ для нее определять не нужно. В главных таблицах обычно содержится информация о реальных объектах, причем с каждым объектом ассоциируется только одна запись. Определение ключа таблицы является простейшим способом предотвращения появления в таблице одинаковых записей. В главной таблице связи должен быть определен первичный ключ. Access считает таблицы, у которых такой ключ не определен, подозрительными. При открытии таких таблиц в режиме конструктора появляется диалоговое окно, сообщающее о том, что ключ таблицы не определен. Ключ можно определить и в связанных таблицах, что поможет избежать появления повторяющихся данных. Ключ таблицы можно задать по значению нескольких полей. Access автоматически индексирует таблицу по значению ключа, но может потребоваться создать дополнительные индексы по значениям других полей. Индексы позволяют ускорить поиск данных в тех полях таблицы, по которым она проиндексирована. Каждая таблица Access может иметь до 32 индексов, 5 из которых могут быть составными (в составной индекс может входить не более 10 полей). Тем не менее, не стоит увлекаться созданием индексов для каждого поля таблицы и всех их комбинаций, поскольку это может существенно замедлить процесс заполнения таблицы (при изменении или добавлении записи автоматически обновляются все индексы).

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

Основные типы данных:

Текстовый. Текст или числа, не требующие проведения расчётов.

МЕМО. Поле этого типа предназначено для хранения небольших текстовых данных (до 64000 символов). Поле этого типа не может быть ключевым или проиндексированным.

Числовой. Этот тип данных содержит множество подтипов. От выбора подтипа (размера) зависит точность вычислений.

Счётчик. Уникальные, последовательно возрастающие числа, автоматически вводящиеся при добавлении новой записи в таблицу.

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

Денежный. Денежные значения и числовые данные, используемые в математических вычислениях.

Дата/Время. Дата и время хранятся в специальном фиксированном формате.

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

Гиперсвязь. Содержит адреса Web-страниц.

Запросы

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

В Access существует четыре типа запросов для различных целей

Запросы на выборку отображают данные из одной или нескольких таблиц в виде таблицы.

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

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

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

Формы

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

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

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

Отчёты

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

Создаваемые Access отчеты делятся на шесть основных типов:

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

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

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

В основном отчёты проще всего построить при помощи Мастера отчётов. Мастер отчетов старается создать оптимальный вариант окончательного отчета с первой попытки. Обычно мастер в достаточной степени приближается к

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

studfiles.net

Функция IIf - Access

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

Возвращает одну из двух частей в зависимости от оценки выражение.

Вы можете использовать функцию IIf везде, где можно использовать выражения. IIf используется для определения, является ли другое выражение истиной или ложью. Если выражение истинно, IIf возвращает одно значение; если оно ложно, IIf возвращает другое значение. Значения, возвращаемые IIf, устанавливаете вы.

Некоторые примеры

Синтаксис

IIf ( выражение , если_истина , если_ложь )

Функция IIf имеет аргументы, указанные ниже.

Аргумент

Описание

выражение

Обязательный аргумент. Выражение, которое требуется оценить.

если_истина

Обязательный аргумент. Значение или выражение, возвращаемое, если значение аргумента выражение является истинным.

если_ложь

Обязательный аргумент. Значение или выражение, возвращаемое, если значение аргумента выражение является ложным.

Замечания

IIf всегда оценивает обе части если_истина и если_ложь, хотя и возвращает только одну из частей. Обратите на это внимание, чтобы избежать нежелательных последствий. Например, если при оценивании части если_ложь приходится делить на ноль, возникает ошибка, даже если выражение является истинным.

Примеры

Использование IIf в форме или отчете    Предположим, что у вас есть таблица клиентов, который содержит поле с именем Страна или регион. В форме нужно указывают, является ли итальянский язык первый контакт. Можно добавить элемент управления и использование функции IIf в свойстве Control Source следующим образом:

=IIf([Страна или регион]="Италия", "Итальянский", "Другой язык")

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

Использование IIf в сложных выражениях    Любое выражение можно использовать как любой части инструкцию IIf . Можно также «вложить» IIf выражения, позволяя вычисления ряда зависимых выражения. Чтобы продолжить работу в предыдущем примере, может потребоваться для нескольких различных значений Страна или регион, а затем отобразите нужный язык в зависимости от того, что существует значение:

=IIf([Страна или регион]="Италия", "Итальянский", IIf([Страна или регион]="Франция", "Французский", IIf([Страна или регион]="Германия", "Немецкий", "Другой язык")))

Текст "Другой язык" является аргументом если_ложь внутренней функции IIf. Поскольку каждая вложенная функция IIf является аргументом если_ложь функции IIf, которая ее содержит, текст "Другой язык" возвращается только в случае, если все аргументы выражение всех функций IIf оцениваются как ложные.

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

=IIf([Срок]<Date(),"ПРОСРОЧЕНО",IIf([Срок]=Date(),"Срок истекает сегодня","Срок еще не истек"))

Когда вы открываете форму в режиме формы, элемент управления отображает "ПРОСРОЧЕНО", если значение "Срок" меньше, чем текущая дата, "Срок истекает сегодня", если оно равно текущей дате, или "Срок еще не истек" в другом случае.

Примечание: Чтобы использовать логические операторы, такие как «И» или «Или» в аргументе выражение функцию IIf , необходимо заключить логическое выражение в функция Eval . Пример таблицы, следующий за см.

Использование функции IIf в запросе   

Создавать вычисляемые поля в запросах часто используется функция IIf . Синтаксис не изменяется, за исключением в запросе, необходимо введите перед выражением псевдоним поля и двоеточие (:) вместо знак равенства (=). Чтобы использовать в предыдущем примере, необходимо ввести в строку поле бланка запроса следующее:

Язык: IIf([Страна или регион]="Италия", "Итальянский", "Другой язык")

В этом случае "Язык:" — это псевдоним поля.

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

Использование функции IIf в коде VBA   

Примечание: В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (VBA). Чтобы получить дополнительные сведения о работе с VBA, выберите Справочник разработчика в раскрывающемся списке рядом с полем Поиск и введите одно или несколько слов в поле поиска.

В этом примере функция IIf используется для оценки параметра TestMe процедуры CheckIt и возвращает слово "Large", если объем больше 1000; в ином случае она возвращает слово "Small".

Function CheckIt (TestMe As Integer)CheckIt = IIf(TestMe > 1000, "Large", "Small")End Function

Другие примеры

Выражение

Результаты

=IIf([КодАэропорта]="ORD","Чикаго",IIf([КодАэропорта]="ATL","Атланта",IIf([КодАэропорта]="SEA","Сиэтл","Другой")))

Если значение [КодАэропорта] — "ORD", возвращается "Чикаго". Если значение [КодАэропорта] — "ATL", возвращается "Атланта". Если значение [КодАэропорта] — "SEA", возвращается "Сиэтл". В противном случае возвращается "Другое".

=IIf([ДатаДоставки]<Date(),"Доставлено",IIf([ДатаДоставки]=Date(),"Доставка сегодня","Не отправлено"))

Если [ДатаДоставки] раньше сегодняшней даты, возвращается "Доставлено". Если [ДатаДоставки] равна сегодняшней дате, возвращается "Доставка сегодня". В противном случае возвращается "Не отправлено".

=IIf([ДатаПокупки]<#1/1/2008#,"Старая","Новая")

Если [ДатаПокупки] раньше 1/1/2008, возвращается "Старая". В противном случае возвращается "Новая".

=IIf(Eval([Вольт] Between 12 And 15 And [Ампер] Between 0.25 And 0.3),"ОК","Неоткалибровано")

Если значение [Вольт] между 12 и 15 и [Ампер] между 0,25 и 0,3, возвращается "OK". В противном случае возвращается "Неоткалибровано".

=IIf(Eval([Страна или регион] In ("Канада","США","Мексика")),"Северная Америка","Другое")

Если [Страна или регион] — "Канада", "США" или "Мексика", возвращается "Северная Америка". В противном случае возвращается "Другое".

=IIf([Среднее]>=90,"A",IIf([Среднее]>=80,"B",IIf([Среднее]>=70,"C",IIf([Среднее]>=60,"D","F"))))

Если [Среднее] — 90 или больше, возвращается "A". Если [Среднее] — 80 или больше, возвращается "B". Если [Среднее] — 70 или больше, возвращается "C". Если [Среднее] — 60 или больше, возвращается "D". В противном случае возвращается "F".

Примечание: Если вы используете функцию IIf для создания вычисляемого поля в запросе, замените знак равенства (=) псевдоним поля и двоеточие (:). Например Состояние: IIf ([ShipDate] < Дата (), «Отгруженные», IIf ([ShipDate] = (дата), «Доставки сегодня», «Unshipped»))

support.office.com

Основные встроенные функции Access

При создании вычисляемых полей могут использоваться большой набор встроенных функций Access. Чаще всего используются функции для преобразования дат и форматирования результатов вычислений(Таблица 59).

Таблица 59- Часто используемые встроенные функции Access

Выделить из даты d1:

год

месяц

№ дня

Year(d1)

Month(d1)

Day(d1)

Текущая дата

Date()

Текущее время

Time()

Вычислить разницу между датами (d2-d1) в заданных единицах

DateDiff(“единица”;d1; d2)

Значение единицы

год

месяц

день

час

минута

секунда

единица

YYYY

m

d

h

n

s

Отформатировать строку по шаблону

Format(выражение;"шаблон")

В шаблоне могут использоваться обыкновенные и специальные символы(Таблица 60). Если специальный символ нужно использовать как обыкновенный, то он заключается в двое двойных кавычек, например (””Y””)

Таблица 60 - Специальные символы для описания шаблона командыFormat

Тип форматируемых данных

Символ

Назначение символа

Дата

/

Разделитель компонентов даты.

d

Номер дня месяца, состоящий из 1 или 2 цифр (1-31).

y

Номер дня в году (1-366).

dddd

Полное название дня недели (понедельник-воскресенье).

w

Номер дня недели (1-7).

ww

Номер недели в году (1-53).

m

Номер месяца, состоящий из 1 или 2 цифр (1-12).

mmmm

Полное название месяца (Январь-Декабрь).

yyyy

Полный номер года (0100-9999).

Время

:

(двоеточие) Разделитель компонентов времени.

h

Число часов, состоящее из 1 или 2 цифр (0-23).

n

Число минут, состоящее из 1 или 2 цифр (0-59).

s

Число секунд, состоящее из 1 или 2 цифр (0-59).

Тексты

!

Количество символов в строке вычисляется слева а не справа

<

Преобразует все символы к верхнему регистру

>

Преобразует все символы к нижнему регистру

&

Любой символ или ничего

@

Любой символ или пробел

Числа

0

Цифра или ноль

#

Цифра или пробел

,

Разделитель целой и дробной части

Таблица 61 – Примеры использования функции Format(выражение;"шаблон")

Вид выражения

Исходное значение выражения

Шаблон для форматирования

Результат

текстовое

мария

>

МАРИЯ

1234567

&&&-&&&&&

12-34567

1234567

!&&&-&&&&&

123-4567

Числовое

123,56

#.000

123,560

55,123

#,##"руб"

55,12руб

даты

1/5/2001

d ”-“ mmmm“-“yyyy

1-мая-2001

21/11/2008

m”-“ mmmm“-“yyyy“г. “ dddd

21-ноября-2008г. пятница

время

12:30:01

h:n:s

12:30:1

12:30:21

h часов n минут

12 часов 30 минут

      1. Использование групповых операций в запросах

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

• Sum — сумма значений некоторого поля для группы,

• Avg — среднее от всех значений поля в группе,

• Max, Min — максимальное, минимальное значение поля в группе,

• Count — число значений поля в группе без учета пустых значений,

• StDev — среднеквадратичное отклонение от среднего значения поля в группе,

• Var — дисперсия значений поля в группе,

• First и Last — значение поля из первой или последней записи в группе.

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

studfiles.net

Функция Nz - Access

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

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

Синтаксис

Nz ( переменная [, новое_значение ] )

Функция Nz имеет аргументы, указанные ниже.

Аргумент

Описание

переменная

Обязательный аргумент с тип данных Variant.

значение_если_null

Необязательный аргумент (если он используется не в запросе) типа Variant. Указывает значение, которое будет возвращено, если аргумент Переменная имеет значение Null. Этот аргумент позволяет вернуть значение, отличное от нуля или пустой строки.

Примечание: Если функция Nz используется в выражении запроса без аргумента Значение_если_null , в результате выполнения этой функции для полей, содержащих пустые значения, будет возвращена пустая строка.

Если значение аргумента переменная равно Null, функция Nz возвращает нуль или пустую строку в зависимости от того, является ли значение (согласно контексту) числом или строкой. Она всегда возвращает пустую строку при использовании в выражении запроса. Если указан необязательный аргумент значение_если_null, то функция Nz возвращает значение, заданное в нем, если аргумент переменная имеет значение Null. При использовании в выражении запроса функция NZ должна всегда включать аргумент значение_если_null.

Если значение аргумента переменная не Null, то функция Nz возвращает значение переменная.

Примечания

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

Например, выражение 2 + varX всегда будет возвращать значение Null, если аргумент переменная varX равен Null. Тем не менее 2 + Nz(varX) возвращает значение 2.

Функцию Nz часто можно использовать в качестве альтернативы функции IIf. Например, в следующем коде для получения требуемого результата нужны два выражения, содержащие функции IIf. Первое выражение с функцией IIf используется для проверки значения переменной и преобразования его в нуль, если оно равно Null.

varTemp = IIf(IsNull(varFreight), 0, varFreight)varResult = IIf(varTemp > 50, "High", "Low")

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

varResult = IIf(Nz(varFreight) > 50, "High", "Low")

Если задать значение для необязательного аргумента значение_если_null, оно будет возвращаться, когда вариант равняется Null. Благодаря включению этого необязательного аргумента можно не использовать выражение, содержащее функцию IIf. Например, следующее выражение использует функцию IIf для возврата строки, если значение varFreight равно Null.

varResult = IIf(IsNull(varFreight), _"No Freight Charge", varFreight)

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

varResult = Nz(varFreight, "No Freight Charge")

Пример

Примечание: В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (VBA). Чтобы получить дополнительные сведения о работе с VBA, выберите Справочник разработчика в раскрывающемся списке рядом с полем Поиск и введите одно или несколько слов в поле поиска.

В следующем примере оценивается элемент управления в форме и на основе его значения возвращается одна из двух строк. Если значение элемента управления равно Null, процедура использует функцию Nz для преобразования значения Null в пустую строку.

Public Sub CheckValue()Dim frm As FormDim ctl As ControlDim varResult As Variant' Return Form object variable ' pointing to Orders form.Set frm = Forms!Orders' Return Control object variable ' pointing to ShipRegion.Set ctl = frm!ShipRegion' Choose result based on value of control.varResult = IIf(Nz(ctl.Value) = vbNullString, _"No value.", "Value is " & ctl.Value & ".")' Display result.MsgBox varResult, vbExclamationEnd Sub

support.office.com

Функция Format - Access

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

Возвращает значение типа Variant (String), которое содержит выражение, отформатированное в соответствии с указаниями, содержащимися в выражении формата.

Некоторые примеры

Синтаксис

Format( выражение [, формат ] [, первый_день_недели ] [, первая_неделя_года ] )

Функция Format имеет следующие аргументы:

Аргумент

Описание

выражение

Обязательный аргумент. Любое допустимое выражение.

формат

Необязательный аргумент. Допустимое именованное или определяемое пользователем выражение формата.

первый_день_недели

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

первая_неделя_года

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

Параметры

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

Аргумент первый_день_недели может принимать следующие значения:

Константа

Значение

Описание

vbUseSystem

0

Используются параметры API NLS.

VbSunday

1

Воскресенье (по умолчанию)

vbMonday

2

Понедельник

vbTuesday

3

Вторник

vbWednesday

4

Среда

vbThursday

5

Четверг

vbFriday

6

Пятница

vbSaturday

7

Суббота

Аргумент первая_неделя_года может принимать следующие значения:

Константа

Значение

Описание

vbUseSystem

0

Используются параметры API NLS.

vbFirstJan1

1

Начинается с недели, на которую приходится 1 января (по умолчанию).

vbFirstFourDays

2

Первой неделей считается та, которая содержит хотя бы четыре дня нового года.

vbFirstFullWeek

3

Первой неделей считается первая полная неделя года.

Замечания

Чтобы отформатировать

Сделайте следующее

Числа

Используйте стандартные именованные числовые форматы или создайте пользовательские числовые форматы.

Значения даты и времени

Используйте стандартные именованные форматы даты и времени или создайте пользовательские форматы даты и времени.

Серийные номера даты и времени

Используйте форматы даты и времени или числовые форматы.

Строки

Создайте пользовательские форматы строк.

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

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

Примечание: Если для свойства Calendar задано значение Gregorian, а для аргумента формат указано форматирование даты, предоставленное выражение должно иметь тип Gregorian. Если для свойства Calendar в Visual Basic задано значение Hijri, выражение должно иметь тип Hijri.

Если используется григорианский календарь, значение символов выражения формат не изменяется. Если используется календарь Хиджра, все символы формата даты (например, dddd, mmmm, yyyy) имеют то же значение, но применяются к календарю Хиджра. Символы формата остаются английскими; символы, отображаемые в текстовом виде (например, AM и PM), выводят строку (на английском или арабском языке), связанную с этим символом. Диапазон некоторых символов при использовании календаря Хиджра изменяется.

Символ

Диапазон

d

1–30

dd

1–30

ww

1–51

mmm

Отображает полное название месяца (у названий месяцев Хиджра нет сокращений).

y

1–355

yyyy

100–9666

Примеры

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

Format([Дата],"ww")=Format(Now(),"ww")-1

В этом примере в источнике записей отчета есть поле "Дата", содержащее дату изменения каждой конкретной записи и использующееся в отчете. Во время выполнения отчета результаты фильтруются и отображаются только те записи, в которых значение недели в поле "Дата" (Format([Дата],"ww")) равно прошлой неделе (Format(Now(),"ww")-1).

Использование функции Format в коде VBA    

Примечание: В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (VBA). Чтобы получить дополнительные сведения о работе с VBA, выберите Справочник разработчика в раскрывающемся списке рядом с полем Поиск и введите одно или несколько слов в поле поиска.

В данном примере показаны различные варианты использования функции Format для форматирования значений с помощью предварительно заданных форматов и форматов, определенных пользователем. Для разделителя даты (/), разделителя времени (:) и литералов AM/ PM фактические отформатированные выходные данные, отображаемые системой, зависят от ее региональных параметров. В среде разработки для отображения времени и даты используется краткий формат времени и даты, заданный в региональных параметрах программы. При отображении в работающей программе применяется краткий формат даты и времени из региональных параметров системы, который может отличаться от региональных параметров программы. В этом примере используется локаль "Английский (США)".

MyTime и MyDate отображаются в среде разработки с использованием текущих системных параметров для краткого формата времени и даты.

Dim MyTime, MyDate, MyStrMyTime = #17:04:23#MyDate = #January 27, 1993#' Returns current system time in the system-defined long time format.MyStr = Format(Time, "Long Time")' Returns current system date in the system-defined long date format.MyStr = Format(Date, "Long Date")MyStr = Format(MyTime, "h:m:s") ' Returns "17:4:23".MyStr = Format(MyTime, "hh:mm:ss AMPM") ' Returns "05:04:23 PM".MyStr = Format(MyDate, "dddd, mmm d yyyy") ' Returns "Wednesday,' Jan 27 1993".' If format is not supplied, a string is returned.MyStr = Format(23) ' Returns "23".' User-defined formats.MyStr = Format(5459.4, "##,##0.00") ' Returns "5,459.40".MyStr = Format(334.9, "###0.00") ' Returns "334.90".MyStr = Format(5, "0.00%") ' Returns "500.00%".MyStr = Format("HELLO", "<") ' Returns "hello".MyStr = Format("This is it", ">") ' Returns "THIS IS IT".

Использование функции Format с пустыми строками

В Microsoft Access версии 2.0 и предыдущих версиях можно использовать функцию Format для возврата одного значения при передаче пустой строки и другого в случае наличия значения. Например, можно использовать выражение следующего формата с функцией Format для возврата соответствующего значения строки из кода:

Dim varX As VariantDim varStrX As Variant' Assign some value to varStrX and pass to Format function.varX = Format(varStrX, "@;ZLS;Null")

В Microsoft Access 97 и более поздних версиях необходимо отдельно проверить, не равно ли значение Null, а затем вернуть соответствующее значение с учетом результата. Например, можно использовать функцию IIf в выражении с функцией Format:

varX = IIf(IsNull(varStrX),"Null", Format(varStrX, "@;ZLS"))

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

При преобразовании базы данных из Microsoft Access 2.0 или более ранней версии в Microsoft Access 2002 или более поздней версии необходимо изменить текст программы так, чтобы проверка для случая Null выполнялась отдельно.

support.office.com

Таблица операторов - Access

Оператором называется знак или символ, указывающий на тип вычислений, которые выполняются в выражении. Существуют математические, логические операторы, а также операторы сравнения и ссылок. Access поддерживает различные операторы, включая арифметические операторы, такие как +, -, умножение (*) и деление (/), а также операторы для сравнения значений, текстовые операторы для сцепления текста и логические операторы для определения значений "Истина" и "Ложь". Эта статья содержит сведения об использовании таких операторов.

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

В этой статье

Арифметические операторы

Операторы сравнения

Логические операторы

Операторы объединения 

Специальные операторы

Арифметические операторы

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

Оператор

Назначение

Пример

+

Сложение двух чисел.

[ПромежуточныеИтоги] + [НалогСПродаж]

-

Вычисление разницы между двумя числами или вывод отрицательного значения числа.

[Цена]-[Скидка]

*

Перемножение двух чисел.

[Количество]*[Цена]

/

Деление первого числа на второе.

[Итого]/[КоличествоЕдиниц]

\

Округление обоих чисел до целых, деление первого числа на второе и усечение результата до целого.

[Зарегистрировано]\[Комнаты]

Mod

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

[Зарегистрировано] Mod [Комнаты]

^

Возведение числа в указанную степень.

Число ^ Степень

К началу страницы

Операторы сравнения

Операторы сравнения позволяют сравнивать значения. Они возвращают результат "Истина", "Ложь" или Null.

Оператор

Назначение

Пример

<

Возвращает значение "Истина", если первое значение меньше второго.

значение1 < значение2

<=

Возвращает значение "Истина", если первое значение не больше второго.

значение1 <= значение2

>

Возвращает значение "Истина", если первое значение больше второго.

значение1 > значение2

>=

Возвращает значение "Истина", если первое значение не меньше второго.

значение1 >= значение2

=

Возвращает значение "Истина", если первое значение равно второму.

значение1 = значение2

<>

Возвращает значение "Истина", если первое значение не равно второму.

значение1 <> значение2

Примечание: Если первое или второе значение в любом из случаев равно Null, результатом также является Null. Так как Null представляет собой неизвестное значение, результат сравнения со значением Null также неизвестен.

К началу страницы

Логические операторы

Используйте логические операторы для объединения двух логических значений и возврата результата "Истина", "Ложь" или Null. Логические операторы также называются булевыми.

Оператор

Назначение

Пример

And

Возвращает значение "Истина", если выражения 1 и 2 имеют значение "Истина".

Выраж1 And Выраж2

Or

Возвращает значение "Истина", если хотя бы одно из выражений 1 и 2 имеет значение "Истина".

Выраж1 Or Выраж2

Eqv

Возвращает значение "Истина", если оба выражения 1 и 2 имеют значение "Истина" или оба выражения 1 и 2 равны "Ложь".

Выраж1 Eqv Выраж2

Not

Возвращает "Истина", если выражение не имеет значения "Истина".

Not Выраж

Xor

Возвращает значение "Истина", если одно и только одно из выражений 1 и 2 имеет значение "Истина".

Выраж1 Xor Выраж2

К началу страницы

Операторы объединения

Операторы объединения позволяют объединить два текстовых значения в одно.

Оператор

Назначение

Пример

&

Объединение двух строк в одну.

строка1 & строка2

+

Объединение двух строк в одну и распространение значений Null (если одно из значений равно Null, все выражение дает Null).

строка1 + строка2

К началу страницы

Специальные операторы

Специальные операторы возвращают результат "Истина" или "Ложь", как описано в таблице ниже.

Оператор

Назначение

Пример

Is Null или Is Not Null

Определение того, равно ли значение Null или Not Null.

Поле1 Is Not Null

Like "шаблон"

Поиск строковых значений с помощью подстановочных операторов ? и *.

Поле1 Like "инструк*"

Between значение1 And значение2

Определение того, находится ли число или дата в пределах диапазона.

Поле1 Between 1 And 10- или -Поле1 Between #01.07.07# And #31.12.07#

In(значение1,значение2...)

Определение того, входит ли значение в множество.

Поле1 In ("красный","зеленый","синий")- или - Поле1 In (1,5,7,9)

support.office.com

Функция Abs - Access

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

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

Синтаксис

Abs ( номер )

Требуется номераргумент может быть любое допустимое числовое выражение. Если число равно Null, то возвращается значение Null ; Если это неинициализированные переменная, то возвращается ноль.

Замечания

Абсолютное значение числа будет его беззнаковое значение. Например ABS(-1) и ABS(1) возвращают 1.

Пример

Примечание: В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (VBA). Чтобы получить дополнительные сведения о работе с VBA, выберите Справочник разработчика в раскрывающемся списке рядом с полем Поиск и введите одно или несколько слов в поле поиска.

В этом примере используется функция Abs для вычисления абсолютное значение числа.

Dim MyNumberMyNumber = Abs(50.3) ' Returns 50.3.MyNumber = Abs(-50.3) ' Returns 50.3.

support.office.com