Seite 1 von 1

gelöst: Dialogeinträge (hier:Datum) in Calc-Zellen eintragen

Verfasst: Mi 15. Okt 2014, 20:12
von Ralf.H
Hallihallo,
seit einigen Jahren funktioniert eine "Datenbank" unter Calc völlig zufriedenstellend.
Die Erfassung von neuen "Datensätzen" habe ich über einen Dialog realisiert, aus dem ich dann die eingetragenen Werte in ein Tabellenblatt überführe:

---schnipp---

thisComponent.Sheets.getByName("personal").getCellByPosition(1,x).string = dlg.getControl("ma_name").getText()
thisComponent.Sheets.getByName("personal").getCellByPosition(2,x).string = dlg.getControl("ma_vname").getText()
thisComponent.Sheets.getByName("personal").getCellByPosition(3,x).string = dlg.getControl("ma_amt").getText()
thisComponent.Sheets.getByName("personal").getCellByPosition(4,x).string = dlg.getControl("ma_oe").selectedItem
thisComponent.Sheets.getByName("personal").getCellByPosition(5,x).value = dlg.getControl("ma_gebdat").getDate()

--- schnapp

Unter LO 4.1.6.2 (Build-ID: 410m0) funktioniert das genau bis zum "...getdate(), dann kommt die Fehlermeldung "BASIC-Laufzeitfehler. Falscher Wert für Eigenschaft".

Was ist falsch an dem Code, der mit vorigen LO-Versionen funktioniert hat?

Grüße vom ratlosen Ralf

Re: Dialogeinträge in Calc-Zellen eintragen

Verfasst: Mi 15. Okt 2014, 21:38
von karolus
Hallo
Mit LO4 hat sich die API für Datumfelder geändert.
http://api.libreoffice.org/docs/idl/ref ... 1Date.html

ändere deine letzte Zeile zu

Code: Alles auswählen

......value = cDateFromUnoDate( dlg.getControl("ma_gebdat").getDate() ) 
Karolus

Re: gelöst: Dialogeinträge in Calc-Zellen eintragen

Verfasst: Mi 15. Okt 2014, 22:34
von Ralf.H
Hi Karolus,
vielen Dank, das war's !

by the way: Ich bin Deinem Link gefolgt und muss gestehen, dass ich damit aber auch nicht das Problem hätte lösen können.
Offensichtlich habe ich mich noch nicht genügend mit der Philosophie der LO-Programmierung auseinandergesetzt.

Wo gibt es eigentlich Infos über solche Änderungen?

Danke nochmals - Ralf