Autor Thema: Klick auf Datum & Übernahme in MaskenFeld  (Gelesen 1226 mal)

Offline onlyanoob

  • Frischling
  • *
  • Beiträge: 9
  • Geschlecht: Männlich
Klick auf Datum & Übernahme in MaskenFeld
« am: 01.03.06 - 16:08:40 »
Hallo!
Ich krieg es einfach nicht hin dass wenn ich in einer Kalenderansicht ein Datum anklicke
dieses Datum als Startdatum für die geöffnete Eingabemaske übernommen wird.

Im Kalender im "RegionDoubleClick"-Event steht bei mir
Code
...
If source.CalendarDateTime<>"" Then
	Call workspace.ComposeDocument("","","termineingeben",True)
...

In der Maske termineingeben im Queryopen-Event steht:

Code
Dim ClickedDate As Variant
Dim str_date As String

Set ws = New NotesUIWorkspace

ClickedDate = ws.CurrentCalendarDateTime
Call ws.CurrentDocument.Document.ReplaceItemValue(“StartDate”, ClickedDate)

Beim Starten und Klicken der Kalenderansicht kommt dann die Fehlermeldung
"Object Variable not set"
Aber welche Object Variable? Debuggen macht mich nicht wirklich schlauer.. CurrentDocument
hat irgendwie keinen Wert.. aber hab ich den nicht durch die Initialisierung des ws Objekts mit zugewiesen?
Wie kann ich sicherstellen das CurrentDocument auch gefüllt ist?

Oder liegt der Fehler gar ganz woanders?  :-:

Danke schonmal Thomas
If you can't take a little bloody nose, maybe you oughtta go back home and crawl under your bed. It's not safe out here. It's wondrous, with treasures to satiate desires both subtle and gross; but it's not for the timid.

-Q-

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Klick auf Datum & Übernahme in MaskenFeld
« Antwort #1 am: 01.03.06 - 17:20:26 »
Folgender Aufbau ist erforderlich:

In Deiner Eingabemaske deklarierst Du eine globale Variable für Dein Datum:
Dim g_vCalendarDT as Variant

Im QueryOpen Deiner Maske liest Du den Wert aus dem NotesUIWorkspace aus:
Code
If IsNewDoc Then
    Dim ws As New NotesUIWorkspace
    g_vCalendarDT = ws.CurrentCalendarDateTime
End If

Im PostOpen bereitest Du nun Dein Dokument auf. Falls das Dokument nicht aus der Calendar view erzeugt wurde, entfällt das natürlich:
Code
If Source.IsNewDoc Then
    If IsDate (g_vCalendarDT) Then
	Dim doc As NotesDocument
			
	Set doc = Source.Document
	Set doc.StartDate = New NotesDateTime (g_vSelectedDate)
			
	Call Source.Reload
	Call Source.Refresh
    End If
End If

HTH,
Bernhard


Offline onlyanoob

  • Frischling
  • *
  • Beiträge: 9
  • Geschlecht: Männlich
Re: Klick auf Datum & Übernahme in MaskenFeld
« Antwort #2 am: 02.03.06 - 09:54:49 »
Einwandfrei!
Hatte das Beispiel aus nem IBM Redbook. Da stand das aber nur kurz und nicht ausführlich.
Es gibt noch viel zu lernen merk ich schon! :)

Dankesehr für die schnelle Hilfe!

Thomas
If you can't take a little bloody nose, maybe you oughtta go back home and crawl under your bed. It's not safe out here. It's wondrous, with treasures to satiate desires both subtle and gross; but it's not for the timid.

-Q-

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz