Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: OCS am 10.06.05 - 12:34:09
-
Hallo zusammen,
bin grad dabei mir ein Script zu schreiben, dass über einen Agenten aus einer Ansicht heraus gestartet wird...
In meinen Dokumenten ist ein Feld das "exportdate" heisst.
Ich will eine DocCollection erstellen, in der nur Dokumente sein sollen, die zwischen zwei Datumswerten liegen, die vom User über eine Dialogbox ausgewählt wurden.
Meine Frage ist jetz: Wie kann ich die Werte der beiden Felder aus der Dialogbox auslesen, nachdem OK gedrückt wurde?
Aufruf der Dialogbox:
---------------------------
Call workspace.Dialogbox ("DLGexport", True, True,True , , ,,"Bitte Zeitspanne auswählen")
Danke im voraus!
Gruß Björn
-
Du musst der Dialogbox noch ein NotesDocument mitgeben.
In etwa so:
dim doc as New NotesDocument(DB)
Call workspace.Dialogbox ("DLGexport", True, True,True , , ,,"Bitte Zeitspanne auswählen", doc)
und dann kannst Du mit doc.Feldname(i) auf die Felder zugreifen.
-
Danke erstmal!!
So siehts aus:
Call workspace.DialogBox ( "DLGexport",True ,True ,False , , , , "Bitte Zeitspanne auswählen",doc2 )
Print doc2.tag1(0)
Print doc2.tag2(0)
incorrect argument type: object expected
Achso, tag1 und tag2 sind datumsfelder.....
Was mach ich falsch? Kanns leider nicht debuggen... ;-(
-
Und wo hast du Doc2 definiert?
-
mag für euch so wie es aussieht keinen sinn machen, aber ich schreib da grad noch dran rum... hier das ganze script:
Sub Click(Source As Button)
Dim db As NotesDatabase
Dim workspace As New NotesUIWorkspace
Dim aSession As notessession
Dim aDb As notesdatabase
Dim aView As notesview
Dim now_time As String
Dim datum_en As String
Dim aDoc As notesdocument
Dim doc2 As notesdocument
'Dim export As notesitem
Dim akey As String
akey = "Person"
Dim aCol As Notesdocumentcollection
'Set export = newnotesitem
Dim datetime As New NotesDateTime( "" )
Set aSession = New notessession
Set aDb = aSession.currentDatabase
Set aView = aDb.getview("person")
%REM
'Datumsscheiss!!!
dateTime.LSLocalTime = Now
Call dateTime.SetNow
now_Time = dateTime.LocalTime
Set aCol = aView.GetAllDocumentsbyKey(aKey,exact)
now_time = Left$(now_time, 10)
datum_en = Right$( now_time , 4 )
datum_en = datum_en + Mid$(now_time, 4, 2)
datum_en = datum_en + Left$(now_time, 2)
Print aCol.count
If aCol.count <> "0" Then
For i = 1 To aCol.Count
Set aDoc = aCol.GetNthDocument(i)
Call aDoc.Replaceitemvalue("export", "exportiert")
Call aDoc.Replaceitemvalue("exportDate", now_time)
Call aDoc.save (True, True)
Next
Call excel
End If
'Msgbox "Flag exportiert wurde" + acol.count + "mal gesetzt!"
%ENDREM
' Call workspace.Dialogbox ("DLGexport", True, True,True , , ,,"Bitte Zeitspanne auswählen")
Call workspace.DialogBox ( "DLGexport",True ,True ,False , , , , "Bitte Zeitspanne auswählen",doc2 )
Print doc2.tag1(0)
Print doc2.tag2(0)
End Sub
-
da fehlt vor der Dialogbox noch ein:
Set doc2 = New NotesDocument(adb)
-
danke! das wars!
aber noch ne frage: kann ich mit script ne ansicht erstellen und gleich mitgeben, wieviele spalten, wie sortiert usw? würde dann so eine ansicht via script erstellen, nach excel exportieren und anschliessend wieder löschen.... geht das so?
-
Eine Ansicht erstellen und verändern geht nicht so ohne weiteres.
Warum holst Du Dir nicht ne DocumentCollection, sortierst diese und exportierst die Feldinhalte dokumentweise nach Excel?
-
werds mal versuchen!
-
Versteh ich auch nicht so recht: hier gibt's doch schöne Routinen für den Export.
Oder will da jemand so was machen wie "dynamische Ansichten" ???