Hallo
Ich brauche eure Hilfe!
Ich möchte in einem Subform (Tabelle) an ein Listenfeld (ich habe eine Spalte in ein Listenfeld umgewandelt) ein Makro anhängen, das zum Einsatz kommt, sobald ich dort eine Auswahl getroffen habe.
Wenn das Listenfeld im Hauptfomular stünde, würde ich das Makro ganz klar an das Ereignis "modifiziert" anhängen. Aber dieses Ereignis "modifiziert" existiert überraschenderweise gar nicht in der Auswahl der Ereignisse, wenn das Listenfeld im Subform_Grid liegt. Dort gibt es höchstens das Ereignis "Status geändert", aber dann sind leider noch keine Daten aus dem Listenfeld herauslesbar.
Kennt jemand dieses Problem und wie kann ich mir da aushelfen? Muss ich zuerst das Listenfeld updaten oder modifizieren? Gibt's da einen Basic-Befehl?
Herlichen Dank für eure Mithilfe
beat
[gelöst]Listenfeld in einem Subform
Moderator: Moderatoren
[gelöst]Listenfeld in einem Subform
Zuletzt geändert von beat4u am Sa, 28.04.2012 14:58, insgesamt 2-mal geändert.
Re: Listenfeld in einem Subform
Hi beat,
das ist nicht so einfach, weil das Listenfeld in der Spalte im Grid im Subform tief verschachtelt liegt.
Hier ein Beispiel mit Kombinationsfeld, was geht:
viewtopic.php?f=18&t=52579#p196959
Gruß R
das ist nicht so einfach, weil das Listenfeld in der Spalte im Grid im Subform tief verschachtelt liegt.
Hier ein Beispiel mit Kombinationsfeld, was geht:
viewtopic.php?f=18&t=52579#p196959
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Listenfeld in einem Subform
Danke F3K, ich werds ausprobieren, gebe dann Bescheid
Gruss Beat
Gruss Beat
Re: Listenfeld in einem Subform
Gelöst!! YEAH!
Nun haben wir ein häufig auftretendes Problem gelöst! Z.B. wenn jemand eine Rechnung schreiben will, im Hauptformular der Kunde, Im Tabellen-Unterformular die Positionen oder Artikel, die aus einer Artikeltabelle stammen, wobei nur die Artikel_ID und nicht die ganze Artikelbezeichnung abgespeichert wird. Ich werde in Kürze hier (oder wo am Besten?) eine kleine Anwendung ins Netz stellen als Beispiel für eine alltägliche Rechnungserstellung (mit Haupt- und Unterformular). Das könnten sicher viele gebrauchen und für ihre Zwecke anpassen. Ich habe dazu viele Stunden verwendet, um den Fehler zu finden und zu korrigieren.
Ich habe trotz deinem Beispiel mein Listenfeld beibehalten, da ein Kombinationsfeld meine Bedürfnisse nicht abdeckt. Was ich aus deinem Beispiel gelernt habe:
a) ich muss über den controller gehen
und
b) der commit(true) muss auf das ganze Tabellenkontrollfeld des Unterformulars angewendet werden und nicht auf das Listenfeld und auch nicht auf das Unterformular, das sind die wichtigsten Punkte, an denen ich gescheitert bin
Nochmals herzlichen Dank und bis bald
Gruss Beat
Nun haben wir ein häufig auftretendes Problem gelöst! Z.B. wenn jemand eine Rechnung schreiben will, im Hauptformular der Kunde, Im Tabellen-Unterformular die Positionen oder Artikel, die aus einer Artikeltabelle stammen, wobei nur die Artikel_ID und nicht die ganze Artikelbezeichnung abgespeichert wird. Ich werde in Kürze hier (oder wo am Besten?) eine kleine Anwendung ins Netz stellen als Beispiel für eine alltägliche Rechnungserstellung (mit Haupt- und Unterformular). Das könnten sicher viele gebrauchen und für ihre Zwecke anpassen. Ich habe dazu viele Stunden verwendet, um den Fehler zu finden und zu korrigieren.
Ich habe trotz deinem Beispiel mein Listenfeld beibehalten, da ein Kombinationsfeld meine Bedürfnisse nicht abdeckt. Was ich aus deinem Beispiel gelernt habe:
a) ich muss über den controller gehen
und
b) der commit(true) muss auf das ganze Tabellenkontrollfeld des Unterformulars angewendet werden und nicht auf das Listenfeld und auch nicht auf das Unterformular, das sind die wichtigsten Punkte, an denen ich gescheitert bin
Code: Alles auswählen
Dim oForm as object, oSubForm as object, oList as object, Controller as object
oForm = ThisComponent.DrawPage.Forms.getByName("MainForm") ' Hauptformular
oSubForm = oForm.getByName("SubForm") ' Subform in Hauptformular
oList = oSubForm.getByName("SubForm_Grid") ' das Tabellenkontrollfeld im Unterformular
Controller = thisComponent.CurrentController
Control = Controller.getControl(oList)
Control.commit(true)
Gruss Beat