ich habe schon einiges ver- und gesucht um das folgende Problem zu lösen - bislang leider ohne Erfolg. Es geht um folgendes:
Ich habe ein Formular (OOo Base) mit einem Tabellenkontrollfeld das u.a. zwei Datumsfelder enthält. Es handelt sich hier um Felder einer Rechnung, das erste ist das Rechnungsdatum ("Datum"), das zweit das Feld mit dem "zahlbar bis"-Datum ("ZahlbarBis").
Nun will ich, wenn man das Feld "Datum" verlässt und das "ZahlbarBis"-Feld noch leer ist, in dieses das Datum " 'Rechnungsdatum' + 14" Tage eintragen.
Eigentlich dachte ich, dass das mit folgendem Code gehen müsste:
Code: Alles auswählen
' Prozedur um nach der Eingabe des Rechnungsdatum das Zahlbar-Bis-Datum automatisch zu ergänzen
Sub AutoZahlbarBis
Dim oDoc as Object, oForm as Object, oTabelle as Object, oDatum as Object, oZahlbarBis as Object
oDoc = ThisComponent
oForm = oDoc.drawpage.forms(0).getByName("AuftraegeForm").getByName("RechnungenForm")
oTabelle = oForm.getByName("TabelleRechnungen")
oDatum = oTabelle.getByName("Datum")
oZahlbarBis = oTabelle.getByName("ZahlbarBis")
' Nur ergänzen, wenn ZahlbarBis noch nicht eingegeben
If oZahlbarBis.Date = 0 Then
oZahlbarBis.Date = CDateToIso(CDateFromIso(oDatum.Date) + 14)
End If
End Sub
(Bei einem "normalen" Datumsfeld, das nicht in einer Tabelle ist, funktioniert der Code übrigens.)
Auch wenn ich das Feld manuell mit
Code: Alles auswählen
oZahlbarBis.Date = 20050505
Intern wird er aber wohl gespeichert, denn ein direktes
Code: Alles auswählen
MsgBox(oZahlbarBis.Date)
Ich hab keine Ahnung, wo hier mein Fehler sein könnte, aber vielleicht kann mir ja jemand von euch weiterhelfen...
Viele Grüße
FeG