Domino 9 und frühere Versionen > ND6: Entwicklung

Collection.count im Queryopen ?

(1/2) > >>

Wilhelm Weber:
Hallo zusammen,

ich möchte sicherstellen, dass beim erstellen eines Dokuments per Schaltfläche in einer Ansicht genau ein Dokument markiert sein muss, da in dem neu zu erstellenden Dokument Felder aus dem ausgewählten Dokument übernommen werden sollen.

Der Code im Queryopen der Maske ist bisher so...

Sub Queryopen(Source As Notesuidocument, Mode As Integer, Isnewdoc As Variant, Continue As Variant)
   Dim Session As New NotesSession
   Dim DB As NotesuiDatabase     
   Dim Doc As NotesDocument
   Dim DC As NotesDocumentCollection
   
   Set DB = Session.CurrentDatabase
   Set DC = DB.UnprocessedDocuments
   
   'Messagebox DC.Count
   
   If DC.Count = 1 Then
      continue = True
   Else
      Messagebox "Bitte nur ein Dokument markieren!", 64, "Hinweis"
      continue = False
   End If
End Sub

Schon die aukommenterte MSGBox zeigt immer eine 0 an auch wenn ich ein Dokument markiert habe ??

Grüße
Wilhelm

ascabg:
Hallo,

Geht das nicht besser mit


--- Code: ---uiview.Documents
--- Ende Code ---


Andreas

Axel:
Warum frägst du das nicht in der Aktion/Button/Agent ab mit der das neue Dokument erstellt wird?

Axel

Wilhelm Weber:
Hallo

das war mein erster Ansatz. Habe jetzt bemerkt, dass es nicht reicht in einer Kalenderansicht mit der Maus das Dokument zu markieren , sondern es muss mit der Space taste markiert werden um es auszuwählen.

Der folgende Code geht dadurch jetzt auch, aber wie kann ich es in script machen, dass das neue Dokument auch direkt geöffnet wird.

Sub Click(Source As Button)
   Dim session As New NotesSession
   Dim WorkSpace As New NotesUIWorkSpace
   Dim uiview As NotesUIView
   Dim Doc As NotesDocument
   Dim db As NotesDatabase      
   Dim DC As NotesDocumentCollection
   Set uiview = WorkSpace.CurrentView
   Set DC = uiview.Documents
   
   Messagebox DC.Count
   
   If DC.Count = 1 Then
      Set db = session.CurrentDatabase
      Set doc = db.CreateDocument
      doc.Form = "X"
   Else
      Messagebox "Bitte nur ein Dokument markieren!", 64, "Hinweis"
      continue = False
   End If
End Sub

Grüße
Wilhelm

ascabg:
Wenn du nur das Dokument haben moechtest, auf dem sich der Select-Balken gerade befindet, sollte dir doch


--- Code: ---set doc = db.GetDocumentByID(uiviw.CaretNoteID)

--- Ende Code ---

das gewuenschte Ergebnis liefern


Andreas

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln