Autor Thema: Feld vom Typ Dialogliste  (Gelesen 1443 mal)

Jürgen Schomann

  • Gast
Feld vom Typ Dialogliste
« am: 06.05.12 - 15:44:06 »
ich habe in einer Maske ein Feld vom Typ Dialogliste mit 'Mehrfachwerte zulassen'. Außerdem ist die Eigenschaft 'Felder bei Schlüsselwortänderung aktualisieren' aktiviert.
Die Werte für die Auswahl sind direkt angegeben, z. B. 1, 2, 3.
Wenn ich nun auf die Hilfsschaltfläche klicke, wird mir die Auswahlliste mit kleinen Kontrollkästchen angezeigt und ich kann ein oder mehrere Werte markieren.
Beim Beenden der Auswahl über den OK-Schalter wird dann auch wie gewünscht das Ereignis Queryrecalc aufgerufen. Bei jeder Änderung der Auswahl ebenfalls.
Auch wenn ich den Inhalt des Feldes markiere und lösche wird das Ereignis Queryrecalc aufgerufen.
Wenn ich aber in der Auswahlliste bei allen Kontrollkästchen die Markierunmg entferne, also nichts mehr ausgewählt ist, kommt beim Verlassen mit 'OK' keine Reaktion über das Queryrecalc-Ereignis. Auch das onChange-Ereignis des Feldes wird nicht aufgerufen.
Gibt es irgendeine Möglichkeit auf diesen Fall zu reagieren?

Ein andere Möglichkeit wäre statt Dialogliste den den Typ Listenfeld zu nehmen. Nachteilig ist dabei aber, dass bei jeder Änderung eines einzelnen Wertes immer gleich das Queryrecalc-Ereignis aufgerufen wird.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Feld vom Typ Dialogliste
« Antwort #1 am: 06.05.12 - 17:23:47 »
Faszinierend - DAS ist mir bisher auch nie aufgefallen ...

Das ganze betrifft auch das PostRecalc, und ein "Felder automatisch aktualisieren" in de nmaskeneigenschaften macht den Mist kein Stück besser.
Mach einen PMR auf! Aber helfen wird das zunächst natürlich gar nichts.
Du hast ja sicherlich eine Sub oder Function, die Du im QueryRecalc aufrufst. Packe die auch ins Exiting-Event und natürlich ins QuerySave. (Durch diese Sicherstellungsverfahren ist mir das bisher auch nie aufgefallen).
Alternativ baust Du Dir mit einer Dialogbox oder einem Prompt die gewünschte Funktionalität selber auf: Beim Click auf die "täuschend echt aussehende" Auswahlhilfe merkst Du Dir erst den bestehenden Wert, nach Abschluss der Auswahl prüfst Du den und rufst dann ggf. Deine Routine auf.
Schön ist natürlich was anderes (ein funktionierender Client).

HTH,
Bernhard

Jürgen Schomann

  • Gast
Re: Feld vom Typ Dialogliste
« Antwort #2 am: 06.05.12 - 17:34:54 »
Danke für deine Hinweise.
Bin auf diesen Effekt auch nur durch Zufall gestoßen. Der Workaround über eine eigene Dialogbox scheint mir am besten. Ich möchte dies ganze selbst schon in einer Dialogbox verwenden.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz