LO Base 4.0 - Datumfeld mit aktuellem Datum via Basic füllen

Hallo Liste,
ich würde gern in einem Base-Formular ein Datumsfeldmit dem aktuellen Datum füllen und nutze dazu folgenden Code:

Sub Datum_schreiben()
Dim oCtrl as Object
Dim oDoc as Object
Dim oForm as Object
     oDoc = StarDesktop.CurrentComponent
     oForm = oDoc.Drawpage.Forms("frm_Eingabe")
     oCtrl = oForm.GetByName("txt_Datum_aktuell")
     oCtrl.BoundField.updateDate(CdateToIso(Date))
end Sub

Leider bekomme ich eine sehr allgemeine Fehlermeldung: "Basic-Laufzeitfehler: Objektvariable nicht belegt".
Kann mir jemand weiter helfen?
Vielen Dank.

Hallo Ulrich,

ich würde gern in einem Base-Formular ein Datumsfeldmit dem aktuellen
Datum füllen und nutze dazu folgenden Code:

Sub Datum_schreiben()
Dim oCtrl as Object
Dim oDoc as Object
Dim oForm as Object
    oDoc = StarDesktop.CurrentComponent
    oForm = oDoc.Drawpage.Forms("frm_Eingabe")
    oCtrl = oForm.GetByName("txt_Datum_aktuell")
    oCtrl.BoundField.updateDate(CdateToIso(Date))
end Sub

Leider bekomme ich eine sehr allgemeine Fehlermeldung:
"Basic-Laufzeitfehler: Objektvariable nicht belegt".

Da müsste dann eigentlich auch eine Markierung sein, an welcher Stelle
der Fehler auftritt ...

Für ein Base-Formular gilt
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oForm AS OBJECT
oDoc = thisComponent
oDrawpage = oDoc.drawpage
oForm = oDrawpage.forms.getByName("frm_Anzeige")

... vermutlich ist hier schon der Fehler mit "getByName"
Dann heißt das Feld "txt_Datum_aktuell". Das ist doch hoffentlich ein
Datumsfeld und kein Textfeld?

Gruß

Robert

Hallo Ulrich,

der Zugriff CDateToIso(Date) funktioniert bei updateDate nicht. Basic
erwartet dort ein Objekt. Folgender Code bringt ein komplettes Datum
richtig ein:

SUB Datum_aktuell
  DIM oDoc AS OBJECT
  DIM oDrawpage AS OBJECT
  DIM oForm AS OBJECT
  DIM unoDate
  oDoc = thisComponent
  oDrawpage = oDoc.drawpage
  oForm = oDrawpage.forms.getByName("Formular")
  oFeld=oForm.getByName("Datum")
  unoDate = createUnoStruct("com.sun.star.util.Date")
  unoDate.Year = Year(Date)
  unoDate.Month = Month(Date)
  unoDate.Day = Day(Date)
  oFeld.BoundField.updateDate(unoDate)
END SUB

Gruß

Robert