Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Bille am 18.09.04 - 12:07:46
-
Hallo!
Ich möchte mittels Script das Datum eines Feldes in Abhängigkeit eines anderen Feldes um x Monate verändern.
Mein Code sieht wie folgt aus:
Dim nLDat As Variant, Rhythmus As Integer
Rhythmus = Cint(this.Erstellungsrhythmus(0))
nLDat = this.nächstesLieferdatum(0)
Call nLDat.AdjustMonth(Rhythmus)
Beim Ausführen bringt er in der letzten Zeile den Fehler "Variant does not contain an object".
Im Debugger sind die Variablen wie folgt belegt:
NLDAT = 30.09.2005
RHYTHMUS = 12
Könnt Ihr mir sagen, wo mein Fehler liegt?
Evtl. beim Definieren der Variable nLDat?
Gruß, Bille
-
nLDat ist ein Variant, muss aber für AdjustMonth ein Objekt der Klasse NotesDateTime sein.
Set dtLDate = New NotesDateTime (Cstr (this.nächstesLieferdatum(0) ))
Schau Dir hierzu bitte mal die entsprechende Klasse an, da Du das Objekt ja auch wieder zurück konvertieren musst.
HTH,
Bernhard
-
Damit AdjustMonth greifen kann, muss Dein nLDat vom Typ NotesDateTime sein, das ist hier nicht der Fall, das kann Dir aber auch der Debugger sagen .... Du musst das dann aus dem NotesItem über die Eigenschaft DateTimeValue auslesen. Ob das in Kurzschreibweise geht, also this.nächstesLieferdatum.DateTimeValue weiss ich nicht auswendig.
-
Direkt geht es nicht - DateTimeValue ist eine Property der NotesItem class. Ein solches Objekt ist also vorher zu instantiieren.
Bernhard
-
Danke für Eure Hilfe!
Genau so hat's funktioniert:
Dim nLDat As New NotesDateTime(Cstr (this.nächstesLieferdatum(0) ))
Rhythmus = Cint(this.Erstellungsrhythmus(0))
Call nLDat.AdjustMonth(Rhythmus)
this.nächstesLieferdatum = nLDat.DateOnly
Bille
:D