Domino 9 und frühere Versionen > ND6: Entwicklung

Eintrag im Feld CalendarDateTime ändern

(1/1)

Bille:
Hallo!

Ich hab gerade festgestellt, dass in unserem Kalender heuer "Fronleichnam" und "Christi Himmelfahrt" auf den gleichen Tag fallen.  :o
Den falschen Eintrag der Feiertage im Adressbuch habe ich bereits berichtigt.

Bei den Kollegen, die die Feiertage bereits importiert haben, muss ich diesen Fehler natürlich ebenfalls korrigieren.

Dazu möchte ich ein Mail mit einem Button verschicken:


--- Code: --- Dim Selektion As String
Selektion = {FIELD form="Appointment" & FIELD Subject = "Fronleichnam"}
Set col = db.FTSearch (Selektion, 0)       

Set Datum1 = New NotesDateTime( "07/06/2007 00:00:01 AM" )

Set doc = col.GetFirstDocument
While Not doc Is Nothing
Dim x As Integer
For x = 0 To 5
If doc.CalendarDateTime(x) = "17.05.2007 0:00:01" Then
doc.CalendarDateTime(x) = Datum1   ' hier hakt es
End If
Next

Set doc = col.GetNextDocument(doc)
Wend

--- Ende Code ---

Bei dem Versuch das Feld "CalenderDateTime" zu ändern, kommt der Fehler "Illegal use of property". Im Debugger wird dieses Feld bzw. die Liste der Einträge als Variant anzeigt. Also habe ich versucht einfach einen String ( "07.06.2007 0:00:01") zu übergeben, das hat leider auch nicht funktioniert.

Wie muss ich vorgehen, damit der Eintrag berichtigt wird?

Bille

PS: Das C&S Schema hab ich mir angesehen, konnte mein Problem allerdings nicht lösen.

koehlerbv:
Du kannst Items zwar als Array auslesen, aber nicht wieder so setzen.

Hole Dir CalendarDateTime in ein Variant.
Die Werte dort sind Variants vom Typ Date / Time - keine Strings.
Bilde mit Cdat oder Datenumber ein DT-Variant Deines Vergleichswertes.
Vergleiche die ganzzahligen (!) Teile des Arrays mit dem Vergleichswert.
Schreibe ggf. den zu ändernden Wert wieder ins Array.
Weise CalendarDateTime abschliessend wieder das Array zu, falls erforderlich.

Bernhard

Glombi:
Mal eine andere Frage: Wird das denn nicht korrigiert, wenn die User die Feiertage ein weiteres Mal einlesen. Ich meine dass ein Abgleich stattfindet.

Wenn es so ist, kannst Du ja eine Mail mit der Bitte um erneutes Einlesen der Feiertage senden - oder Du tust den Code aus dem Agenten in einen Button.

Andreas

Bille:
Auf die Idee, die Feiertage erneut einzulesen, bin ich gar nicht gekommen. Wobei das eigentlich doch sehr nahe liegt. Werde ich auf jeden Fall gleich mal testen.

Ansonsten werde ich mir Bernhard's Vorschlag ansehen.

Vielen Dank Euch beiden schon mal für die Tipps!
Bille

Bille:
Andreas, Du hattest recht.
Das erneute Importieren der Feiertage hat die fehlerhaften Einträge berichtigt.

Bille
 :D

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln