0 / 0 / 0
Регистрация: 30.01.2011
Сообщений: 37
1

Вычисляемое поле в зависимости от поля в записи

06.02.2011, 08:46. Показов 1086. Ответов 5
Метки нет (Все метки)

Здравствуй многоуважаемый All

продолжаю мэкать в access'e )

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

если учитывать (стоит галочка) Вычисляемое поле = поле сумма * ставка НДС (лукапное поле)

если нет вычисляемое поле = поле суммы

т.е. грубо говоря переписать это
C++
1
2
3
4
5
6
7
8
9
10
11
 if (IBQuery2_internal_table->FieldByName('NDS_QUESTION')->AsInteger == 2)
       {
         IBQuery2_internal_table->FieldValues['NDS_cost'] = IBQuery2_internal_table->FieldValues['COST'] * IBQuery2_nds->FieldValues['NDS'] / 100;
 
         IBQuery2_internal_table->FieldValues['Summa'] = (IBQuery2_internal_table->FieldValues['COST'] * IBQuery2_nds->FieldValues['NDS'] / 100) + IBQuery2_internal_table->FieldValues['COST'];
       }
     else
      {
        IBQuery2_internal_table->FieldValues['NDS_cost'] = '';
        IBQuery2_internal_table->FieldValues['Summa'] = IBQuery2_internal_table->FieldValues['COST'];
       }
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.02.2011, 08:46
Ответы с готовыми решениями:

Вычисляемое поле и пользовательские поля
Добрый день уважаемые форумчане. Прошу вас помочь мне с таким вопросом. Есть отчет на скд(набор...

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

Внесение записи в таблицу через форму. Вычисляемое поле. Макросы, без VBA
Здравствуйте! Пожалуйста, помогите сделать следующее: при внесении записи в таблицу Бронирование...

Источник строк поля со списком в зависимости от значения в другом поле
Здравствуйте! Подскажите, почему не работает запрос в форме в поле "2 уровень" в его источнике...

5
0 / 0 / 0
Регистрация: 08.02.2010
Сообщений: 345
06.02.2011, 09:37 2
Вот работающий пример
NDS1-это флажок на наличие НДС
Visual Basic
1
2
3
4
5
6
7
8
9
Private Sub NDSosv_DblClick(Cancel As Integer)
If Me.NDS1 = 0 And Me.NacData < DateSerial(2004, 1, 1) And Me.NacData >= DateSerial(2001, 1, 1) Then
      Me!NDSosv = Round(Nz([Osvoenye]) - Nz([Osvoenye] / 1.2), 5)
   Else
       If Me.NDS1 = 0 And Me.NacData >= DateSerial(2004, 1, 1) Then
       Me!NDSosv = Round(Nz([Osvoenye]) - Nz([Osvoenye] / 1.18), 5)
       End If
End If
End Sub
0
0 / 0 / 0
Регистрация: 02.12.2010
Сообщений: 54
06.02.2011, 09:41 3
используйте функцию iif()
из Help'a
Возвращает одно из двух значений в зависимости от истинности указанного выражения.

Синтаксис

IIf(expr, truepart, falsepart)

Синтаксис функции IIf содержит следующие именованные аргументы:

Элемент Описание
expr Обязательный. Проверяемое выражение.
truepart Обязательный. Значение или выражение, возвращаемое, если expr имеет значение True.
falsepart Обязательный. Значение или выражение, возвращаемое, если expr имеет значение False.
Дополнительные сведения

Функция IIf вычисляет оба выражения (truepart и falsepart), несмотря на то, что возвращается только одно из них. В некоторых случаях это приводит к нежелательным побочным эффектам. Например, если при вычислении выражения falsepart имеет место деление на нуль, то возникнет ошибка, даже если значение expr имеет значение True.
0
0 / 0 / 0
Регистрация: 30.01.2011
Сообщений: 37
06.02.2011, 10:08  [ТС] 4
2Ирча
спасибки
попробую разобраться

2ZYKm
спасибо
проблема в том что не могу ничего понять
даже простейший пример (для проверки)не работает
синтаксис вроде ж правильный

пишу все в ПОЛЕ->Данные
if [НДС]=1 then [Итого]=[Сумма]*2

или так нельзя? надо обязательно объявлять какую либо функцию?
0
0 / 0 / 0
Регистрация: 02.12.2010
Сообщений: 54
06.02.2011, 13:07 5
Надо так
=Sum(iif([НДС]=1 ;[Сумма]*2;0))
0
0 / 0 / 0
Регистрация: 30.01.2011
Сообщений: 37
10.02.2011, 11:50  [ТС] 6
Спасибо! То что нужно!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.02.2011, 11:50
Помогаю со студенческими работами здесь

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

BackColor записи в DataGrid в зависимости от значения поля
Как менять цвет фона записи в DataGrid в зависимости от значения определенного поля

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

Изменение поля записи в зависимости от полей других записей
Дана всего одна таблица с 15 полями (ID, комментарий (текст) и остальные поля вещественного типа) и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru