ComboBox im Grid in einer SubForm -> Event nicht ausgelöst

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

madmatmed
**
Beiträge: 32
Registriert: Do, 15.01.2015 09:26

ComboBox im Grid in einer SubForm -> Event nicht ausgelöst

Beitrag von madmatmed »

Hallo zusammen,

ich hab vor ein paar Tagen begonnen mich mit OpenOffice Base zu beschäftigen.

Unter Zuhilfenahme von google, konnte ich auch schon ein kleines Projekt realisieren und hab mich dazu entschlossen ein paar Sachen für zu Hause umzusetzen.

Ich beginne mit unserem Haushaltsbuch.

Jetzt bin ich auf folgendes Problem gestoßen, dass ich leider nicht mit Hilfe von google lösen konnte:

Ich habe eine Form "RegisterCashBon". Diese besteht aus einem Kopfteil und einer SubForm mit Erfassungszeilen.

In der SubForm ist ein Grid, in dem Grid wiederum ist eine ComboBox. Beim Ändern des Wertes in der ComboBox, möchte ich ein Makro ausführen.

Der Inhalt des Makros ist dafür relativ unwichtig. Momentan steht da nur

Code: Alles auswählen

MsgBox "Hallo Welt"
Ich habe in den Eigenschaften unter Ereignisse das Makro dem Ereignis "Text modifiziert" zugeordnet. Leider wird dieses Ereignis nie ausgelöst/durchlaufen.

Hat jemand von euch eine Ahnung, wieso das so sein könnte. Hab die Datenbank mal angehängt.
Dateianhänge
Haushaltsbuch.odb
(48.56 KiB) 60-mal heruntergeladen
F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

Beitrag von F3K Total »

Moin,
probiere doch mal die anderen Ereignisse, wie "Status geändert" oder "Maustaste losgelassen" durch.
Gruß R
madmatmed
**
Beiträge: 32
Registriert: Do, 15.01.2015 09:26

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

Beitrag von madmatmed »

Hatte ich schon gemacht. Die anderen Events werden meist auch ausgelöst, aber leider nicht in der Art und Weise, wie ich es benötige.

Was ich nicht verstehe ist, dass ich im Kopf der Form ja auch eine ComboBox vorhanden ist, wo das Ereignis einwandfrei funktioniert, egal, ob ich eintippe oder auswähle....
RobertG
********
Beiträge: 2034
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

Beitrag von RobertG »

Hallo madmatmed,

in Deinem MainForm handelt es sich bei der Combobox um eine Standalone-Version. Wenn Du so eine Version auch im SubForm einbaust, dann funktioniert die auch da. Innerhalb eines Tablecontrol sind die verschiedenen Felder in ihrer Funktionalität aber beschränkt. Schon der Blick auf die Ereignisse innerhalb und außerhalb des Tablecontrols macht das vielleicht deutlich. Da das Ereignis für Dich innerhalb des Tablecontrols nicht auslösbar ist wird wohl kein Listener auf dieses Ereignis angesetzt sein.

Du könntest einmal versuchen, das Listenfeld innerhalb des Tablecontrols mit xray weiter zu erforschen. Vielleicht gibt es ja dort einen Listener, den Du beim Laden des Unterformulars ebenfalls mit laden kannst.

Gruß

Robert
madmatmed
**
Beiträge: 32
Registriert: Do, 15.01.2015 09:26

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

Beitrag von madmatmed »

Hallo Robert,

erst mal vielen Dank für deine Antwort. Der Unterschied in den Events war mir aufgefallen, da mein gewünschtes Event einmal an erster und einmal an zweiter Stelle stand. Ich dachte nur, dass die Events, die angeboten werden auch funktionieren müssten.

Ich hab noch keine Ahnung, was du mit Listener meinst, aber ich werde es herausfinden. Hab das XRay - Tool gefunden und installiert und werde mich mal schlau machen. Ich denke mal, ich werde mich dann nochmal mit ein paar Fragen melden. Aber bis dahin hab ich ja erstmal was zu tun.

Gruß
Mathias
madmatmed
**
Beiträge: 32
Registriert: Do, 15.01.2015 09:26

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

Beitrag von madmatmed »

Und was mir auch noch gerade eingefallen ist, wenn ich die ComboBox durch eine ListBox ersetze, wird der Trigger ausgelöst. Deswegen vermute ich eher einen Bug.
F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

Beitrag von F3K Total »

Hi,
anbei eine Variante, die zeigt, wie du im Formular RegisterCashBon komplett ohne Makro auskommst.
Gruß R
Dateianhänge
Haushaltsbuch.odb
(49.48 KiB) 82-mal heruntergeladen
madmatmed
**
Beiträge: 32
Registriert: Do, 15.01.2015 09:26

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

Beitrag von madmatmed »

Vielen Dank für deine außerordentliche Mühe.

Das ist ein sehr interessantes Konzept. Was die ListBoxen betrifft, werde ich es wohl nicht so machen, weil mir die ComboBoxen besser gefallen. Aber die Dateneingabe ist eine gute Idee... Ich werde mir das mal durch den Kopf gehen lassen. Könnte gut sein, dass ich das so umsetze in meiner Datenbank.

Danke nochmals.

Gruß
madmatmed
**
Beiträge: 32
Registriert: Do, 15.01.2015 09:26

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

Beitrag von madmatmed »

So, hab mich mal mit dem Listener beschäftigt und auch umgesetzt. Im Ergebnis hbe ich jedoch kein Unterschied.

Hab dann mit dem XRay-Tool nochmal meine ProductGroupName - Spalte angeschaut und sehe da auch keinen Listener der passt. Vielleicht hab ich ja was übersehen. Kann nochmal jemand mit einem etwas geübteren Blick drüber schauen?

Hier das Ergebnis:

Code: Alles auswählen

 __ com.sun.star.beans.XPropertiesChangeListener __ 
 
   _ Events watched by this Listener _ 
disposing                                                  com.sun.star.lang.XEventListener 
propertiesChange                                           com.sun.star.beans.XPropertiesChangeListener 
 
   _ Methods using this Listener as a parameter _    ( nothing to display ) 
 
 
 __ com.sun.star.beans.XPropertyChangeListener __ 
 
   _ Events watched by this Listener _ 
disposing                                                  com.sun.star.lang.XEventListener 
propertyChange                                             com.sun.star.beans.XPropertyChangeListener 
 
   _ Methods using this Listener as a parameter _    ( nothing to display ) 
 
 
 __ com.sun.star.beans.XVetoableChangeListener __ 
 
   _ Events watched by this Listener _ 
disposing                                                  com.sun.star.lang.XEventListener 
vetoableChange                                             com.sun.star.beans.XVetoableChangeListener 
 
   _ Methods using this Listener as a parameter _    ( nothing to display ) 
 
 
 __ com.sun.star.form.validation.XFormComponentValidityListener __ 
 
   _ Events watched by this Listener _ 
disposing                                                  com.sun.star.lang.XEventListener 
componentValidityChanged                                   com.sun.star.form.validation.XFormComponentValidityListener 
 
   _ Methods using this Listener as a parameter _    ( nothing to display ) 
 
 
 __ com.sun.star.form.XResetListener __ 
 
   _ Events watched by this Listener _ 
disposing                                                  com.sun.star.lang.XEventListener 
approveReset                                               com.sun.star.form.XResetListener 
resetted                                                   com.sun.star.form.XResetListener 
 
   _ Methods using this Listener as a parameter _    ( nothing to display ) 
 
 
 __ com.sun.star.form.XUpdateListener __ 
 
   _ Events watched by this Listener _ 
disposing                                                  com.sun.star.lang.XEventListener 
approveUpdate                                              com.sun.star.form.XUpdateListener 
updated                                                    com.sun.star.form.XUpdateListener 
 
   _ Methods using this Listener as a parameter _    ( nothing to display ) 
 
 
 __ com.sun.star.lang.XEventListener __ 
 
   _ Events watched by this Listener _ 
disposing                                                  com.sun.star.lang.XEventListener 
 
   _ Methods using this Listener as a parameter _    ( nothing to display ) 
 
 
 __ com.sun.star.sdb.XSQLErrorListener __ 
 
   _ Events watched by this Listener _ 
disposing                                                  com.sun.star.lang.XEventListener 
errorOccured                                               com.sun.star.sdb.XSQLErrorListener 
 
   _ Methods using this Listener as a parameter _    ( nothing to display ) 
F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

Beitrag von F3K Total »

Was soll das sein?
madmatmed
**
Beiträge: 32
Registriert: Do, 15.01.2015 09:26

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

Beitrag von madmatmed »

Das it das, was das Xray-Tool zu meiner ComboBox zum Thema Listener ausspuckt.
F3K Total
********
Beiträge: 3704
Registriert: Mo, 28.02.2011 17:49

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

Beitrag von F3K Total »

Ach so,
na dann viel Spaß damit ..., wie man Listener zur Laufzeit erzeigt kannst du bei Pitonyak nachlesen.
madmatmed
**
Beiträge: 32
Registriert: Do, 15.01.2015 09:26

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

Beitrag von madmatmed »

Also nochmal: ich habe mich auf Anraten von Robert mit Listenern beschäftigt. Das ist kein Problem (beides hatte ich oben hingeschrieben).

Ich hab das folgendermaßen umgesetzt:

Beim Laden der Form:

Code: Alles auswählen

  Listener = CreateUnoListener("RegisterCashBon_Lines_ProductGroupName_OnValidate","com.sun.star.document.XXEventListener")
  ProductGroupNameColumn.AddEventListener(Listener)
Beim Entladen der Form:

Code: Alles auswählen

ProductGroupNameColumn.RemoveEventListener(Listener)
ProductGroupNameColumn ist meine ComboBox. Ich denke mal, dass der XXEventListener eh nicht der Richtige ist. Deshalb habe ich weiter mit Xray geschaut. Unter den Listenern, die dort aufgelistet sind, habe ich keinen gefunden, den ich für richtig halte. Deshalb hatte ich die Bitte geäußert, das jemand mit mehr als 3 Tagen OOo Base -Erfahrung mal kurz drüber schaut.
RobertG
********
Beiträge: 2034
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

Beitrag von RobertG »

Hallo madmatmed,

vermutlich kannst Du für Dein spezielles Vorhaben mehr erreichen, wenn Du das unter der Komponente "Basic und Java" weiter versuchst. Selbst Leute mit vielen Jahren Base-Erfahrung wie ich sie habe können dazu nichts weiter beitragen.

Ich würde eher den Bug einfach einmal melden. Mir ist z.B. bei dem Nachsehen für Deinen Bug aufgefallen, dass unter bestimmten Umständen im Tabellenkontrollfeld bei neueren LibreOffice-Ausgaben der Sprung zum letzten Datensatz inaktiv wurde, auch wenn sich der Cursor nicht im letzten Datensatz befand. das habe ich als Bug gemeldet. Innerhalb kürzester Zeit (in diesem Falle nicht einmal ein Tag), kam bereits Lionel mit einem Patch an. Manchmal geht das echt schnell, wenn es genau eingekreist werden kann.

Gruß

Robert
madmatmed
**
Beiträge: 32
Registriert: Do, 15.01.2015 09:26

Re: ComboBox im Grid in einer SubForm -> Event nicht ausgelö

Beitrag von madmatmed »

Das ist zwar nicht die Antwort, auf die ich gehofft habe, aber damit hatte ich schon gerechnet.

Vielen Dank nochmal für die Hilfe.

Gruß
Mathias
Antworten