Программный запуск процедуры

КД
Дата: 25.11.2009 20:25:58
Некая процедура в форме снимает галки во всех флажках:

For Each ctl In Me.Controls
    If TypeOf ctl Is CheckBox Then
          ctl.Value = False
          …вызов процедуры _Click ???
    End If
Next ctl
но помимо этого для некоторых флажков существуют процедуры типа:
Private Sub chkDateLeg_Click()
On Error GoTo ErrorHandler
    
    If Me!chkDateLeg.Value = True Then
        Me!txtDateLeg.DefaultValue = """" & Me!txtDateLeg.Value & """"
    Else
        Me!txtDateLeg.DefaultValue = ""
    End If
    
ErrorHandlerExit:
    Exit Sub
ErrorHandler:
    MsgBox "Ошибка №:" & Err.Number & ";Описание:" & Err.Description
    Resume ErrorHandlerExit
End Sub

можно ли как-то для каждого флажка вызвать такую процедуру из цикла?
отакота
Дата: 25.11.2009 20:50:18
посмотрите CallByName
отакота
Дата: 25.11.2009 21:05:01
т.е.
For Each ctl In Me.Controls
    If TypeOf ctl Is CheckBox Then
          ctl.Value = False
          CallByName Me, ctl.Name & "_Click", VbMethod ' <-- вот так
    End If
Next ctl
при этом вызываемые таким образом методы (chkDateLeg_Click) НЕ должны быть Private
Владимир Саныч
Дата: 25.11.2009 21:25:29
КД
Private Sub chkDateLeg_Click()

Нехорошо. Гораздо лучше chkDateLeg_AfterUpdate.
КД
Дата: 25.11.2009 22:18:24
2 отакота
Спасибо!

2 Владимир Саныч
Спасибо! Учту.