Seite 1 von 1

Textfeld mit Makro befüllen/Datensatz Speichern nicht mögl?

Verfasst: Mi, 25.07.2012 21:32
von Daberu
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.
Bild

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
Vielen Dank Vorab.

Re: Textfeld mit Makro befüllen/Datensatz Speichern nicht mö

Verfasst: Mi, 25.07.2012 21:39
von F3K Total
Hallo,
was dir fehlt ist quasi die Eingabetaste per Makro.
Dies wird mit dem Befehl

Code: Alles auswählen

.commit = true
gemacht.
Suche im Forum oder über die Google-Suche einfach mal nach

Code: Alles auswählen

.commit
und

Code: Alles auswählen

.getcontrol
dann wirst du sicher fündig.

Gruß R

Re: Textfeld mit Makro befüllen/Datensatz Speichern nicht mö

Verfasst: Mi, 25.07.2012 21:49
von Daberu
Hi R,

Code: Alles auswählen

.commit


war des Rätsels Lösung. Vielen Dank für die schnelle Antwort.

MfG

Daberu