Kontrollfeld per Makro mehrmals auslen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

andreasb

Kontrollfeld per Makro mehrmals auslen

Beitrag von andreasb » Mo, 06.06.2016 09:38

Guten Tag,

ich habe in Calc ein Formular eingebunden, dass über eine odb-Datei an eine MySQL-Datenbank angeschlossen und versorgt wird.
Nun möchte ich ich ein Kontrollfeld per Makro auslesen und in eine Zelle innerhalb des Tabellenblattes schreiben. Dies funktioniert auch soweit:

Code: Alles auswählen

sub lesen
odoc=thisComponent
oSheet=odoc.sheets(1)
odraw1=oSheet.drawpage
oForm = odraw1.Forms.getByName("Filter") ' Hauptformular
oSubForm = oForm.getByName("Liste") ' SubForm in Hauptformular
oKontroll = oSubForm.getByName("txtBemerkung") 'Kontrollfeld

msgbox oKontroll.getString(1)
thisComponent.Sheets(2).getCellRangeByName("J2").string=oKontroll.getString
end sub
Beim mehrmaligem Ausführen es Makros verringert sich jedoch die String-Länge um die Zeichenanzahl der vorherigen Auswahl, so dass nur noch Bruchstücke des Strings ausgegben werden.

Beispiel:
Inhalt des Bermerkungfelds: Schriftverkehr
1. Makroausführung liefert: Schriftverkehr
neue Auswahl innerhalb des Formulars:
Inhalt des Bemerkugnsfeld: test
2. Makroausführung liefert: test
neue Auswahl innerhalb des Formulars:
Inhalt des Bemerkugnsfeld: Schriftverkehr
3. Makroausführung liefert: Schr

Dies geht soweit, dass wenn das Kontrollfeld "txtBemerkung" leer ist später nichts mehr ausgegeben wird. Kann man die Stringlänge fest defnieren, oder getString neuinitialisieren?

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste