Несколько операторов If в подпрограмме доступа 2007 vba.Любопытно, есть ли другой способ? - PullRequest
1 голос
/ 15 июля 2011

Сначала позвольте мне предположить, что я очень новичок в доступе к vba.

У меня вопрос: у меня есть несколько операторов if if else, например

If Me.txtRevenuePerHour.Value < 90 Then
    Me.chkRPH.Value = -1
    Me.chkRPH.Enabled = "False"
End If

If Me.txtLoadTime.Value < 0.25 Then
    Me.chkLT15.Value = -1
    Me.chkLT15.Enabled = "False"
End If

Мне было интересно, есть ли другой способ, кроме переписывания операторов if снова и снова. Если нет, то я приму это, но просто любопытно, есть ли другой путь.

Операторы if проверяют флажок, если соблюдаются определенные условия. Большинство из них разные условия, но некоторые одинаковы

Спасибо, раньше времени

1 Ответ

1 голос
/ 15 июля 2011

Код для каждого if использует совершенно разные объекты и условия в предложении If и внутри блоков If также используются различные объекты.

Невозможно обобщить само If, хотя тело If может быть:

непроверенный код:

Sub DisableAndSetToMinusOne(ctrl As Control)
  ctrl.Value = -1
  ctrl.Enabled = "False"
End Sub


If Me.txtRevenuePerHour.Value < 90 Then
    DisableAndSetToMinusOne(Me.chkRPH)
End If

If Me.txtLoadTime.Value < 0.25 Then
    DisableAndSetToMinusOne(Me.chkLT15)
End If
...