von beat4u » Fr, 23.03.2012 08:35
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
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)
Nochmals herzlichen Dank und bis bald
Gruss Beat
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
[code]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)[/code]
Nochmals herzlichen Dank und bis bald
Gruss Beat