Einzele Felder eines Formulars bearbeiten, sperren ( Access 2010 VBA )
Karl Donaubauer
Gesendet: 16.06.14 12:52
Betreff: RE: Einzele Felder eines Formulars bearbeiten, sperren ( Access 2010 VBA )



Elite Veteran

Beiträge: 744
50010010025
Ort: Wien
Hallo!

Mozi - 14.06.14
...
Me.Einrichter.Enabled = True 'Wenn ich das Control mit Name anspreche geht es
Me(ctl.Name).Enable = True 'Wenn ich über den ctl.Name gehe kommt der Laufzeitfehler 438

Da fehlt nur das "d" am Ende von "Enable".


For Each ctl In Me.Controls

Select Case ctl.Name
Case "Sperren_Entsperren"
Me.Sperren_Entsperren.Enabled = True

Case "SuchtextName"
Me.SuchtextName.Enabled = True

Case "SuchTelNr"
Me.SuchtextName.Enabled = True

Case Else

Select Case ctl.Properties.Item(2)
Case 109 ' Textfeld zur Eingabe eines Wertes
Me(ctl.Name).enable = False

Case 104 ' Schaltfläche Um Befehle / Macrods auszuführen
Me(ctl.Name).enable = True


Case Else ' Für alle anderen Fälle( Wenn der Typ eines Feldes ausgelesen werden soll, einfach
' Kommentar der MsgBox Zeile entfernen
'MsgBox (ctl.Name & vbCrLf & "Typ ID: " & ctl.Properties.Item(2))

End Select
End Select

Würde ich eher so schreiben:

If ctl.ControlType = acTextBox Or ctl.ControlType = acCommandButton Then
Select Case ctl.Name
Case "Sperren_Entsperren", "SuchtextName", "SuchTelNr"
Me(ctl.Name).Enabled = True
Case Else
Me(ctl.Name).Enabled = False
End Select
End If

s.a. F1 von "ControlType".

-----
Servus
Karl
*********
Internationale Access-Konferenz: http://AccessDevCon.com
Access-Entwickler-Konferenz: https://www.donkarl.com/?aek
Top of the page Bottom of the page