Öffentl. Formularmethode zur Entwicklungszeit
Georg M
Gesendet: 14.04.14 09:59
Betreff: RE: Öffentl. Formularmethode zur Entwicklungszeit


Member

Beiträge: 7

Hallo Henry,

warum ich das nicht in ein eigenes Modul lege:

Ich habe in praktisch jedem Formular im Formular-Code unten eine Methode Dev, die etwa so aussieht:

Sub Dev()

   'Steuerelemente ein- oder ausblenden

   'Pixel- bzw. Twip-genaue Ausrichtungen

   'Bedingte Formatierungen

   'Div. Überprüfungen (z. B. Datenquelle)

   'Feedback
   Debug.Print "Dev-Method for " & Me.Name & " done."

End Sub
'Form_SomeForm.Dev

Die letzte Zeile Form_SomeForm.Dev kopiere ich bei der Arbeit am Formular (während es also in der Entwurfsansicht geöffnet ist) nach Bedarf ins Direktfenster und führe die Methode von dort aus aus. Manches, wie Änderungen an einer Reihe von Steuerelementen oder pixelgenaue Ausrichtungen, wird dadurch erst möglich / sinnvoll.

Um nun vor Release einer neuen Datenbankversion die Dev-Methoden aller Formulare bzw. Berichte auszuführen (und so in der Folge einen definierten Zustand sicherzustellen), habe ich eine Methode in einem Standard-Modul, die etwa so aussieht:

Sub Dev4All()

   For Each Formular und Bericht in Datenbank

      'Formular in Entwicklungsansicht öffnen

      'Entwicklungszeitmethode durchführen
      Select Case Formularname
         Case SomeForm1:Form_SomeForm1.Dev
         Case SomeForm2:Form_SomeForm2.Dev
      End Select

      'Formular schließen

   Next

End Sub

Funktioniert soweit einwandfrei. Ohne Frage eleganter wäre eine Lösung, die mir an der Stelle das Hartcodieren der Formularnamen spart, da sich die ja immer wieder mal ändern. Weil's aber erstens dort dann nicht mehr kompiliert und ich zweitens den betreffenden Code nicht händisch schreibe, sondern generiere, nicht weiter tragisch.

Danke für deinen Hinweis zum acSysCmdGetObjectState, ich werde das überprüfen!

Grüße
Georg

 

 

 

 

 

Top of the page Bottom of the page