2015-05-30 5 views
0

Я хотел бы очистить все элементы управления в форме Access 2013. Я нашел следующий скрипт на этом сайте Johan Godfried, и он работает очень хорошо.Access 2013 vba - очистить элементы формы, минуя вычисленные элементы управления

Private Sub resetForm() 

Dim ctl As Control 

For Each ctl In Me.Controls 
    Select Case TypeName(ctl) 
     Case "TextBox" 
      ctl.value = "" 
     Case "CheckBox", "ToggleButton" 
      ctl.value = False 
     Case "OptionGroup" 
      ctl = Null 
     Case "OptionButton" 
      ' Do not reset an optionbutton if it is part of an OptionGroup 
      If TypeName(ctl.Parent) <> "OptionGroup" Then ctl.value = False 
     Case "ComboBox", "ListBox" 
      ctl.RowSource = vbNullString 
    End Select 
    Next ctl 
End Sub 

исключения того, что при итерации выбирает вычисляемое управление я получаю следующее сообщение об ошибке: Вы не можете присвоить значение этого объекта.

Есть ли свойство, которое может использоваться для обхода вычисленных элементов управления?

+0

Что вы имеете как свойство Control Source для этих элементов управления, которые вы хотите очистить? Контрольный источник пуст для этих целевых элементов управления? – HansUp

ответ

0

пытаются Me.myControl.controlsource="" к несвязанным, которые контролируют

, а затем вызвать resetForm()

Смежные вопросы