DatenbankManufaktur

Anwendungen so individuell wie Ihr Unternehmen   –   Office- und VBA-Erfahrung seit 1995

Datenblatt zurücksetzen

Ich nutze gerne Formulare in der Datenblattansicht, damit sich meine Kunden ihre Listen selber anpassen können. Dabei "vergaloppieren" sich einige so, dass sie gerne einfach wieder per Knopfdruck auf eine Standardansicht zurück wechseln möchten.

Dafür habe ich mir eine kleine Funktion gebastelt, die auf Knopfdruck (oder auch beim Anwendungsstart) Spalten, Filter und Sortierung wieder auf "Werkseinstellungen" zurücksetzt:

Code-Schnipsel

Private Function fResetForm()
'-----------------------------------------------------------------------------
' Datenblatt auf "Werkseinstellungen" zurücksetzen
'-----------------------------------------------------------------------------
Dim frm As Form
Dim ctl As Control

Set frm = Me!fsubUnterformular.Form

frm.FilterOn = False
frm.OrderByOn = False
frm.RowHeight = -1

' für die Entwicklung zum Einlesen der Werte und Erstellen des Codes
'   For Each ctl In frm.Controls
'      Select Case ctl.ControlType
'         Case acTextBox, acComboBox, acCheckBox, acListBox
'            ' Spalteneigenschaften zusammenstellen
'            Debug.Print _
            "frm!" & ctl.Name & ".ColumnWidth = " & ctl.ColumnWidth & vbCrLf _
          & "frm!" & ctl.Name & ".ColumnOrder = " & ctl.ColumnOrder & vbCrLf _
          & "frm!" & ctl.Name & ".ColumnHidden = " & CInt(ctl.ColumnHidden)
'      End Select
'   Next ctl

frm!txtTest.ColumnWidth = 1920
frm!txtTest.ColumnOrder = 1
frm!txtTest.ColumnHidden = 0
...
End Function

Mit dem auskommentierten Teil erstelle ich mir einmalig den darauf folgenden VBA-Code, der die Spalteneigenschaften wieder herstellt.

Für einen Kunden habe ich die Funktion so erweitert, dass die Änderungen für jeden Mitarbeiter lokal in der Registry gespeichert werden und so auch nach einem Anwendungsupdate vorhanden sind. Wenn Sie eine Anwendung mit einer solchen oder ähnlichen Funktion benötigen, kontaktieren Sie mich einfach.