PDA

Vollständige Version anzeigen : Benutzerdefinierte Events in Formularen (Beispiel Personensuche)


Atrus2711
24.07.2009, 08:30
Hallo,

diese DB demonstriert, wie sich benutzerdefinierte Ereignisse in Formularen einsetzen lassen. Demonstrationsobjekt ist das Suchen, Bearbeiten und Auswählen von Personen.

frmPersonensuche erlaubt das Suchen, Bearbeiten und Neuanlegen von Personen. Beim Ändern und Neuanlegen von Personen werden Ereignisse geworfen, die dafür sorgen, dass nur die betroffene Person gezeigt wird, unabhängig von den Suchkriterien.

Im frmDemo wird dieses Suchformular benutzt, um PersonenIDs in zwei Textfelder zu schreiben. Auch hier kommen Ereignisse zum Einsatz, die auf eine erfolgreiche Auswahl reagieren. Der Aufruf des Suchformulars als "Selektor" für ein anderes Formular geschieht über die eigendefinierte Property pSelectMode (False = "autonomes" Formular, True = Aufruf als Selektor, d.h. der Auswahlbutton ist aktiv und wirft die gewählte ID an den Aufrufer zurück).

Das Suchformular dient in frmDemo gleichsam als komfortabler und einheitlicher (!) Ersatz für ein Kombifeld.

lalo
24.07.2009, 10:45
Hilft mir sehr !
Danke

Inti31
28.07.2009, 19:12
Das ist ein ganz prima Beispiel.
Habs mal gem. Deiner Signatur für mich angepasst. :)

Spart mir mehrere Unterformulare - deswegen kriegst Du von mir auch eine Top-Bewertung!

Einzige Frage: kann man die Spaltenüberschrift variable gestalten?
In meinem Formular habe ich ein Kombinationsfeld, welchem ich eine RowSource zuweise (über Checkboxen).Dem AfterUpdate-Event dann erfolgt dann der jeweilige rst nebst der Ausgabe in das Object. Ich hätte dann gerne die Überschrift dementsprechend angepaßt...

Apropos:
Zur Info: Die Anpassung der Spaltenbreite lässt sich mittels eines netten Moduls korrigieren/anpassen:
http://www.vbarchiv.net/tipps/tipp_762-automatische-spaltenbreite-im-listview-control.html

Nach dem Loop einfach folgendes eingeben:
lvwSetAllColWidth lvw

Gruß Inti31

Atrus2711
24.08.2009, 07:10
Hallo,

auf Wunsch einiger User habe ich eine Version für Access 2000 erzeugt.

Für beide Versionen der Tipp: Sollte die MDB nicht kompilieren, bitte die Verweise (VBA: Extras/Verweise) prüfen. Für das Listview ist ein Verweis auf die mscomctl.ocx im Ordner System32 (unterhalb des WIndows_Installationsordners) erforderlich.