Textfeld mit Makro befüllen/Datensatz Speichern nicht mögl?
Verfasst: Mi, 25.07.2012 21:32
Hallo Zusammen,
ich möchte gerne per Makro ein bestimmtes Textfeld meines Base-Formulares befüllen. Dafür habe ich einen Wert aus einem anderen Formular in einem temporären Textfeld zwischengespeichert.
Das Zieltextfeld liegt in einem SubFormular. Wenn ich Jedoch das Textfeld mit dem Makro befülle kann ich den Datensatz nicht speichern. Erst nachdem ich händisch in das Feld gehe, in dem ich den Wert eintrage (also per Tab oder Maus) und dort eine Eingabe mache (Z.B. Zeichen eintragen und wieder löschen) kann ich den Datensatz speichern.

Im Vorhinein wurden die anderen Werte mittels "geschachtelten" Subformularen befüllt. Der Wert den ich übergeben möchte ist Teil des Primärschlüssels. Gibt es eine Möglichkeit dieses Problem zu Umgehen ? Das Makro zur Übernahme der Variable habe ich unten eingefügt.
Ich Nutze WIn 7 Enterprise SP 1 64 Bit
LibreOffice 3.5.5.3 mit JavaRuntime 6.0.33
Vielen Dank Vorab.
ich möchte gerne per Makro ein bestimmtes Textfeld meines Base-Formulares befüllen. Dafür habe ich einen Wert aus einem anderen Formular in einem temporären Textfeld zwischengespeichert.
Das Zieltextfeld liegt in einem SubFormular. Wenn ich Jedoch das Textfeld mit dem Makro befülle kann ich den Datensatz nicht speichern. Erst nachdem ich händisch in das Feld gehe, in dem ich den Wert eintrage (also per Tab oder Maus) und dort eine Eingabe mache (Z.B. Zeichen eintragen und wieder löschen) kann ich den Datensatz speichern.

Im Vorhinein wurden die anderen Werte mittels "geschachtelten" Subformularen befüllt. Der Wert den ich übergeben möchte ist Teil des Primärschlüssels. Gibt es eine Möglichkeit dieses Problem zu Umgehen ? Das Makro zur Übernahme der Variable habe ich unten eingefügt.
Ich Nutze WIn 7 Enterprise SP 1 64 Bit
LibreOffice 3.5.5.3 mit JavaRuntime 6.0.33
Code: Alles auswählen
Sub WertEintragen
Rem Festlegen der Variablen
DIM oDoc as Object
DIM oDrawpage as Object
DIM oForm1 as object
DIM oTextfieldTemp as Object
DIM sTextfieldTemp AS String
DIM oForm1 as object
DIM oform1sub1 as Object
DIM oform1sub2 as Object
DIM oform1sub3 as Object
DIM oOil as Object
oDoc=thisComponent
oDrawpage = oDoc.drawpage
oForm1 = oDrawpage.forms.getByName("frm_book")
oTextfieldTemp = oForm1.getByName("TempOil")
sTextfieldTemp = oTextfieldTemp.text
oform1sub1 = oForm1.GetByName("frm_chapter") '1. Subformular
oform1sub2 = oform1sub1.GetByName("frm_verse") ' 2. Subformular
oform1sub3 = oform1sub2.GetByName("subfrm_Reference-Oil") ' 3. Subformular
Rem Zwischengespeicherten Wert aus demTextfeld "TempOil" ins Textfeld "txtOil" übernehmen
oOil = oform1sub3.getbyname("txtOil")
oOil.text = sTextfieldTemp
End Sub