Выражения в Microsoft Access можно применять для решения широкого круга задач (например, для математических вычислений, объединения и извлечения текста или проверки данных). В этой статье приведены основные сведения о выражениях, в том числе инструкции по их использованию, сравнение с формулами Microsoft Excel, а также описание их компонентов.
В этом разделе…
-
Общие сведения о выражениях
-
Способы использования выражений
-
Примеры выражений
-
Компоненты выражений
-
Сравнение выражений Access и формул Excel
Общие сведения о выражениях
Это можно представить себе следующим образом: если вы хотите, чтобы приложение Access сделало что-то, вам нужно обратиться к нему на его языке. Предположим, что вы хотите попросить Access проверить поле BirthDate в таблице Customers и сообщить год рождения заказчика. Вы можете записать эту просьбу в виде такого выражения:
DatePart("yyyy",[Customers]![BirthDate])
Это выражение содержит функцию DatePart и два аргумента: «yyyy» и [Customers]![BirthDate].
Рассмотрим его более подробно.
1 DatePart — это функция, которая проверяет даты и возвращает определенный фрагмент. В этом случае используются первые два аргумента.
2 Аргумент интервала сообщает Access, какую часть даты нужно вернуть. В данном случае значение «yyyy» указывает на то, что требуется вернуть только год.
3 Аргумент даты говорит о том, где искать значение даты. В данном случае значение [Customers]![BirthDate] указывает, что дата находится в поле BirthDate таблицы Customers.
Способы использования выражений
С помощью выражений можно делать следующее:
-
Вычислять значения, которые отсутствуют в данных. Можно вычислять значения в полях таблиц и запросов и в элементах управления форм и отчетов.
-
Присваивать значения по умолчанию полям таблиц или элементам управления в формах и отчетах. Эти значения по умолчанию отображаются при каждом открытии таблицы, формы или отчета.
-
Создавать правила проверки, чтобы определять значения, которые пользователь может вводить в поле или элемент управления.
-
Определять условия запроса для ограничения результатов нужным подмножеством.
Вычисление значений
Один из наиболее распространенных способов использования выражений в Access — вычисление значений, которые присутствуют непосредственно в данных. Столбец в таблице или запросе, в котором сохраняются результаты таких вычислений, называется вычисляемым полем. Вы можете создать вычисляемое поле, в котором объединяются данные из двух или нескольких полей таблицы. Например, имена и фамилии часто хранятся в разных полях. Если вы хотите объединить имена и фамилии, а затем отобразить их в одном поле, можно создать вычисляемое поле в таблице или запросе:
[FirstName] & " " & [LastName].
Здесь амперсанд (&) используется для объединения значения в
поле FirstName, символа пробела (он заключен в кавычки) и значения в
поле LastName.
Определение значения по умолчанию
В Microsoft Access с помощью выражений можно установить значения по умолчанию для поля в таблице или элемента управления. Например, чтобы по умолчанию задать для поля даты текущую дату, в поле свойства DefaultValue (Значение по умолчанию) необходимо ввести такое выражение:
Date()
Создание правила проверки
Кроме того, выражения можно использовать для настройки правила проверки. Например, правило проверки можно использовать в элементе управления или поле таблицы, чтобы требовать ввода даты, которая не предшествует текущей. В этом случае в поле свойства ValidationRule (Правило проверки) нужно ввести выражение:
>= Date()
Определение условий запроса
Наконец, выражения можно использовать для определения условий запросов. Предположим, что необходимо получить данные о продажах для заказов, поставленных в определенный период времени. Можно ввести условия для определения диапазона данных, а Microsoft Access вернет только те строки, которые соответствуют им. Например, выражение может выглядеть следующим образом:
Between #1/1/2017# And #12/31/2017#
При добавлении условий в запрос и выполнении этого запроса возвращаются только те значения, которые соответствуют указанным датам.
Примеры выражений
В приведенной ниже таблице представлены некоторые примеры выражений Access и типичные способы их использования.
Выражение |
Назначение |
---|---|
=[RequiredDate]-[ShippedDate] |
Вычисляет разницу между значениями дат в двух текстовых полях (RequiredDate и ShippedDate) отчета. |
Date() |
Устанавливает текущую дату в качестве значения по умолчанию для поля даты и времени в таблице. |
Between #1/1/2017# And #12/31/2017# |
Определяет условия для поля даты и времени в запросе. |
=[Orders Subform].Form!OrderSubtotal |
Возвращает значение элемента управления OrderSubtotal подчиненной формы Orders в форме Orders. |
>0 |
Задает правило проверки для числового поля таблицы: пользователи должны вводить значения больше нуля. |
Одни выражения начинаются с оператора равенства (=), а другие — нет. При вычислении значения для элемента управления в форме или отчете в начале выражения указывается оператор =. В других случаях, например при вводе выражения в запрос или в свойство
DefaultValue либо ValidationRule поля или элемента управления
оператор = использовать не нужно, если только выражение не добавляется в текстовое поле таблицы. В некоторых случаях, например при добавлении выражений в запросы, Access автоматически удаляет оператор =.
Компоненты выражений
Выражение представляет собой набор компонентов, используемых по одному или в сочетании друг с другом, который дает определенный результат. Вот эти компоненты:
-
Идентификаторы — имена полей таблицы или элементов управления в форме или отчете либо свойства этих полей или элементов управления;
-
Операторы — например: + (плюс) или — (минус);
-
Функции — например: SUM или AVG;
-
Константы — постоянные значения, например текстовые строки или числа, не вычисляемые выражением;
-
Значения — строки, например «Введите число от 1 до 10», или числа, такие как 1254, которые используются в операциях.
Эти компоненты описаны более подробно в разделах ниже.
Идентификаторы
Идентификатор — это имя поля, свойства или элемента управления. Идентификаторы используются в выражении для ссылки на значение, связанное с полем, свойством или элементом управления. Например, рассмотрим выражение =[RequiredDate]-[ShippedDate]. В этом выражении значение поля или элемента управления ShippedDate вычитается из значения поля или элемента управления RequiredDate. В этом выражении как RequiredDate, так и
ShippedDate являются идентификаторами.
Операторы
Access поддерживает большое количество операторов, в том числе стандартные арифметические операторы, такие как +, —, * (умножение) и / (деление). Также можно использовать операторы сравнения, например
< (меньше) или > (больше), для сравнения значений; текстовые операторы, например
& и +, для сцепления (объединения) текста; логические операторы, например
Not и And, для определения значений True и False, а также специальные операторы Access.
Функции
Функции — это встроенные процедуры, которые можно использовать в выражениях. Функции можно применять для широкого ряда операций, например для вычисления значений, работы с текстом и датами, а также для подведения итогов. Например, одной из распространенных функций является DATE, которая возвращает текущую дату. Функцию DATE можно использовать различными способами (например, в выражении, которое задает значение по умолчанию для поля или таблицы). В данном примере при добавлении новой записи в качестве значения для поля по умолчанию устанавливается текущая дата.
Для некоторых функций требуются аргументы. Аргумент — это значение, которое передает функции входные параметры. Если функции требуется несколько аргументов, они разделяются точкой с запятой. Например, рассмотрим функцию DATE в следующем примере выражения:
=Format(Date(),"mmmm d, yyyy")
В этом примере используются два аргумента:
-
Первый аргумент — функция Date(), которая возвращает текущую дату. Даже если аргументов нет, после имени функции необходимо ввести скобки.
-
Второй аргумент — «mmmm d, yyyy». Он отделен от первого аргумента точкой с запятой и задает текстовую строку, чтобы указать функции FORMAT, как отформатировать возвращаемое значение даты. Обратите внимание: текстовую строку необходимо заключить в кавычки.
Это пример также иллюстрирует вложение функций: результат, возвращенный одной функцией, часто служит аргументом другой функции. В этом случае
Date() выступает в качестве аргумента.
Константы
Константа — это элемент, значение которого не изменяется во время работы Access. В выражениях часто используются константы True, False и Null.
Значения
В выражениях можно использовать литералы (например, число 1254 или строку «Введите число от 1 до 10»). Вы также можете использовать числовые значения, представляющие собой последовательность цифр и при необходимости содержащие знак и десятичный разделитель.
При использовании текстовых строк заключайте их в кавычки, чтобы они правильно интерпретировались в Access. В некоторых ситуациях Access вводит кавычки за пользователя. Например, при вводе текста в выражение для правила проверки или условий запроса Access автоматически заключает текстовые строки в кавычки.
При использовании значений даты и времени помещайте их между знаками решетки (#). Например, #3-7-17#, #7-Mar-17# и #Mar-7-2017# — допустимые значения даты и времени. Когда приложение Access встречает допустимое значение даты и времени, заключенное в символы #, значение автоматически обрабатывается как имеющее тип даты и времени.
К началу страницы
Сравнение выражений Access и формул Excel
Выражения Access напоминают формулы Excel, так как для получения результатов в них используются похожие элементы. И в формулах Excel, и в выражениях Access содержатся некоторые или все из указанных ниже элементов.
-
Идентификаторы В Excel идентификаторы — это имена отдельных ячеек или диапазонов ячеек в книге, например
A1, B3:C6 или Лист2!C32. В Access идентификаторы — это имена полей таблиц (например, [Contacts]![First Name]), элементов управления в формах и отчетах (например, Forms![Task List]![Description]) или свойства этих полей или элементов управления (например,
Forms![Task List]![Description].ColumnWidth). -
Операторы Как в Access, так и в Excel операторы используются для сравнения данных или выполнения простых вычислений с ними. В качестве примеров можно привести операторы + (плюс) и — (минус).
-
Функции Как в Access, так и в Excel функции и аргументы используются для выполнения задач, которые невозможно выполнить с помощью одних только операторов. Например, можно найти среднее для значений в поле или преобразовать результаты вычислений в формат денежной единицы. Примерами функций могут служить SUM и STDEV (в Excel — СУМ и СТАНДОТКЛОН). Аргументы — это значения, используемые для передачи данных функциям. И в Access, и в Excel есть много функций, но имена схожих функций в этих приложениях различаются. Например, функция СРЗНАЧ в Excel соответствует функции AVG в Access.
-
Константы И в Access, и в Excel константы — это значения, которые не изменяются (например, числа, не вычисляемые с помощью выражений).
-
Значения Значения используются в Access и Excel одинаково.
В выражениях Access используются такие же операторы и константы, как и в формулах Excel, но другие идентификаторы и функции. В то время как формулы Excel, как правило, используется только в ячейках листа, выражения Access используются во многих частях приложения для решения широкого круга задач, включая следующие:
-
создание вычисляемых элементов управления в формах и отчетах;
-
создание вычисляемых полей в таблицах и запросах;
-
составление условий в запросах;
-
проверка данных, вводимых в поле, элемент управления или форму;
-
группировка данных в отчетах.
Выражения Access и формулы Excel можно использовать для вычисления числовых значений или значений даты и времени с помощью математических операторов. Например, для вычисления цены со скидкой для клиента можно использовать формулу Excel =C2*(1-D2) или выражение Access = [Unit Price]*(1-[Discount]).
Выражение Access или формулу Excel можно использовать для объединения, разбиения или другой обработки строк с помощью строковых операторов. Например, для объединения имени и фамилии в одну строку можно использовать формулу Excel =D3 &» » & D4 или выражение Access = [First Name] & » » & [Last Name].
К началу страницы
4 / 4 / 0 Регистрация: 31.03.2010 Сообщений: 32 |
|
1 |
|
21.08.2011, 07:08. Показов 69222. Ответов 27
Народ, подскажите имеется ли в Access 2007 подобие формул в ячейках как в Excel?
1 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
21.08.2011, 07:08 |
Ответы с готовыми решениями: Access и формулы Формулы в MS Access 2010 Формулы в таблицах access Формулы в access 2010 27 |
2633 / 1333 / 255 Регистрация: 25.10.2010 Сообщений: 2,194 |
|
21.08.2011, 10:38 |
2 |
Вычисляемые поля лучше делать в запросе, а потом на основе запроса создать форму
0 |
3 / 3 / 0 Регистрация: 19.08.2011 Сообщений: 14 |
|
21.08.2011, 11:18 |
3 |
Народ, подскажите имеется ли в Access 2007 подобие формул в ячейках как в Excel? Есть такая возможность. Если не нужно в таблицу записывать, то просто в форме подсчитать. Ну и записать остаток можно в таблицу только нужно ли? Чуть позже постараюсь выложить пример
0 |
53 / 53 / 1 Регистрация: 30.04.2010 Сообщений: 133 |
|
22.08.2011, 05:00 |
4 |
Docen, Например, на форме у поля в свойствах Миниатюры
0 |
4 / 4 / 0 Регистрация: 31.03.2010 Сообщений: 32 |
|
23.08.2011, 10:06 [ТС] |
5 |
Docen, Например, на форме у поля в свойствах реализовал это в таблице через запрос на обновление, но заполняться база будет через форму. надо сделать так, чтобы без лишних нажатий автоматически при вводе двух значений выдавалась сумма долга. формулу прописываю следующую: = Долг [Сметная стоимость объекта]-[Оплачено] ошибка возникает при вводе любой из этих формул Миниатюры
0 |
7267 / 4469 / 288 Регистрация: 12.08.2011 Сообщений: 13,513 |
|
23.08.2011, 10:23 |
6 |
= Долг [Сметная стоимость объекта]-[Оплачено] это как это так? (вася пупкин 60 — 10) ? сколько получится?
0 |
4 / 4 / 0 Регистрация: 31.03.2010 Сообщений: 32 |
|
23.08.2011, 10:34 [ТС] |
7 |
это как это так? (вася пупкин 60 — 10) ? сколько получится? = Долг он сам по умолчанию ставит, показывая что сейчас будет введена формула подсчета долга. Пробовал стереть ее. Теперь другая ошибка и знак «=» он возвращает вперед Добавлено через 7 минут
0 |
0 / 0 / 0 Регистрация: 19.10.2011 Сообщений: 18 |
|
19.10.2011, 15:39 |
8 |
А у меня более замороченная тема… и тоже по аналогии с Excel. Помогите! Мне нужно каким-то образом решить вот какую задачу: Смысл заключается в том, что неудобно считать каждый раз на калькуляторе себестоимость товара и вводить результат калькуляции в поле, кроме того, со временем может понадобиться логика расчетов (откуда конкретная цифра взялась). Сейчас такую калькуляцию приходится делать вручную (на калькуляторе) и прописывать в соседней строке (чтобы потом понимать логику расчетов).
0 |
1405 / 1260 / 20 Регистрация: 09.08.2011 Сообщений: 2,321 Записей в блоге: 1 |
|
20.10.2011, 00:12 |
9 |
А у меня более замороченная тема… и тоже по аналогии с Excel. выложите пример в виде mdb файла, не могу разобраться что именно надо сделать!
0 |
7267 / 4469 / 288 Регистрация: 12.08.2011 Сообщений: 13,513 |
|
20.10.2011, 05:20 |
10 |
В режиме формы (!Внимание! НЕ в режиме конструктора) нужно создать поле («Себестоимость»), Дальше можно не читать.
1 |
2633 / 1333 / 255 Регистрация: 25.10.2010 Сообщений: 2,194 |
|
20.10.2011, 07:30 |
11 |
Я так понимаю, в поле вводится текст, например, =25+3*11,5, потом этот текст нужно каким-то образом преобразовать в формулу и в другом поле получить результат, текст тоже сохранить
0 |
1405 / 1260 / 20 Регистрация: 09.08.2011 Сообщений: 2,321 Записей в блоге: 1 |
|
20.10.2011, 10:42 |
12 |
элеметарно, делаем таблицу, её в форму, и правой кнопкой мыши по полю, свойства—> данные—> иточник, правой кнопкой выбираем построить, при чем это делается как в обычном режиме, так и в конструкторе.
0 |
0 / 0 / 0 Регистрация: 19.10.2011 Сообщений: 18 |
|
20.10.2011, 10:59 |
13 |
alvk, Вы правы, я некорретно изложила мысль! Конечно, поле уже создано заранее в таблице. Но нужно в это поле вводить в режиме формы (не в режиме конструктора) арифметическую формулу , а не конечную цифру-итог, и чтобы поле считало и выводило результат, но можно было и заглянуть в формулу. Функционал наподобие Excel: в ячейке ставишь равно, пишешь формулу «=15*2+3» и после выхода из ячейки прогармма выдает результат «33». Но при этом можно кликнуть на ячейку и увидеть формулу. Этого же нужно добиться и от Access в режиме формы.
0 |
0 / 0 / 0 Регистрация: 19.10.2011 Сообщений: 18 |
|
20.10.2011, 11:05 |
14 |
элеметарно, делаем таблицу, её в форму, и правой кнопкой мыши по полю, свойства—> данные—> иточник, правой кнопкой выбираем построить, при чем это делается как в обычном режиме, так и в конструкторе. V Monomax, добрый день! Спасибо! Но я не понимаю как это работает в режиме формы. Миниатюры
0 |
1405 / 1260 / 20 Регистрация: 09.08.2011 Сообщений: 2,321 Записей в блоге: 1 |
|
20.10.2011, 11:07 |
15 |
alvk, Вы правы, я некорректно изложила мысль! Конечно, поле уже создано заранее в таблице. Но нужно в это поле вводить в режиме формы (не в режиме конструктора) арифметическую формулу , а не конечную цифру-итог, и чтобы поле считало и выводило результат, но можно было и заглянуть в формулу. Функционал наподобие Excel: в ячейке ставишь равно, пишешь формулу «=15*2+3» и после выхода из ячейки программа выдает результат «33». Но при этом можно кликнуть на ячейку и увидеть формулу. Этого же нужно добиться и от Access в режиме формы. как таковое вы этого не добьетесь, единственное что можно посоветовать, это либо лезть в VBA, что, думаю, для вас будет нелегко, либо необходимо просто как в посте ранее написано прям в режиме формы через свойства поля при помощи построителя вставлять данные.
0 |
0 / 0 / 0 Регистрация: 19.10.2011 Сообщений: 18 |
|
20.10.2011, 11:11 |
16 |
Я так понимаю, в поле вводится текст, например, =25+3*11,5, потом этот текст нужно каким-то образом преобразовать в формулу и в другом поле получить результат, текст тоже сохранить Pelena, да, все верно!
0 |
2090 / 1166 / 39 Регистрация: 05.11.2009 Сообщений: 1,605 |
|
20.10.2011, 11:30 |
17 |
Конкретно так, как вы хотите, не получится. Почему формула меняется? Почему ее нельзя задать в качестве вычисляемого поля? Возможно в формуле можно учесть какие-то условия, варианты, и все будет намного проще
0 |
1405 / 1260 / 20 Регистрация: 09.08.2011 Сообщений: 2,321 Записей в блоге: 1 |
|
20.10.2011, 11:46 |
18 |
судя по всему я заблуждался, вам нужен только VBA, схему что и как могу предложить только тогда когда увижу пустую (не заполненную) базу и пару примеров как ее заполнять (примеры должны быть всеохватывающими!)
1 |
0 / 0 / 0 Регистрация: 19.10.2011 Сообщений: 18 |
|
20.10.2011, 12:52 |
19 |
судя по всему я заблуждался, вам нужен только VBA, схему что и как могу предложить только тогда когда увижу пустую (не заполненную) базу и пару примеров как ее заполнять (примеры должны быть всеохватывающими!) Да, на уровень VBA я не потяну сама, потому что знаю Access на уровне пользователя. Если Вы в Москве, то можем рассмотреть вариант коммерческой консультации по этому вопросу. Добавлено через 1 минуту
Конкретно так, как вы хотите, не получится. Почему формула меняется? Почему ее нельзя задать в качестве вычисляемого поля? Возможно в формуле можно учесть какие-то условия, варианты, и все будет намного проще Эта программа написана для туроператорской фирмы.
0 |
1405 / 1260 / 20 Регистрация: 09.08.2011 Сообщений: 2,321 Записей в блоге: 1 |
|
20.10.2011, 13:01 |
20 |
Да, на уровень VBA я не потяну сама, потому что знаю Access на уровне пользователя. Если Вы в Москве, то можем рассмотреть вариант коммерческой консультации по этому вопросу. буду в Москве с 27.10 по 30.10 подробнее отпишитесь в личку (если это конечно вас устраивает)
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
20.10.2011, 13:01 |
20 |
Вычисления и групповые операции СУБД MS Access
Подробности
Создано: 12 ноября 2013
6.1. Вычисляемые поля.
6.2. Создание выражений с помощью Построителя выражений.
6.3. Обзор встроенных функций СУБД MS Access.
6.4. Итоговые запросы.
6.5. Перекрестные запросы.
Очень часто при формировании набора записей требуется произвести вычисления над данными (определить возраст сотрудника, стоимость заказа, процент от продаж, выделить часть номенклатурного кода и т. п., т. е. вывести информацию, которая не хранится в базе данных) или выполнить определенные операции по непосредственной обработке отбираемых данных.
В QBE СУБД MS Access такие возможности предоставляются через вычисляемые поля и групповые операции.
6.1. Вычисляемые поля
- Вычисляемое поле представляет собой выражение, состоящее из операторов (арифметических, сравнения, логических, конкатенации) и операндов. В качестве операндов могут быть использованы константы, встроенные или определенные пользователем функции и идентификаторы, например
- Стоимость: Товары! Цена * Количество * (1-Скидка)
- КоличествоМужчин: Sum(IIf(Пол = «м»; 1; 0))
ФИО: Фамилия &» «& Left(Имя;1) &». «& Left(Отчество;1) &».»
- Стоимость, КоличествоМужчин и ФИО являются именами вычисляемых полей и отображаются в режиме таблицы в заголовке столбца, символ двоеточие исполняет роль разделителя между именем вычисляемого поля и выражением.
- Если имя таблицы или поля содержит пробелы, то его идентификатор обязан в выражении заключаться в квадратные скобки, например
- Стоимость: Цена*[Количество товара]
Вычисляемое поле создается прямо в бланке QBE путем внесения выражения в ячейку Поле любого свободного столбца. Результаты вычислений, выводящиеся в поле, не запоминаются в базовой таблице. Вычисления снова производятся всякий раз, когда выполняется запрос, поэтому результаты всегда представляют текущее содержимое базы данных.
Обновить вычисленные результаты вручную невозможно.
Для построения сложных выражений в СУБД MS Access входит утилита, называемая Построитель выражений.
6.2. Создание выражений с помощью Построителя выражений
Построитель выражений можно запустить щелкнув по клавише Построить на панели инструментов Конструктор запросов или выбрав в контекстном меню поля бланка запроса QBE команду меню Построить….
Рис.6.1. Диалоговое окно Построитель выражений
Рис.6.2. Диалоговое окно Построителя выраженийсо сформированным выражением
6.3. Обзор встроенных функций СУБД MS Access
СУБД MS Access содержит более 100 встроенных функций (рис.6.3), которые можно использовать при формировании вычисляемого поля или при задании условия отбора.
Рис.6.3. Диалоговое окно Построителя выраженийсо списком встроенных функций
Все встроенные функции в Построителе выражений сгруппированы по функциональному назначению.
При выборе функции в правом окне построителя, в нижней области окна Построителя выражений отображается синтаксис этой функции. Для более детальной справки необходимо щелкнуть по клавише Справка.
Обзор всех встроенных функций выходит за рамки лекции, поэтому рассмотрим наиболее используемые
Таблица 6.1
Функции категории Дата/время
Day(дата) | Возвращает значение дня месяца от 1 до 31 |
Month(дата) | Возвращает значение месяца от 1 до 12 |
MonthName(месяц[; флаг]) | Возвращает название месяца соответствующего номеру месяца: 1 – январь, 2 – февраль, и т. д. Если значение аргумента флаг Истина, то функция возвращает аббревиатуру месяца: 1 – янв, 2 – фев и т. д. |
Year(дата) | Возвращает значение года от 100 до 9999 |
Weekday(дата[; число]) | Если аргумент число не указан, возвращает значение дня недели от 1 (воскресенье) до 7 (суббота). Если аргумент число имеет значение 0, то возвращает значение дня недели от 1 (понедельник) до 7 (воскресенье) |
Hour(дата) | Возвращает целое число от 0 од 23, представляющее значение часа |
DatePart(интервал; дата) |
и т. п. (см. справку по функции). |
Date() | Возвращает текущую системную дату |
Функции категории Проверка
IsNull(переменная) | Возвращает значение Истина если значение переменной (значение поля в источнике данных) равно Null |
IsNumeric(переменная) | Возвращает значение Истина если значение переменной (значение поля в источнике данных) имеет один из числовых типов данных |
Функции категории Управление
IIf(условие; выр1; выр2) | Возвращает значение выражения выр1 если значение аргумента условие Истина и возвращает значение выражения выр2 если значение аргумента условие Ложь. Данная функция аналогична функции ЕСЛИ в MS Excel. |
Продолжение таблицы 6.1
Функции категории Текстовые
Left(текст; n) | Возвращает n левых символов аргумента текст |
Right(текст; n) | Возвращает n правых символов аргумента текст |
Mid(текст; нач_поз[; n]) | Возвращает n символов начиная с позиции нач_поз аргумента текст. Если аргумент n не указан, то возвращает все символы до конца строки начиная с позиции нач_поз аргумента текст. |
Len(текст) | Возвращает количество символов (длину строки) в аргументе текст |
LTrim(текст) | Возвращает строковое значение аргумента текст без начальных пробелов |
RTrim(текст) | Возвращает строковое значение аргумента текст без заключительных пробелов |
Trim(текст) | Возвращает строковое значение аргумента текст без начальных и заключительных пробелов |
Str(число) | Возвращает строковое значение аргумента число |
Format(переменная; формат) | Возвращает значение аргумента переменная в формате заданным аргументом формат |
6.3. Итоговые запросы
- При анализе данных очень часто интересуют не отдельные записи, а итоговые значения по группам данных, например:
- — количество сделок с Партнерами за определенный промежуток времени;
- — средний объем продаж по каждому месяцу за предыдущий год.
- Ответы на такие вопросы дает итоговый запрос.
- Для вычисления итоговых значений необходимо нажать кнопку Групповые операции на панели инструментов Конструктор запросов, чтобы в бланке QBE появилась строка Групповая операция (после имени таблицы).
- По умолчанию для каждого поля, занесенного в бланк запроса, устанавливается значение Группировка (итоги не подводятся).
Для подведения итогов необходимо заменить установку Группировка на конкретную итоговую функцию. В СУБД MS Access предусмотрено 9 функций (табл. 6.2), обеспечивающих выполнение групповых операций.
Таблица 6.2
Функции категории Статистические
Функция | Назначение |
Sum | Возвращает сумму набора значений |
Avg | Возвращает среднее арифметическое набора значений |
Min | Возвращает наименьшее значение из набора значений |
Max | Возвращает наибольшее значение из набора значений |
Count | Возвращает количество записей в наборе значений отличных от Null |
First | Возвращает первое значение поля в группе |
Last | Возвращает последнее значение поля в группе |
StDev | Возвращает среднеквадратичное отклонение набора значений |
Var | Возвращает дисперсию набора значений |
В раскрывающемся списке строки Групповая операция имеется установка Выражение. Данная установка применяется, когда в выражении (строка Поле) используется несколько итоговых функций.
В раскрывающемся списке строки Групповая операция имеется установка Условие. Данная установка применяется, когда в строке Условие отбора записано условие выборки, но данные столбца (поля) не должны участвовать в групповой операции.
Для решения более сложных статистических задач в СУБД MS Access предусмотрен специальный тип запроса – перекрестный запросов.
6.4. Перекрестные запросы
Перекрестный запрос – это специальный тип группового запроса, в котором отражаются результаты статистических расчетов по значению одного поля таблицы.
Для построения перекрестного запроса достаточно трех полей базового источника. По повторяющимся значениям одного поля формируются названия заголовков строк итоговой (сводной) таблицы (рис.6.4).
По повторяющимся значениям другого поля формируются названия заголовков столбцов итоговой (сводной) таблицы. Результаты статистической обработки по третьему полю отображаются в ячейках сводной таблицы (область значений).
Пример перекрестного запроса в режиме конструктора представлен на рис.6.5, а результаты выполнения запроса на рис. 6.6.
В области заголовков строк допускается размещение нескольких полей, в то время как в других областях может размещаться только по одному полю.
В перекрестном запросе допускается указание условий отбора. Сортировка может проводиться только по полям, размещенным в области заголовков строк.
Рис.6.4. Макет перекрестной таблицы
Рис.6.5. Сформированный перекрестный запрос в QBE
Рис.6.6. Результат выполнения запроса в режиме Таблицы
Источник: http://po-teme.com.ua/informatika/lektsii-po-informatike/1578-vychisleniya-i-gruppovye-operatsii-subd-ms-access.html
Добавление вычисляемого поля в запрос
- Лабораторная работа №3.
- Создание и использование таблиц, форм, запросы и отчеты в Access.
- Добавление вычисляемого поля в запрос.
Создадим базу данных, которая будет содержать сведения о производстве овощей различными федеральными округами Российской Федерации и входящими в их состав регионами.
При этом исходными данными будут служить посевная площадь и валовой сбор, а урожайность будет рассчитываться автоматически в вычисляемом поле запроса.
Итак, сформируйте в режиме конструктора таблицу Типы регионов, включив в нее всего два поля – Код (с типом данных Счетчик) и Тип региона (тип данныхТекстовый). Ключевые поля не задавайте. Перейдите в режим таблицы и введите следующие значения (в шестой строке впишите прочерк):
Создайте еще одну небольшую таблицу Федеральные округа РФ. В режиме конструктора задайте ее структуру: Код округа(тип данных – Счетчик) и Федеральный округ(тип данных – Текстовый). Ключевые поля использовать не будем. Перейдите в режим ввода данных и заполните таблицу:
Теперь можно приступить к созданию основной таблицы. Ввиду большого объема работы по ее заполнению не станем использовать столбцы подстановки при вводе федеральных округов и типов региона, а будем указывать их коды. Поэтому в режиме конструктора сформируйте структуру таблицы, как показано ниже.
При вводе типа данных Денежныйв поля Площадьи Сбор ниже, в окне «Свойства поля» щелкните в строке «Формат поля» и выберите из предложенного списка Фиксированный.
Это нужно, чтобы была возможность ввода чисел с двумя знаками после запятой и обработки их с повышенной точностью:
Сохраните таблицу под именем Производство овощей в федеральных округах и регионах РФ. Заполните ее данными:
Очевидно, что считывать информацию, пользуясь подобной таблицей, совершенно неудобно, поскольку отдельные данные в ней закодированы. Поэтому составим запрос, в котором будет представлена полная картина данных, и к тому же добавим в него вычисляемое поле для расчета урожайности овощных культур по регионам и федеральным округам.
Вызовите команду создания запроса в режиме конструктора и добавьте последовательно все три созданные ранее таблицы: Типы регионов, затем – Производство овощей в федеральных округах и регионах РФ и, наконец, Федеральные округа РФ.
Теперь необходимо задать связи между таблицами.
Для этого нажмите на названии поля Код таблицы Типы регионов и, Удерживая мышь, перетащите указатель на название поля Код типа региона таблицы Производство овощей в федеральных округах и регионах РФ.
Связь отображена в виде обоюдной стрелки. Создайте также связь между полями Код округа таблиц Производство овощей в федеральных округах и регионах РФи Федеральные округа РФ. У вас получится следующее:
Затем выберите из указанных таблиц поля включения их в запрос:
Для ввода вычисляемого Урожайность щелкните в том месте, где должно быть его название, правой кнопкой мыши и выберите из контекстного меню команду Построить, откроется окно построителя выражений.
Слева внизу разверните двойным щелчком папку Таблицы, затем нажмите таблицу Производство овощей в федеральных округах и регионах РФ. Имеющиеся в ней поля будут отражены в окне правее.
Двойным щелчком по названию поля Сбор поместите его в верхнюю часть окна построителя выражений. Затем нажмите кнопку с косой чертой, обозначающую знак деления (она находится ниже вводимого выражения в ряду подобных кнопок). Дважды щелкните по полю Площадь, оно также будет отражено в выражении. У вас получится следующее:
Нажмите кнопку ОК. Выражение помещено в конструктор запроса. Перейдите в режим таблицы запроса, и вы увидите в нем вычисляемое поле Выражение 1:
Остается только дать этому полю информативное название и несколько изменить его формат, чтобы уменьшить разрядность чисел.
Вернитесь в режим конструктора запроса. Измените слово Выражение 1 на Урожайность (будьте осторожны, чтобы не повредить формулу). Вызовите для этого поля окно свойств, нажав кнопку Свойства (или вызвав одноименную команду из контекстного меню). Выберите из списка форматов поля Фиксированный, число десятичных знаков – 2;
Вернитесь в режим таблицы запроса, убедитесь, что все получилось правильно. Закройте запрос, назовите его Производство и урожайность овощей.
Самостоятельно сформируйте форму для просмотра всех полей запроса Производство и урожайность овощей. Присвойте ей такое же имя, как у запроса.
Создайте также более простой запрос Производство овощей в Южном ФО. Он будет построен на основе созданного запроса (в окне добавления таблицы следует перейти на вкладку Запросы). Включите в него следующие поля и условия отбора:
Сохраните запрос под указанным именем, выведите его для просмотра.
Теперь научимся создавать отчеты в Access. Для этого будем использовать встроенный Мастер отчетов. Сформируем отчет по запросу Производство и урожайность овощей, который будет включать информацию по производству овощей всеми регионами и федеральными округами РФ, сгруппированную по федеральным округам и отсортированную в округа по виду региона.
Перейдите в окне создания базы данных на вкладку Отчеты, выполните команду Создание отчета с помощью мастера.
В окне создания отчетов следует указать запрос Производство и урожайность овощей, затем переместить в раздел выбранных полей все поля этого запроса, кроме столбца Площадь(можно сначала выбрать все значком «>>», затем выделить Площадь и вернуть его обратно значком «» поместить вправо.
В следующем окне укажите, что по полю Тип региона необходимо произвести сортировку по убыванию. Нажмите на кнопку Итоги, укажите, что следует рассчитать средние показатели по полю Сбор (Avg поставить галочку). Нажмите ОК, затем – Далее.
В следующем окне выберите вид макета для отчета (можно оставить «ступенчатый»), а также ориентацию страницы (книжная или альбомная), щелкните Далее.
Осталось только вписать имя отчета. Назовите его Производство и урожайность овощей в регионах и округах РФ, и все – нажмите Готово. Просмотрите свой отчет. Обратите внимание на удобство расположения данных и внешнюю привлекательность отчета.
Источник: https://megaobuchalka.ru/7/21924.html
Вычисляемые поляв запросе БД Access 2003
2010-02-28
Владимир Ткаченко
Источник: Обучение в интернет
В БД Microsoft Access вычисляемые поля могут быть созданы в запросе, форме или отчете.
Вычисляемые поля используются для различных целей, в том числе и для проведения расчетов, Для выполнения подсчетов в вычисляемые поля объектов базы данных Access вводят Выражения.
Выражения — это формулы аналогичные формулам Excel, но только вместо ссылок на ячейки в них используются имена полей. Ввод выражений возможен как вручную, так и с помощью Построителя выражений.
Выражения могут содержать следующие элементы:
- идентификаторы (имя поля и элемента управления, которые заключаются в квадратные скобки);
- операторы (арифметические, логические, сравнения и другие операторы);
- функции (готовые формулы, которые состоят из имени и аргумента, помещенного в круглые скобки)
- константы (элементы, которые не изменяются в Выражении, например Null, Истина, Ложь);
- значения (например, значения даты и времени, численные положительные или отрицательные значения).
- Примеры Выражения:
- =[Оценка]/1,2, где «=» — опрератор, [Оценка] — имя поля, а 1,2 — значение;
- Date(), где Date — имя функции текущей даты, которая не имеет аргумента.
Рассмотрим создание вычисляемых полей в бланке запроса базы данных Access 2003. Для ввода Выражения в запрос его необходимо открыть в режиме Конструктора.
Чтобы создать вычисляемое поле в запросе (в существующем или вновь создаваемом запросе) открытого в режиме конструктора, необходимо ввести Выражение в строку Поле свободного столбца бланка запроса.
Выражение может выполнять вычисления, обрабатывать текст, указывать время и дату, проверять данные и т.д. Необходимо отметить, что каждая формула вычисляется только для отдельной строки таблицы бланка запроса.
Рассмотрим создание вычисляемого поля в бланке запроса на примере базы данных Training_students_VP. Постановка задачи: в запросе на выборку (Запрос 3) создать поле, в котором должны отображаться итоговые оценки (ниже на 20% от полученных по результатам рейтинга). Для решения этой задачи откроем бланк «Запроса 3» в режиме конструктора (Рис. 1).
Рис. 1.
Для создания вычисляемого поля можно применить «Построитель выражений». Для этого надо установить курсор в свободное поле и выбрать на панели инструментов команду Построить (можно также воспользоваться контекстным меню), откроется окно Построитель выражений.
В верхней области построителя расположено текстовое поле выражения, предназначенное для записи выражения. Ниже поля выражения размещается строка с операторами. Три текстовых поля в нижней области используются для выбора элементов, которые могут быть вставлены в текстовое поле выражения. Выражение можно записать с клавиатуры или сформировать из готовых функций, операторов и других элементов.
Для поставленной задачи в Построитель можно ввести выражение =[Оценка]/1,2 с клавиатуры (Рис.2) и щелкнуть на кнопке ОК. Рис. 2.
В результате в бланке запроса появится вычисляемое поле =[Оценка]/1,2
Рис. 3.
Далее надо закрыть бланк запроса в режиме конструктора и открыть его в режиме таблицы. В таблице вычисляемое поле состоит из слова «Выражение» и цифры 1, которая показывает, каким по счету создано выражение. Необходимо также отметить, что результаты вычислений, отображаемые в записях, не отформатированы.
Рис. 4.
С учетом вышеизложенного следует изменить название вычисляемого поля и отформатировать его. Для этого необходимо вернуться в режим конструктора и слово Выражение1 заменить на «Итог_оценка». Затем щелкнуть правой кнопкой мыши на вычисляемое поле и в контекстном меню выбрать команду Свойства, откроется диалоговое окно Свойства поля (Рис. 5)
Рис. 5.
В окне Свойства поля установить формат, например Фиксированный и закрыть это окно. Затем закрыть запрос в режиме конструктора и открыть его в режиме таблицы. В результате на экране будет отображен запрос с отформатированным вычисляемым полем. Необходимо отметить, что значения вычисляемого поля не хранятся в базе данных, а являются результатом вычислений при формировании запроса.
Источник: https://www.lessons-tva.info/articles/informat/8.html
Условия отбора записей — Базы данных
Литералы — конкретные значения, воспринимаемые Access так, как они записаны. В качестве литералов могут быть использованы числа, текстовые строки, даты. Текстовые строки заключаются в двойные кавычки, даты — в знаки (#). Например, 567, «Информатика», #1-Января-99#.
Константы — не изменяющиеся значения, которые определены в Access, например, True, False, Да, Нет, Null.
Идентификатор — ссылка на значение поля, элемента управления или свойства. Идентификаторами могут быть имена полей таблиц, форм, отчетов и т. д., которые должны заключаться в квадратные скобки. Как правило, Access производит автоматическую подстановку скобок.
Во многих случаях ссылка на конкретное значение должна указывать точное его местоположение в иерархии объектов базы данных, начиная с объекта верхнего уровня.
Если необходимо указать ссылку на поле в конкретной таблице, форме, отчете, то перед именем поля ставится имя таблицы, формы, отчета, также заключенное в квадратные скобки и отделенное от имени поля восклицательным знаком.
Например, ссылка на поле в таблице примет вид: [Имя таблицы]! [Имя поля], а ссылка на свойство DefaultValue элемента управления Дата рождения в форме СТУДЕНТ: Forms! [СТУДЕНТ]! [ Дата рождения].DefaultValue
Операторами сравнения и логическими операторами, использование которых допускается в выражении условия отбора, являются:
Эти операторы определяют операцию над одним или несколькими операндами.
Если выражение в условии отбора не содержит оператора, то по умолчанию используется оператор =.
Текстовые значения, если они содержат пробелы или знаки препинания, вводятся в двойных кавычках. В противном случае кавычки можно не вводить, они будут добавлены автоматически.
Допускается использование операторов шаблона — звездочка (*) и вопросительный знак (?).
- Оператор Between позволяет задать интервал для числового значения и даты. Например:
- Between 10 And 100
- задает интервал от 10 до 100; можно задать интервал дат:
Between #01.01.1997* And #31.12.1997*
- Оператор in позволяет выполнить проверку на равенство любому значению из списка, который задается в круглых скобках. Например:
- In («Математики»;»Информатики»; » Истории»)
Источник: https://itteach.ru/bazi-dannich/usloviya-otbora-zapisey
23 Формирование запроса с вычисляемым полем в ms Access 2007
В БД Microsoft Access вычисляемые поля могут быть созданы в запросе, форме или отчете.
Вычисляемые поля используются для различных целей, в том числе и для проведения расчетов, Для выполнения подсчетов в вычисляемые поля объектов базы данных Access вводят Выражения.
Выражения — это формулы аналогичные формулам Excel, но только вместо ссылок на ячейки в них используются имена полей. Ввод выражений возможен как вручную, так и с помощью Построителя выражений.
- Выражения могут содержать следующие элементы:
- идентификаторы (имя поля и элемента управления, которые заключаются в квадратные скобки);
- операторы (арифметические, логические, сравнения и другие операторы);
- функции (готовые формулы, которые состоят из имени и аргумента, помещенного в круглые скобки)
- константы (элементы, которые не изменяются в Выражении, например Null, Истина, Ложь);
- значения (например, значения даты и времени, численные положительные или отрицательные значения).
- Примеры Выражения:
- =[Оценка]/1,2, где «=» — опрератор, [Оценка] — имя поля, а 1,2 — значение;
- Date(), где Date — имя функции текущей даты, которая не имеет аргумента.
Рассмотрим создание вычисляемых полей в бланке запроса базы данных Access 2007. Для ввода Выражения в запрос его необходимо открыть в режиме Конструктора.
Чтобы создать вычисляемое поле в запросе (в существующем или вновь создаваемом запросе) открытого в режиме конструктора, необходимо ввести Выражение в строку Поле свободного столбца бланка запроса.
Выражение может выполнять вычисления, обрабатывать текст, указывать время и дату, проверять данные и т.д. Необходимо отметить, что каждая формула вычисляется только для отдельной строки таблицы бланка запроса.
24 Параметрические запросы в ms Access 2007
На этапе создания запроса не всегда можно определить, какие именно значения должны использоваться в условиях отбора. В этом случае удобно задавать параметр, который Асcess запрашивает при каждом выполнении запроса.
Чтобы его определить, в строку Условие отбора вместо конкретного значения вводится имя или фраза, заключенная в квадратные скобки ([ ]). То, что находится внутри квадратных скобок, Access рассматривает как имя параметра.
Оно выводится в окне диалога при выполнении запроса, и поэтому должно представлять собой содержательную фразу.
Для проверки введенного значения для каждого параметра запроса можно указать тип данных. По умолчанию ему назначается текстовый тип.
В случае необходимости он меняется в окне Параметры запроса, которое открывается после выполнения команды Запрос – Параметры.
В столбце Параметр этого окна вводится имя каждого параметра, точно в таком же виде, как оно было указано в бланке запроса, но без квадратных скобок. В столбце Тип данных из раскрывающегося списка устанавливается нужный тип данных.
Аналогично в запросе задаются несколько параметров. При выполнении таких запросов поочередно вводятся значения для каждого из них.
Источник: https://studfile.net/preview/3536336/page:6/
Содержание
- 1 Access формула в запросе
- 2 Как считать в Access
- 3 Добавление вычисляемого поля в таблицу
- 3.1 Создание вычисляемого поля в режиме таблицы
- 3.2 Изменение вычисляемого поля в режиме таблицы
В этой статье речь поговорим про вычисляемые поля в запросах Access. В запросе, как и в таблице, для каждой записи могут производиться вычисления с числовыми, строковыми значениями или значениями дат с использованием данных из одного или нескольких полей. Результат вычисления образует в таблице запроса новое вычисляемое поле. В отличие от вычисляемых полей таблицы, вычисляемые поля запроса в исходных таблицах базы данных новых полей не создают. При каждом выполнении запроса производятся вычисления на основе текущих значений полей.
В выражениях вычисляемых полей помимо имен полей могут использоваться константы и функции. В результате обработки выражения может получаться только одно значение.
Задача 1. В таблице ТОВАР имеются поля ЦЕНА и СТАВКА_НДС, вычислите цену с учетом НДС и сравните ее с полученной в вычисляемом поле таблицы Цена с НДС.
- Создайте в режиме конструктора запрос на выборку для таблицы ТОВАР. Перетащите в бланк запроса поля НАИМ_ТОВ, ЦЕНА, СТАВКА_НДС и Цена с НДС (рис. 4.6).
- Для подсчета цены с учетом НДС создайте вычисляемое поле, записав в пустой ячейке строки Поле (Field) выражение +*.
- Для отбора записей со значением выше 5000 в вычисляемом поле в строку Условие отбора (Criteria) введите > 5000
- После ввода выражения система по умолчанию формирует имя вычисляемого поля Выражение 1, которое становится заголовком столбца в таблице с результатами выполнения запроса. Это имя вставится перед выражением +*. Для каждого нового вычисляемого поля в запросе номер выражения увеличивается на единицу. Имя вычисляемого поля отделяется от выражения двоеточием. Для изменения имени установите курсор мыши в вычисляемом поле бланка запроса и нажмите правую кнопку мыши. В контекстно-зависимом меню выберите Свойства (Properties) поля и в строку Подпись (Caption) введите новое имя поля ― Цена с НДС1. Теперь в таблице с результатами выполнения запроса в заголовке вычисляемого столбца отобразится это имя. Имя поля может быть исправлено также непосредственно в бланке запроса.
- Для отображения результата выполнения запроса щелкните на кнопке Выполнить (Run) в группе Результаты (Results). Вычисляемое поле таблицы и за-проса имеют одинаковые значения.
- Измените в одной из записей запроса цену товара. Значения в обоих вычисляемых полях будут моментально пересчитаны.
- Для формирования сложного выражения в вычисляемом поле или условии отбора целесообразно использовать построитель выражений. Построитель позволяет выбрать необходимые в выражении имена полей из таблиц, запросов, знаки операций, функции. Удалите выражение в вычисляемом поле и используйте построитель для его формирования.
- Вызовите построитель выражений (Expression Builder), нажав кнопку Построитель (Builder) в группе Настройка запроса (Query Setup) ленты Конструктор (Design), или выбрав Построить (Build) в контекстно-зависимом меню. Курсор мыши должен быть установлен предварительно в ячейке ввода выражения.
- В левой части окна Построитель выражений (Expression Builder) (рис. 4.7) выберите таблицу ТОВАР, на которой построен запрос. Справа отобразится список ее полей. Последовательно выбирайте нужные поля и операторы, двойным щелчком вставляя в выражение. Выражение сформируется в верхней части окна. Обратите внимание, построитель перед именем поля указал имя таблицы, которой оно принадлежит, и отделил его от имени поля восклицательным знаком.
- Завершите процесс построения выражения в вычисляемом поле, щелкнув на кнопке ОК.
- Сохраните запрос под именем ― Цена с НДС и закройте его.
- Выполните сохраненный запрос, выделив его в области навигации и выбрав в контекстном меню команду Открыть (Open).
Задача 2. В вычисляемых полях и условиях отбора можно использовать встроенные функции. В Access определено более 150 функций.
Пусть необходимо выбрать все накладные, по которым производилась отгрузка в заданном месяце. В таблице НАКЛАДНАЯ дата отгрузки хранится в поле ДАТА_ОТГ с типом данных Дата/время (Date/Time).
- Создайте в режиме конструктора запрос на выборку для таблицы НАКЛАДНАЯ. Перетащите в бланк запроса поля НОМ_НАКЛ и КОД_СК (рис. 4.8).
- Создайте вычисляемое поле в пустой ячейке строки Поле (Field), записав туда одно из выражений: Format(!;»mmmm») ― эта функция возвратит пол-ное название месяца
или Format(!;»mm») ― эта функция возвратит номер месяца. - Для отбора накладных, выписанных в заданном месяце, в вычисляемом поле в строку Условие отбора (Criteria) введите название месяца, например март (рис. 4.8), или номер месяца, например 3 в соответствии с параметром в функции Format.
- Выполните запрос, нажав кнопку Выполнить (Run) в группе Результаты (Results) на вкладке ленты Работа с запросами | Конструктор (Query Tools | Design).
- Запишите в вычисляемом поле функцию Month(НАКЛАДНАЯ!ДАТА_ОТГ), и убедитесь, что эта функция возвращает выделенный из даты номер месяца.
- Для выборки всех строк, относящихся ко второму кварталу, в строку Условие отбора (Criteria) введите оператор Between 4 And 6, определяющий, попадает ли значение выражения в указанный интервал.
- Запишите в вычисляемом поле выражение MonthName(Month(НАКЛАДНАЯ!ДАТА_ОТГ)) и убедитесь, что функция MonthName преобразует номер месяца в его полное на-звание.
Для закрепления смотрим видеоурок:
Параметрический запрос Access тут.
В разделе Компьютеры, Связь на вопрос Формулы и условия в ACCESS заданный автором Невроз лучший ответ это =IIf(=1;2;3),
где:
— поле в котором вводятся значение;
1 — значение которое будет равняться ;
2 — значение которое подставляется если значения =1;
3 — значение которое будет подставляться, если <> 1
Ответ от
2 ответа
Привет! Вот подборка тем с ответами на Ваш вопрос: Формулы и условия в ACCESS
Ответ от ONLAIN
ACCESS это база данных! Она построенна на построении определенных запросов! Ипрортом закачиваеш исходные форму из EXCEL далее составляешь апросы исходя из данной закаченной формы! ACCESS и EXCEL-разные!
Ответ от Ёергей Победаш
Создать вычисляемое поле можно только в запросе или в форме, для этого есть построитель выражений с исчерпывающей справкой. А чтобы внести вычисленное значение в таблицу, надо создать запрос на обновление. Автоматизировать эти действия можно либо используя макросы, либо VisualBasic.
Ответ от Кроссворд
целый урок по функции IIF в microsoft access на youtube:
Ответ от
2 ответа
Привет! Вот еще темы с нужными ответами:
Правила составления выражений в Access мы уже описывали (см. разд. «Использование выражений в запросах»гл. 4). Поэтому здесь мы остановимся в первую очередь на вычисляемых полях формы и опишем, где они нужны и как их создать.
Внимание
Формулы для вычислений в Access записываются с помощью специального синтаксиса, который диктует правила записи формул и в выражениях Access и в процедурах на VBA. Этот синтаксис несколько отличается от принятого в математике, однако во многом на него похож и интуитивно понятен. Описание синтаксиса вычислительных формул приведено в разд. «Выражения в Access»гл. 4.
Как считать в Access
Выполните добавление вычисляемых полей для того, чтобы сделать расчет в Access. Создать такое поле вы можете в форме, запросе или отчете, по необходимости. Чтобы выполнить подсчет в вычисляемом поле введите выражение. Оно представляет собой формулу, которая аналогична формулам в Excel, только в ней используются не ссылки на ячейки, а имена таблиц и полей.
Используйте при построении выражений элементы: идентификаторы (имя поля, заключенное в квадратные скобки, например, поле «Цена» из таблицы «Товары» – ; операторы (+, -, *, /); функции, константы, значения (численные).
Создайте вычисляемый запрос, для этого перейдите во вкладку «Запросы» базы данных, выберите «Создать» – «В режиме конструктора». Выберите используемые в расчетах поля нужных таблиц или запросов. В новом поле введите в имя поля выражение, например, =*.
Если в запросе вы используете поля одной таблицы, тогда в выражении необязательно указывать ее имя. Если же в нем учувствуют несколько таблиц, тогда к шимени поля добавляйте название таблицы, как приведено во втором шаге. После этого запустите запрос на выполнение с помощью восклицательного знака на панели инструментов.
Воспользуйтесь построителем выражений для создания сложных вычислений в запросе. Для этого в свободном поле щелкните мышкой в имени, выберите «Построить». Обратите внимание, что в верхней части построителя находится текстовое поле выражения, которое предназначено для записи выражения. Чуть ниже размещается строка с арифметическими операторами. В нижней области размещены три текстовых поля, которые используются для выбора элементов, вставляемых в выражение.
Введите выражение вручную либо сформируйте его из готовых функций и операторов. К примеру, выберите таблицы и поля для добавления в запрос, между ними с панели построителя добавляйте арифметические операторы, либо функции из соответствующего раздела. После этого щелкните «ОК». Вычисляемый запрос в Access готов.
Зачем и как чистить компьютер от пыли
Сегодня в интернете можно найти множество статей про то, что нужно регулярно чистить компьютер от.
Как конвертировать PDF-файлы в документы Word Что за вирус WannaCry decrypt0r и как от него защититься обычному пользователю Как защитить компьютер от вируса Красный квадрат Как записать образ на CD/DVD диск с помощью программы ImgBurn
Добавление вычисляемого поля в таблицу
Применяется к: Access2016 Access 2013 Access 2010 Дополнительно. Меньше
Важно : Данная статья переведена с помощью машинного перевода, см. Отказ от ответственности. Используйте английский вариант этой статьи, который находится здесь. в качестве справочного материала.
В Access можно создать поля таблицы, в которых вычисляются значения. Расчеты могут включать значения из полей в одной таблице, а также встроенные функции Access.
В таком вычисляемом поле нельзя использовать поля из других таблиц или запросов.
Результаты вычислений доступны только для чтения.
Вычисляемые поля доступны только в базах данных Access, используя формат файла ACCDB.
Необходимо использовать Microsoft Access 2010 или более поздней версии.
Создание вычисляемого поля в режиме таблицы
Откройте таблицу, дважды щелкнув ее в области навигации.
Прокрутите таблицу по горизонтали до крайнего правого столбца и нажмите в заголовке столбца кнопку Щелкните, чтобы добавить .
В появившемся списке выберите пункт Вычисляемое поле и укажите тип данных результата.
Откроется построитель выражений Access.
Начните вводить формулу расчета, которая требуется для этого поля, например:
Примечание : Необязательно ставить в начале выражения знак равенства (=).
Нажмите кнопку ОК .
Приложение Access добавит вычисляемое поле и выделит его заголовок, чтобы можно было ввести имя поля.
Введите имя вычисляемого поля и нажмите клавишу ВВОД.
Дополнительные сведения о создании выражений см. в статье Создание выражения .
Изменение вычисляемого поля в режиме таблицы
Откройте таблицу, дважды щелкнув ее в области навигации.
Выделите вычисляемое поле, которое необходимо изменить.
На вкладке Поля в группе Свойства нажмите кнопку Изменить выражение .
Откроется построитель выражений Access.
Внесите необходимые изменения в поле выражения для вычисления.
Примечание : Необязательно ставить в начале выражения знак равенства (=).
Нажмите кнопку ОК .
Примечание :Отказ от ответственности относительно машинного перевода. Данная статья была переведена с помощью компьютерной системы без участия человека. Microsoft предлагает эти машинные переводы, чтобы помочь пользователям, которые не знают английского языка, ознакомиться с материалами о продуктах, услугах и технологиях Microsoft. Поскольку статья была переведена с использованием машинного перевода, она может содержать лексические,синтаксические и грамматические ошибки.
В этой статье речь поговорим про вычисляемые поля в запросах Access. В запросе, как и в таблице, для каждой записи могут производиться вычисления с числовыми, строковыми значениями или значениями дат с использованием данных из одного или нескольких полей. Результат вычисления образует в таблице запроса новое вычисляемое поле. В отличие от вычисляемых полей таблицы, вычисляемые поля запроса в исходных таблицах базы данных новых полей не создают. При каждом выполнении запроса производятся вычисления на основе текущих значений полей.
В выражениях вычисляемых полей помимо имен полей могут использоваться константы и функции. В результате обработки выражения может получаться только одно значение.
Задача 1. В таблице ТОВАР имеются поля ЦЕНА и СТАВКА_НДС, вычислите цену с учетом НДС и сравните ее с полученной в вычисляемом поле таблицы Цена с НДС.
Создайте в режиме конструктора запрос на выборку для таблицы ТОВАР. Перетащите в бланк запроса поля НАИМ_ТОВ, ЦЕНА, СТАВКА_НДС и Цена с НДС (рис. 4.6). Для подсчета цены с учетом НДС создайте вычисляемое поле, записав в пустой ячейке строки Поле (Field) выражение +*. Для отбора записей со значением выше 5000 в вычисляемом поле в строку Условие отбора (Criteria) введите 5000 После ввода выражения система по умолчанию формирует имя вычисляемого поля Выражение 1, которое становится заголовком столбца в таблице с результатами выполнения запроса. Это имя вставится перед выражением +*. Для каждого нового вычисляемого поля в запросе номер выражения увеличивается на единицу. Имя вычисляемого поля отделяется от выражения двоеточием. Для изменения имени установите курсор мыши в вычисляемом поле бланка запроса и нажмите правую кнопку мыши. В контекстно-зависимом меню выберите Свойства (Properties) поля и в строку Подпись (Caption) введите новое имя поля ― Цена с НДС1. Теперь в таблице с результатами выполнения запроса в заголовке вычисляемого столбца отобразится это имя. Имя поля может быть исправлено также непосредственно в бланке запроса. Для отображения результата выполнения запроса щелкните на кнопке Выполнить (Run) в группе Результаты (Results). Вычисляемое поле таблицы и за-проса имеют одинаковые значения. Измените в одной из записей запроса цену товара. Значения в обоих вычисляемых полях будут моментально пересчитаны. Для формирования сложного выражения в вычисляемом поле или условии отбора целесообразно использовать построитель выражений. Построитель позволяет выбрать необходимые в выражении имена полей из таблиц, запросов, знаки операций, функции. Удалите выражение в вычисляемом поле и используйте построитель для его формирования. Вызовите построитель выражений (Expression Builder), нажав кнопку Построитель (Builder) в группе Настройка запроса (Query Setup) ленты Конструктор (Design), или выбрав Построить (Build) в контекстно-зависимом меню. Курсор мыши должен быть установлен предварительно в ячейке ввода выражения. В левой части окна Построитель выражений (Expression Builder) (рис. 4.7) выберите таблицу ТОВАР, на которой построен запрос. Справа отобразится список ее полей. Последовательно выбирайте нужные поля и операторы, двойным щелчком вставляя в выражение. Выражение сформируется в верхней части окна. Обратите внимание, построитель перед именем поля указал имя таблицы, которой оно принадлежит, и отделил его от имени поля восклицательным знаком. Завершите процесс построения выражения в вычисляемом поле, щелкнув на кнопке ОК. Сохраните запрос под именем ― Цена с НДС и закройте его. Выполните сохраненный запрос. выделив его в области навигации и выбрав в контекстном меню команду Открыть (Open).
Задача 2. В вычисляемых полях и условиях отбора можно использовать встроенные функции. В Access определено более 150 функций.
Пусть необходимо выбрать все накладные, по которым производилась отгрузка в заданном месяце. В таблице НАКЛАДНАЯ дата отгрузки хранится в поле ДАТА_ОТГ с типом данных Дата/время (Date/Time).
- Создайте в режиме конструктора запрос на выборку для таблицы НАКЛАДНАЯ. Перетащите в бланк запроса поля НОМ_НАКЛ и КОД_СК (рис. 4.8).
- Создайте вычисляемое поле в пустой ячейке строки Поле (Field), записав туда одно из выражений: Format(!;mmmm) ― эта функция возвратит пол-ное название месяца
или Format(!;mm) ― эта функция возвратит номер месяца. - Для отбора накладных, выписанных в заданном месяце, в вычисляемом поле в строку Условие отбора (Criteria) введите название месяца, например март (рис. 4.8), или номер месяца, например 3 в соответствии с параметром в функции Format.
- Выполните запрос, нажав кнопку Выполнить (Run) в группе Результаты (Results) на вкладке ленты Работа с запросами | Конструктор (Query Tools | Design).
- Запишите в вычисляемом поле функцию Month(НАКЛАДНАЯ!ДАТА_ОТГ), и убедитесь, что эта функция возвращает выделенный из даты номер месяца.
- Для выборки всех строк, относящихся ко второму кварталу, в строку Условие отбора (Criteria) введите оператор Between 4 And 6, определяющий, попадает ли значение выражения в указанный интервал.
- Запишите в вычисляемом поле выражение MonthName(Month(НАКЛАДНАЯ!ДАТА_ОТГ)) и убедитесь, что функция MonthName преобразует номер месяца в его полное на-звание.
Параметрический запрос Access тут .
Проблемы с базой данной Access? Не можете сдать курсовую и получить зачет? Заходите в группу ВКонтакте vk.com/access_community . Поможем!
Showing 2 comments
Подскажите формулу для вычисляемого поля итоговая дата. К примеру есть начальная дата к ней прибавляется количество суток, итоговая ячейка должна заполниться автоматически
Источники: Комментариев пока нет!
Microsoft Access представляет собой систему управления базами данных. В этой программе вы можете создать различные запросы для отбора данных по определенным критериям, в том числе и вычисляемые.
Вам понадобится
- — компьютер;
- — программа Access.
Инструкция
Выполните добавление вычисляемых полей для того, чтобы сделать расчет в Access. Создать такое поле вы можете в форме, запросе или отчете, по необходимости. Чтобы выполнить подсчет в вычисляемом поле введите выражение. Оно представляет собой формулу, которая аналогична формулам в Excel, только в ней используются не ссылки на ячейки, а имена таблиц и полей.
Используйте при построении выражений элементы: идентификаторы (имя поля, заключенное в квадратные скобки, например, поле «Цена» из таблицы «Товары» – [Товары][Цена]; операторы (+, -, *, /); функции, константы, значения (численные).
Создайте вычисляемый запрос, для этого перейдите во вкладку «Запросы» базы данных, выберите «Создать» – «В режиме конструктора». Выберите используемые в расчетах поля нужных таблиц или запросов. В новом поле введите в имя поля выражение, например, =[Цена]*[Количество].
Если в запросе вы используете поля одной таблицы, тогда в выражении необязательно указывать ее имя. Если же в нем учувствуют несколько таблиц, тогда к шимени поля добавляйте название таблицы, как приведено во втором шаге. После этого запустите запрос на выполнение с помощью восклицательного знака на панели инструментов.
Воспользуйтесь построителем выражений для создания сложных вычислений в запросе. Для этого в свободном поле щелкните мышкой в имени, выберите «Построить». Обратите внимание, что в верхней части построителя находится текстовое поле выражения, которое предназначено для записи выражения. Чуть ниже размещается строка с арифметическими операторами. В нижней области размещены три текстовых поля, которые используются для выбора элементов, вставляемых в выражение.
Введите выражение вручную либо сформируйте его из готовых функций и операторов. К примеру, выберите таблицы и поля для добавления в запрос, между ними с панели построителя добавляйте арифметические операторы, либо функции из соответствующего раздела. После этого щелкните «ОК». Вычисляемый запрос в Access готов.
Войти на сайт
или
Забыли пароль?
Еще не зарегистрированы?
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.