Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: KonradR am Juli 01, 2024, 17:39:00

Titel: Nur Textfelder erfassen
Beitrag von: KonradR am Juli 01, 2024, 17:39:00
Hallo liebe Accessfreunde,

ich möchte beim Start eines Formulars alle darauf befindlichen Textfelder (Textbox) ermitteln. Leider habe ich keine Eigenschaft im Controls - Element gefunden. Gibt es da noch eine Möglichkeit? Was ich zumindest herausgefunden habe, ist, dass ich einer Variablen den Datentyp "Textbox" Dim Txt As Textbox zuweisen kann. Könnte ich dann nach dem Datentyp "Textbox" suchen? Leider habe ich dazu nichts gefunden. Gibt es da Objektdatentypen und wenn ja, in welcher Auflistung sind die enthalten? Schon im Voraus vielen Dank.

Grüße: Konrad
Titel: Re: Nur Textfelder erfassen
Beitrag von: PhilS am Juli 01, 2024, 22:19:44
Es gibt die Eigenschaft ControlType. Die Basisklasse Control hat diese Eigenschaft nicht, deshalb hast du sie vermutlich nicht gefunden. Da aber jedes konkrete Control diese Eigenschaft hat, kannst du folgendes machen:

Dim ctl as Control
For Each ctl in Me.Controls
  If ctl.ControlType = acTextBox Then
    MsgBox "Ich heiße " & ctl.Name & " und bin eine Textbox"
  End If
Next ctl
Titel: Re: Nur Textfelder erfassen
Beitrag von: KonradR am Juli 06, 2024, 07:36:12
Hallo PhilS,

vielen Dank. Das war die Lösung und genau das, was ich wollte. Vielen Dank. Jetzt funktioniert es.