Seite 1 von 1

[gelöst]com.sun.star.util.Date isnull?

Verfasst: Mi, 14.12.2011 19:41
von F3K Total
Hallo zusammen,
ich habe folgende Frage:
Wenn ich mit diesem Makro eine Datumsspalte in einem Formular einer Base Datei mit embedded HSQLDB auslese:

Code: Alles auswählen

Sub S_find_empty_date

oform = thiscomponent.drawpage.forms(0)
n_Fahrdatum = oform.findcolumn("Fahrdatum")
odate = oform.getdate(n_Fahrdatum)
if odate.year = 0 then
 msgbox "leer"
else
 msgbox "voll"
endif

end sub
dann funktioniert das Makro.
Wenn kein Datum eingetragen ist, wird mir "leer" zurückgegeben.
Die Variable oDate ist ein Struct des Typs com.sun.star.util.Date
Nun die Frage:
Gibt es eine Möglichkeit abzufragen ob das Struct leer ist (0,0,0), ohne .year anzusprechen, wenn Xray für odate folgendes liefert:
dat1.png
dat1.png (39.38 KiB) 969 mal betrachtet
Beste Grüsse von Rik

Re: com.sun.star.util.Date isnull?

Verfasst: Mi, 14.12.2011 22:35
von gogo
Das Struct hat nur diese 3 Properties - die Nuller kriegst Du also nur über ebendiese. Das Struct wird aber aus den "Rohdaten" generiert - wenn Du also:

Code: Alles auswählen

odate = oform.getString(n_Fahrdatum)
if isnull(odate) then ...
verwendest kannst Du so ermitteln ob das Feld leer ist. Das kannst Du natürlich auch mit den anderen .getxxx-Methoden in ähnlicher Weise machen.

War das Deine Frage?

Re: com.sun.star.util.Date isnull?

Verfasst: Do, 15.12.2011 06:49
von F3K Total
Hallo gogo,
ja, genau das war sie. Die Idee mit .getstring hatte ich auch,allerdings benötigt man dazu eine zusätzliche Zeile, wenn man später mit dem struct weiterarbeiten möchte. Ich hatte die Hoffnung es gäbe ein spezielles Kommando für diese structs.
Danke
Gruß Rik

Re: [gelöst]com.sun.star.util.Date isnull?

Verfasst: Do, 15.12.2011 07:00
von DPunch
Aloha

Code: Alles auswählen

Sub S_find_empty_date

oform = thiscomponent.drawpage.forms(0)
n_Fahrdatum = oform.findcolumn("Fahrdatum")
odate = oform.getdate(n_Fahrdatum)
if oform.wasNull then
msgbox "leer"
else
msgbox "voll"
endif

end sub

Re: [gelöst]com.sun.star.util.Date isnull?

Verfasst: Do, 15.12.2011 20:13
von F3K Total
Nee,
wie das?
Es funktioniert, aber warum?
Ich frage doch mit oform.wasnull das Formular ab???
Und nicht die Spalte?
Das war, was ich dachte, bis ich ins SDK geschaut habe, da steht:
reports whether the last column read had a value of SQL NULL. Note that you must first call getXXX on a column to try to read its value and then call wasNull() to see if the value read was SQL NULL.
Danke DPunch

beste Grüße von Rik