Option Public
Option Declare
Sub Initialize
Dim s As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim doc As NotesDocument
Dim vc As NotesViewEntryCollection
Dim str_datum, str_aktdatum, str_raumname As String
Dim col As NotesDocumentCollection
Dim arg As String, p1 As Long
Dim argarray As Variant
Dim todaysdate As New NotesDateTime("Today")
Dim startdatum, enddatum, raumname As String
Dim teilnehmer As String
Dim besprechtitel As String
str_aktdatum = todaysdate.DateOnly
On Error GoTo processError
arg = s.DocumentContext.Query_String(0)
p1 = InStr(arg, "&")
arg = LCase(Mid$(arg, p1 + 1)) ' alle Parameter aus der URL extrahieren
argarray = Evaluate({@Explode("} & arg & {"; "&")}) ' jeden Parameter trennen und in Array speichern
str_datum = argarray(0)
str_raumname = argarray(1)
If str_datum = "" Then ' Wenn kein Datum angegeben wurde, dann aktuelles Datum wählen
str_datum = str_aktdatum
End if
Set db = s.GetDatabase("MAILSERVER/SRV/Group", "Besprech.nsf", False)
If Not db.IsOpen Then Call db.Open("", "")
Set view = db.GetView("Reservierungen nach Datum") ' Alle Reservierungen nach Datum
Set doc = view.GetFirstDocument
While Not(doc Is Nothing) ' Alle Dokumente in Ansicht abarbeiten
startdatum = Left(doc.GetItemValue("StartDate")(0),10)
enddatum = Left(doc.GetItemValue("EndDate")(0),10)
raumname = doc.GetItemValue("Room")(0)
If raumname <> "" then
raumname = Left(raumname,InStr(raumname,"/")-1)
End if
teilnehmer = doc.GetItemValue("Capacity")(0)
besprechtitel = doc.GetItemValue("Purpose")(0)
If str_datum = startdatum Or str_datum = enddatum Then
If str_raumname = "" Or str_raumname = LCase(raumname) Then
Print startdatum, enddatum, raumname, teilnehmer, besprechtitel, "<br>"
End if
End If
Set doc = view.GetNextDocument(doc)
Wend
Exit Sub
processError:
Print "Fehler " & Str(Err) & ": " & Error$ & " in Zeile " & Str(Erl)
Exit Sub
End Sub
arg = s.DocumentContext.Query_String(0)
p1 = InStr(arg, "&")
arg = LCase(Mid$(arg, p1 + 1)) ' alle Parameter aus der URL extrahieren
argarray = Evaluate({@Explode("} & arg & {"; "&")}) ' jeden Parameter trennen und in Array speichern
searchFormula = {View = "Reservierungen nach Datum" & Left(StartDate,10) <= str_datum & Left(EndDate,10) >= str_datum}
Set comparedate = CDat(str_aktdatum)Muesste die searchFormula nicht so aussehen.
searchFormula = {Form = "Reservierungen nach Datum" & StartDate <= } & comparedate & { EndDate >= } & comparedate
comparedate ist doch Deine Variable und kein Feld der betreffenden Form.
Andreas
Das knallt auch, Andreas - eine DT-Variable kannst Du nicht mit einem String verhereiraten.Dim varTest as Variant
Dim strTest as String
varTest = cdat("01.01.2011")
strTest = "Heute ist der " & varTest
Msgbox strTest
Auch das gibt einen type mismatch, Peter, da "..(" & comparedate nicht zusammen passt.Das hängt davon ab, welchen Inhalt comparedate hat. Ich habe es so verstanden, dass comparedate ein Variant ist und mit CDat gefüllt wird (so ist es zumindest beschrieben). Und natürlich kann man Text und solch ein Datum mittels & zu einem String zusammenfassen. Type mismatch käme bei Verwendung von +, aber das nutzt ja wohl hoffentlich niemand bei Strings (hier auch schon 1000 mal erwähnt). Und wenn man ganz genau sein will, macht man halt ein Cstr () darum ...
Andererseits würde es kein Einstellungsproblem geben, da alle Umwandlungen ja in der gleichen Maschine stattfinden.Da wäre ich mir nicht sicher, das Datum wird als Parameter einer URL mitgegeben. Erfolgt da die Bearbeitung nicht auf dem Server? Ich gehe mal davon aus, dass der User nicht mit seinem Browser direkt auf dem Server sitzt ...