Microsoft Access: как сделать IF в выражении вычисляемого поля? - PullRequest
2 голосов
/ 06 июня 2011

Я хочу, чтобы у моего вычисляемого поля было условное значение, подобное этому: если fieldA равно 0, тогда установите fieldC в 0 иначе поле C = fieldB / fieldA

Как мне это сделать? Спасибо.

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

Ответы [ 2 ]

2 голосов
/ 07 июня 2011

Вы можете добавить такую ​​процедуру в код вашего модуля ...

Public Function CalculateFieldC(ByVal fieldA as Long, ByVal fieldB as Long) as Single
  If fieldA = 0 Then
    CalculateFieldC = 0
  Else: CalculateFieldC = fieldB / fieldA
  End If
End Function

Затем вызовите его из оператора SQL; например:

SELECT fieldA, fieldB, CaculateFieldC(fieldA, fieldB) AS fieldC
FROM aTableWithFieldAandFieldB;
2 голосов
/ 06 июня 2011

В определении таблицы: невозможно.

Как запрос:

SELECT
  IIF(FieldA = 0; 0; FieldB / FieldA) AS FieldC
FROM
  ATableWithFieldAAndFieldB

Как текст SQL в VBA: заменить;с,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...