Работа с построителем выражений — Служба поддержки Майкрософт
Иногда создание выражения может казаться непростой задачей. Но построитель выражений делает ее намного проще. Выражения содержат множество компонентов или «перемещаемых частей»: функции, операторы, константы, идентификаторы и значения. С помощью построителя выражений можно быстро находить эти компоненты и правильно их вставлять. Есть два варианта использования построителя выражений: применение поля построителя выражений (этого может оказаться достаточно) или применение расширенного построителя выражений для более сложных выражений.
В этой статье
-
Начнем с начала — как его найти?
-
Проверьте возможность в действии
-
Использование поля построителя выражений
-
Использование расширенного построителя выражений
-
Пошаговый пример
Начнем с начала — как его найти?
Хотя построитель выражений доступен в разных местах приложения Access, наиболее верным способом его отображения является переход к окну свойств, содержащему выражение, например Данные или Значение по умолчанию и щелкните Построитель выражений или нажмите клавиши CTRL+F2.
В макросе щелкните значок .
Совет Если в меню есть слово выражение, можно щелкнуть его, чтобы открыть построитель выражений.
Проверьте возможность в действии
В следующем видео показано, как с помощью построителя выражений создать общее выражение для вычисляемого поля.Использование поля построителя выражений
Поле построителя выражений позволяет быстро и правильно создавать выражения с помощью интеллектуальных инструментов и контекстной информации. Если доступен расширенный построитель выражений, нажмите кнопку Меньше >>, чтобы отобразить только поле построителя выражений.
Технология IntelliSense и советы
1 IntelliSense (Access 2010 или более поздняя версия) отображает возможные функции и другие идентификаторы по мере ввода выражения.
По мере ввода идентификатора или имени функции IntelliSense отображает раскрывающийся список возможных значений. Вы можете продолжать ввод или дважды щелкнуть правильное значение в списке, чтобы добавить его в выражение. Кроме того, можно использовать клавиши со стрелками вверх и вниз, чтобы выбрать нужное значение, а затем нажать клавишу TAB или ВВОД, чтобы добавить его в выражение. Например, если вы начнете вводить слово «Формат», в списке IntelliSense появятся все функции, имена которых начинаются со строки «Формат».
Совет Чтобы скрыть раскрывающийся список IntelliSense, нажмите клавишу ESC. Чтобы снова отобразить его, нажмите клавиши CTRL+ПРОБЕЛ.
2 Совет — это краткое описание выбранного элемента.
Когда отображается список IntelliSense, справа от выделенного элемента появляется краткое описание, или совет. По умолчанию выбран первый элемент в списке, но можно выбрать любой другой элемент, чтобы просмотреть совет для него.
Совет поможет вам определить назначение функции или понять, к какому типу элемента управления или свойства относится выбранный элемент.Краткие сведения и справка
1 Используйте краткие сведения для отображения синтаксиса функции и щелкните имя функции, чтобы открыть посвященный ей раздел справки.
По мере ввода функции в выражении отображаются краткие сведения о ней, а именно — ее синтаксис. Таким образом, вы точно знаете, какие аргументы необходимы для функции.
2 Необязательные аргументы заключены в квадратные скобки ([]). Аргумент, который вы вводите в данный момент, отображается полужирным шрифтом. Не путайте квадратные скобки, указывающие на необязательность аргумента, с квадратными скобками, в которые заключаются идентификаторы в фактическом выражении.
К началу страницы
Использование расширенного построителя выражений
Расширенный построитель выражений позволяет легко находить и вставлять функции, операторы, константы и идентификаторы (имена полей, таблиц, форм и запросов), экономя время и уменьшая число ошибок. Если отображается только поле построителя выражений, нажмите кнопку Больше >>, чтобы увидеть расширенный построитель выражений.
1 Используйте инструкции и ссылку на справку, чтобы получить сведения о контексте, в котором вы вводите выражение.
2 В поле построителя выражений введите выражение или автоматически добавьте его элементы, дважды щелкнув нужные пункты в списках ниже. Эти списки представляют собой иерархию, позволяющую перейти к нужному компоненту выражения.
3 В списке Элементы выражений выберите тип элемента, чтобы просмотреть его категории в списке Категории выражений.
Список Элементы выражений содержит элементы верхнего уровня, которые можно использовать при составлении выражения, в том числе объекты базы данных, функции, константы, операторы и общие выражения. Содержимое этого списка зависит от текущего контекста. Например, если вы вводите выражение в свойстве Данные формы, в списке содержатся не те элементы, которые присутствуют при вводе выражения в свойстве Правило проверки для таблицы.
Совет Чтобы использовать готовые выражения, в том числе для отображения номеров страниц, текущей даты, а также текущей даты и времени, выберите пункт
4 В списке Категории выражений выберите категорию, чтобы просмотреть ее значения в списке Значения выражений. Если в списке Значения выражения нет значений, дважды щелкните элемент категории, чтобы добавить его в поле построителя выражений.
Список Категории выражений содержит определенные элементы или категории элементов, соответствующие вашему выбору в списке Элементы выражений. Например, если в списке Элементы выражений выбран пункт Встроенные функции, в списке Категории выражений отображаются категории функций.
5 В списке Значения выражений дважды щелкните значение, чтобы добавить его в поле построителя выражений.
Список Значения выражений содержит значения (если они существуют) для выбранных элементов и категорий. Например, если в списке Элементы выражений выбран пункт Встроенные функции, а в списке Категории выражений — одна из категорий функций, в списке Значения выражений отображаются все встроенные функции из выбранной категории.
6 Чтобы просмотреть справку и сведения о выбранном значении выражения, щелкните ссылку (если она отображается).
К началу страницы
Пошаговый пример
В следующем примере показано, как создать выражение, используя элементы выражений, категории и значения в расширенном построителе выражений.
-
Щелкните элементы в списке Элементы выражений, например Функции, и выберите Встроенные функции.
-
Щелкните категорию в списке Категории выражений, например Управление.
-
Дважды щелкните элемент в списке Значения выражений, например IIf, чтобы добавить его в поле построителя выражений:
IIf (<<expression>>, <<truepart>>, <<falsepart>>)
Замещающий текст заключен в угловые скобки (<< >>).
-
Замените замещающий текст действительными значениями аргументов. Можно ввести значения вручную или продолжить выбор элементов в трех списках.
-
Чтобы просмотреть раздел справки, содержащий дополнительные сведения о допустимых аргументах для функции, выберите ее в списке Значения выражений, а затем щелкните ссылку в нижней части построителя выражений.
-
Если выражение содержит другие элементы, они могут быть разделены следующим заполнителем:
<<Expr>>
К началу страницы
Построитель выражений
66 | Работа в Microsoft Access |
ка») имеет значение «студент», если в поле Пол содержится буква «м», и значение «студентка» — в противном случае.
•Nz(выражение[; представление]) — возвращает 0 (нуль), пустую строку («») или другое указанное в аргументе <представление> значение, если <выражение> имеет значение Null. Например, Nz(([Стипендия]! [Сентябрь];»нет») возвращает значение стипендии студента за сентябрь, если он в сентябре получал стипендию, или слово «нет» в противном случае.
Аргумент <представление> необязателен. Если он отсутствует, то функция Nz возвращает нуль или пустую строку в зависимости от контекста, требующего числовое или текстовое значение.
4.4. Построитель выражений
выражение, а затем по кнопке Построить на панели инструментов или по кнопке , обычно появляющейся справа от ячейки ввода. На экране появится окно Построитель выражений (см. рис. 4.1), содержащее четыре поля.
В верхнем поле располагается создаваемое выражение, а три нижних используются для выбора нужных элементов. Для выбора любого элемента в этих полях нужно сделать двойной щелчок по соответствующему имени.
Левое поле отображает иерархию папок, содержащих основные типы компонентов выражений. После выбора элемента (папки) из левого поля в среднем поле будет выведен либо список его элементов (поля таблицы или запроса), либо список подтипов (элементы управления формы, категории функций и т.п.). При выборе подтипа в правом поле появится список его элементов (поля, функции, свойства элементов управления).
Чтобы ввести в формируемое выражение ссылку на имя поля таблицы или запроса, нужно выбрать в левом поле таблицу или запрос, а затем в среднем поле нужное поле.
Глава 4.Выражения в Access | 67 |
Для ввода функции следует выбрать в левом поле папку Функции, а затем Встроенные функции. В среднем поле нужно выбрать категорию или вариант <Все>, а затем, прокрутив список в правом поле, — нужную функцию.
Для ввода оператора ( +, >, And и др.) щелкните по соответствующей кнопке в окне построителя. Если требуемого оператора на кнопках нет, следует открыть в левом поле папку Операторы. Затем в среднем поле выбрать категорию или вариант <Все>, а в правом поле — нужный оператор.
Рис. 4.1. Окно Построитель выражений
Access часто вставляет в создаваемое выражение вместе с выбранным элементом один или несколько прототипов, заключенных в кавычки («выражение», «number» и т.п). В этом случае нужно либо ввести вместо прототипа соответствующее значение, либо выделить прототип и заменить его элементом из правого списка, либо просто удалить его.
Для вставки элемента в выражение можно использовать кнопку Вставить. Чтобы отменить ошибочный ввод, нужно щелкнуть по кнопке Назад. Создание выражения завершается нажатием кнопки ОК.
68 | Работа в Microsoft Access |
Пример 4. 1. Нужно создать выражение, которое подсчитывает суммарную стипендию, полученную каждым студентом за сентябрь и октябрь. Информация о стипендии содержится в таблице Стипендия. Само выражение имеет следующий вид:
[Стипендия]![Сентябрь] + [Стипендия]![Октябрь]1
Его можно ввести вручную, но лучше воспользоваться построителем выражений. После вызова построителя нужно выбрать в левом поле папку Таблицы, а затем — Стипендия. После щелчка по этой папке в среднем поле появится список полей таблицы Стипендия. Теперь нужно последовательно вставить в создаваемое выражение следующие элементы: поле Сентябрь, знак «+» и поле Октябрь, а затем щелкнуть по кнопке ОК.
1 Это выражение не будет давать правильный результат в ситуации, когда студент в одном из месяцев не получал стипендию. Поэтому более корректная форма его записи должна иметь следующий вид:
Nz([Стипендия]![Сентябрь]) + Nz([Стипендия]![Октябрь])
Следует отметить, что функция Nz, заменяющая пустые значения нулевыми, отсутствует в списке функций построителя выражений Access 97 и ее нужно вводить вручную.
vba — использование пользовательских функций в построителе выражений
спросил
Изменено 4 года, 6 месяцев назад
Просмотрено 1к раз
Я добавил функцию для получения имени пользователя Active Directory для базы данных Access с использованием VBA, но я не уверен, почему я не вижу свою функцию в списке Expression Builder
Я определил функции, как в этом вопросе, но я не вижу функцию в построителе выражений. Я планирую использовать эту функцию для заполнения невидимого txtBox в моей форме и входа в базу данных.
Публичная функция GetUser (необязательно whatpart = "имя пользователя") Dim returnthis как строка Если whatpart = "имя пользователя", то GetUser = Environ("ИМЯ ПОЛЬЗОВАТЕЛЯ"): выход из функции Установить objSysInfo = CreateObject("ADSystemInfo") Установите objUser = GetObject("LDAP://" & objSysInfo. ИМЯ ПОЛЬЗОВАТЕЛЯ) Выберите Case whatpart Случай "полное имя": returnthis = objUser.FullName Регистр "имя", "имя": returnthis = objUser.givenName Случай "фамилия": returnthis = objUser.LastName Другой случай: returnthis = Environ("ИМЯ ПОЛЬЗОВАТЕЛЯ") Конец выбора GetUser = вернуть это Конечная функция
- vba
- ms-access
- ms-access-2010
- expressionbuilder
2
Я думаю, вы спрашиваете, как сделать так, чтобы пользовательские функции отображались в построителе выражений? (и, следовательно, не связан с Active Directory или логинами).
Это скорее всего простой случай либо :
— вы не сохранили модуль после вставки функций, или ,
— функции не находятся в публичном модуле.
Чтобы убедиться, что они сохранены:
1. Полностью закрыть доступ ( все открытые базы данных), , а затем
2. Снова открыть базу данных, и
3. Откройте свой модуль (из раздела «Модули» на панели навигации:
… и подтвердите наличие своего кода.
Затем снова попробуйте построитель выражений.
Если модуль не отображается в Modules
, то ваш код не находится в общедоступном модуле.
Обратите внимание, что вам не нужно — использовать построитель выражений. На самом деле я никогда не использовал его, но я только что попробовал, и как только модуль с моими функциями был сохранен, они появились в разделе:
Функции
→ Имя моей базы данных
→ Имя моего модуля
.
На этом снимке экрана показано, как моя функция не была указана в построителе выражений, пока я ее не сохранил, а затем как я нашел ее в построителе:
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Требуется, но никогда не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Знакомство с интерфейсом Expression Builder — Access 2019: Видеоруководство по запросам
Из курса: Access 2019: Запросы
Изучите интерфейс построителя выражений
“
— [Инструктор] Написание различных функций и выражений может быстро усложниться. Особенно, когда вы используете несколько таблиц и запросов в своей базе данных. К счастью, Access предоставляет инструмент, помогающий нам создавать выражения. Давайте продолжим и посмотрим на Customer-LookupQuery, который мы создали в предыдущей главе, и мы продолжим и откроем его прямо в представлении «Дизайн». Теперь инструмент, на который я хочу взглянуть, называется The Expression Builder, и вы можете активировать его различными способами. Во-первых, нам нужно найти, где мы хотим, чтобы выражение возникло. Вы можете вызывать построитель выражений во множестве различных мест внутри Access. Например, если я щелкну правой кнопкой мыши пустое поле здесь справа от столбца StateName. Вы увидите, что я могу добраться до Строителя таким образом. Я также могу использовать Expression Builder в Criteria’s. Например, если я щелкну в строке критериев, вы увидите, что я могу попасть туда. Есть еще одно место, где вы можете получить доступ к Expression Builder, и это здесь, на ленте. Вы увидите, что у вас есть значок Builder с кнопкой Builder. Итак, для чего нужен построитель выражений? Что ж, давайте продолжим и воспользуемся построителем выражений, чтобы воссоздать критерии, которые мы установили в предыдущей главе и которые связаны с формой, называемой здесь Customer-LookupForm, а именно с полем со списком в этой форме, называемым cboStateLookup. Я собираюсь выделить это здесь, в разделе StateName Criteria, и просто нажмите Backspace на клавиатуре, чтобы избавиться от него. Затем я собираюсь щелкнуть правой кнопкой мыши в этой ячейке и перейти к Build. И это запустит Expression Builder. Теперь, как я уже сказал, вы можете получить доступ к Expression Builder из множества разных мест внутри Access, но он всегда работает одинаково. Наверху у нас есть этот раздел, который называется «Область выражения», и именно здесь мы собираемся ввести нашу формулу или нашу функцию. Внизу у нас есть три разных окна, и они будут расширяться, когда мы начнем делать выбор. Первый — это Expression Elements, и здесь у нас есть несколько разных папок. Первый здесь называется «Функции», и если я открою его, вы увидите, что у нас есть несколько встроенных функций. У меня будут некоторые функции, связанные с этой базой данных, если мы создали собственные, например, внутри Visual Basic. И тогда у меня также есть доступ к некоторым веб-сервисам. Если вы зайдете в папку «Встроенные функции», категории выражений заполнятся. Теперь, если вы когда-либо использовали Excel, вы можете быть знакомы с библиотекой функций, и это, по сути, то же самое здесь, внутри Access. У нас есть много разных категорий различных функций. Например, у нас есть функции массива или функции преобразования. У нас есть функции даты и времени и так далее. Когда вы щелкаете по этим различным категориям, вы увидите, что здесь справа появляются разные значения выражений. И если вы нажмете на любой из них, вы увидите некоторые подробности о том, что делает эта конкретная функция. Например, функция даты, которую я выбрал сейчас, возвращает вариант типа Date, содержащий текущую системную дату. По сути, это просто простой способ получить текущую дату вашего компьютера. Итак, это некоторые из встроенных функций, давайте вернемся сюда, скроем папку «Функции» и взглянем на ту, что внизу. Прямо сейчас он говорит, H+ Sport — Expression Builder, это имя базы данных, с которой я сейчас работаю. Если я разверну это, вы увидите, что у нас есть наборы различных таблиц, запросов, форм и отчетов. Это все разные объекты внутри моей базы данных. Если я разверну коллекцию таблиц, мы увидим все имеющиеся у нас таблицы. Я могу свернуть это и просмотреть все запросы, которые у нас есть в базе данных, а также все формы или отчеты. Теперь внутри разделов «Формы» и «Отчеты» у нас фактически есть две группы. Один для загруженных форм, и он будет заполняться любыми формами, которые у нас были открыты в данный момент. В моей базе данных сейчас нет открытых форм, поэтому я ничего здесь не вижу. Но если я нажму «Все формы» и разверну это окно, мы увидим три разные формы, которые у нас есть здесь, в области навигации внизу. Итак, давайте продолжим и повторно заполним критерии здесь, в нашем исходном запросе. И если вы помните, эти критерии исходили из формы под названием Customer-LookupForm, которая стоит первой в списке. Когда я выбираю его, категории выражений расширяются, чтобы показать мне все различные объекты в этой форме. Помните, ранее я говорил, что все объекты в ваших базах данных Access имеют имена и значения, которые мы можем использовать. Это относится даже к таким вещам, как изображение, которое мы используем в качестве фона в этой форме, или логотип, который мы используем. Теперь не все из них будут полезны, но будет полезен cboStateLookup. Это имя поля со списком, из которого мы извлекаем информацию StateLookup. Если я дважды щелкну по нему, он появится здесь, в разделе «Выражение», и вы увидите, что он имеет тот же синтаксис, который мы ранее вводили вручную. В нем говорится, что нужно войти в группу Forms, найти форму с именем Customer-LookupForm, и в этой форме вы найдете раздел с именем cboStateLookup. Каким бы ни было значение этого поля со списком, оно будет заполнено критериями в нашем базовом запросе. Давайте продолжим и согласимся с этим, и это будет повторно заполнено здесь, в разделе критериев, точно так же, как мы ввели его вручную. Теперь я могу продолжить и сохранить запрос, и если я его запущу, я на самом деле получу запрос на ввод значения параметра, и это потому, что форма в данный момент не открыта. Давайте продолжим и отменим это. Я продолжу и закрою запрос. Теперь мы можем вернуться к форме поиска клиентов, чтобы убедиться, что все работает. Я буду использовать раскрывающееся меню, чтобы выбрать состояние, и я нажму кнопку «Выполнить запрос», чтобы открыть этот запрос. Я получаю два результата для штата Делавэр, так что похоже, что все еще работает. Итак, здесь мы используем построитель выражений, чтобы помочь создать критерии, вместо того, чтобы вводить их вручную. По мере накопления опыта в написании выражения, которое вы хотите использовать, вы можете обнаружить, что проще просто написать его вручную непосредственно в сетке проектирования, но для изучения правильного синтаксиса, устранения неполадок или изучения и обнаружения новых функций.