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

Эта процедура события прервет сохранение записи, если ваше требование не будет выполнено.

Другие вопросы по тегам