Autor Thema: Problem bei Datumsmanipulation mit AdjustMonth  (Gelesen 1424 mal)

Offline Bille

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Weiblich
  • Ich kam, sah und ... staunte!
Problem bei Datumsmanipulation mit AdjustMonth
« 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
Experience is the name
everyone gives to his mistakes.
                                             (Oscar Wilde)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Problem bei Datumsmanipulation mit AdjustMonth
« Antwort #1 am: 18.09.04 - 12:16:56 »
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

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Problem bei Datumsmanipulation mit AdjustMonth
« Antwort #2 am: 18.09.04 - 12:19:44 »
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.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Problem bei Datumsmanipulation mit AdjustMonth
« Antwort #3 am: 18.09.04 - 12:25:18 »
Direkt geht es nicht - DateTimeValue ist eine Property der NotesItem class. Ein solches Objekt ist also vorher zu instantiieren.

Bernhard

Offline Bille

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Weiblich
  • Ich kam, sah und ... staunte!
Re:Problem bei Datumsmanipulation mit AdjustMonth
« Antwort #4 am: 18.09.04 - 12:36:01 »
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
Experience is the name
everyone gives to his mistakes.
                                             (Oscar Wilde)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz