Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Formularfelder auskundschaften

nderungen an Tabellenfeldern und deren Eigenschaften ziehen in der Regel Anpassungen an verschiedenen Stellen nach sich. Dazu gehren die Abfragen, Formulare und Berichte sowie deren Steuerelemente und der VBA-Code in Modulen. Der vorliegende Beitrag beschreibt, wie Sie mit einer einfachen Funktion die Datenherknfte von Formularen und die Datensatzherknfte beziehungsweise Steuerelementinhalte der Steuerlemente ausgeben knnen. Diese Informationen knnen auf das Vorhandensein des genderten Feldnamens untersucht werden.

Funktion zur Ausgabe von Formular- und Steuerelementeigenschaften

Die nachfolgende Funktion gibt zu jedem enthaltenen Formular den Formularnamen und die Datenherkunft des Formulars aus. Desweiteren werden alle Textfelder, Listenfelder und Kombinationsfelder inklusive Datensatzherkunft (nicht fr Textfelder) und Steuerelementinhalt ausgegeben.

Optionsgruppen und Kontrollkstchen wurden hier ausgelassen, knnen aber leicht in die Untersuchung miteinbezogen werden.

Public Function FormularDurchsuchen()

    Dim db As DAO.database

    Dim rst As DAO.Recordset

    Dim objForm As Form

    Dim ctl As Control

    Set db = CurrentDb

    Set rst = db.OpenRecordset("SELECT Name AS Formularname FROM MSysObjects WHERE Type = -32768", dbOpenDynaset)

    Do While Not rst.EOF

        DoCmd.OpenForm (rst!Formularname), acDesign

        Set objForm = Forms(rst!Formularname)

        Debug.Print objForm.Name

        Debug.Print objForm.RecordSource

        For Each ctl In objForm.Controls

            If ctl.ControlType = acComboBox Or ctl.ControlType = acListBox Or ctl.ControlType = acTextBox Then

                Debug.Print "  " & ctl.Name

                On Error Resume Next

                Debug.Print "    Datensatzherkunft:" & ctl.RowSource

                Debug.Print "    Steuerelementinhalt: " & ctl.ControlSource

                On Error GoTo 0

            End If

        Next ctl

        Set objForm = Nothing

        DoCmd.Close acForm, rst!Formularname

        Debug.Print "========================================================"

        rst.MoveNext

    Loop

End Function

Obige Funktion kann leicht fr die Anwendung mit Berichten umgeschrieben werden.

© 2003-2015 André Minhorst Alle Rechte vorbehalten.