Domino 9 und frühere Versionen > Entwicklung

Problem bei Datumsmanipulation mit AdjustMonth

(1/1)

Bille:
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

koehlerbv:
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

Semeaphoros:
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.

koehlerbv:
Direkt geht es nicht - DateTimeValue ist eine Property der NotesItem class. Ein solches Objekt ist also vorher zu instantiieren.

Bernhard

Bille:
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

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln