VBA Добавить комбинированные значения вместе
У меня есть 3 поля со списком, которые содержат числа:
Me.Authorized
Me.Officer
Me.Enlisted
То, что я пытаюсь сделать, это добавить значения Me.Officer и Me.Enlisted и убедиться, что они равны Me.Authorized. У меня есть все другие заявления / команды, но я не могу обернуться вокруг этого.
1 ответ
Решение
Выбранное значение поля со списком является строкой, даже если эта строка содержит только цифры. Ты можешь использовать Val()
чтобы преобразовать эту строку в число.
Таким образом, ваше необходимое условие может быть выражено как...
Val(Me.Officer) + Val(Me.Enlisted) = Val(Me.Authorized)
Вы можете применить это требование в событии формы перед обновлением...
Private Sub Form_BeforeUpdate(Cancel As Integer)
If (Val(Me.Officer) + Val(Me.Enlisted) <> Val(Me.Authorized)) Then
MsgBox "Officer plus Enlisted must be equal to Authorized."
Cancel = True
End If
End Sub
Эта процедура события прервет сохранение записи, если ваше требование не будет выполнено.