Benutzung auf eigene Gefahr ! |
Beschreibung |
Wenn man ein Formular bearbeitet hat, kommt es vor, daß im Formularmodul haufenweise Code von Steuerelementen zurückbleibt, obwohl die Steuerelemente selbst gar nicht mehr existieren. Das trifft insbesondere zu, wenn man mit dem Steuerelement-Assistenten von Access gearbeitet hat. Mit diesem Programm erhält man schnell eine Auflistung aller existierenden Steuerelemente und kann dann die Ereigniseigenschaften im Code nach fehlenden Steuerelementen durchforsten. Die Funktion durchforstet alle geöffneten (!) Formulare und benötigt zur Ausgabe der Steuerelementnamen eine Tabelle, deren erste Spalte ein Text- oder Memofeld ist. Der Name der Tabelle wird als Argument von SucheSteuerelementNamen verwendet. |
VBA-Quelltext |
Public Sub SucheSteuerelementNamen(TabName As String) Dim Formular As Form, SteuerElement As Control, Tabelle As DAO.Recordset DoCmd.SetWarnings False DoCmd.RunSQL "DELETE * FROM [" & TabName & "];" Set Tabelle = CurrentDb.OpenRecordset(TabName) For Each Formular In Forms For Each SteuerElement In Formular.Controls Tabelle.AddNew Tabelle.Fields(0) = Formular.Name & "![" & SteuerElement.Name & "]" Tabelle.Update Next SteuerElement Next Formular Tabelle.Close DoCmd.OpenTable TabName DoCmd.RepaintObject acTable, TabName End Sub |
Argumente der Funktion/Prozedur |
|
Anwendungsbeispiel(e)... |
Die erste Spalte der Tabelle 'Test' ist vom Typ Memofeld. Mit |
Hinweis |
Die Funktion löscht zunächst alle Zeilen in der Tabelle. |
Anwendungsgebiete, Fehler und Warnungen |
Verwendet die DAO Objektbibliothek. Ab Access 2000 muss diese explizit im VBA-Editor über 'Extras' -> 'Verweise' als 'Microsoft DAO 3.6' (oder höher) eingebunden werden und vor die 'Microsoft ADO 2.1' (oder höher) Bibliothek gesetzt werden. |