Items filtern mit VBScript (Outlook)

Diskutiere Items filtern mit VBScript (Outlook) im Programmierung Forum im Bereich Software Forum; Salü salü Es handelt sich um ein Formular in Outlook 2002. Auf diesem gebe ich zwei Daten ein und möchte alle Appointments in einem Kalender, die...
N

Never_Born

Gast
Salü salü

Es handelt sich um ein Formular in Outlook 2002. Auf diesem gebe ich zwei Daten ein und möchte alle Appointments in einem Kalender, die dazwischen liegen, anzeigen lassen. Soweit hab ich das auch, bis auf eine Kleinigkeit. Wenn ein Appointment vor dem Startdatum anfängt, wird es nicht beachtet. Der Grund ist mir auch klar: Der Filter.
Code:
...
ToCheck = "[Start]>=""" & Datum1 & """ And [End]<=""" & Datum2 & """ And [Categories]=""" & Location & """"
Set pAppointments = pAppointments.Restrict(ToCheck)
Gibt es eine bessere Möglichkeit, die Appointments zu filtern? So dass wirklich alle dabei sind...


Vielen Dank und Gruss
Never_Born
 
M

Michael Marschall

Gast
Hallo,

so einfach ist das allerdings nicht. Du möchtest eine Zeitraumabfrage erstellen, wenn ich das richtig sehe (das weiß ich jetzt auch nicht genau).

Deshalb mal etwas globaler:
Möchtest Du wissen, ob in einem vorzugebendem Zeitraum etwas liegt, so muss die Abfrage 3 Teile enthalten:

a) Das einzugebende Anfangsdatum muss in dem Zeitraum liegen ODER
b) " " Enddatum " " " " " ODER
c) (Das einzugebende Anfangsdatum muss vor dem Beginn des
gespeicherten Datums liegen U N D das einzugebende Enddatum
muss größer als das gespeicherte Enddatum sein.


Gruß

Michael
 
M

Michael Marschall

Gast
Autsch,

meine Abkürzungen wurden zerstümmelt:

) Das einzugebende Anfangsdatum muss in dem Zeitraum liegen ODER
b)Das einzugebende Enddatum muss in dem Zeitraum liegen ODER
c) (Das einzugebende Anfangsdatum muss vor dem Beginn des
gespeicherten Datums liegen U N D das einzugebende Enddatum
muss größer als das gespeicherte Enddatum sein.

Michael
 
N

Never_Born

Gast
Falls es jemanden interessiert, so sieht's aus:
Code:
ToCheck = "([Start]>=""" & Datum1 & """ And [Start]<=""" & Datum2 & """) Or ([End]>=""" & Datum1 & """ And [End]<=""" & Datum2 & """) Or [Start]<=""" & Datum1 & """ And [End]>=""" & Datum2 & """"

Ich hab da aber gleich noch ein anderes Problem. Im gleichen String möchte ich noch drin haben, dass nur Items mit einer gewissen Kategorie gesucht werden.
Ich habs dann so versucht:
Code:
ToCheck = "([Start]>=""" & Datum1 & """ And [Start]<=""" & Datum2 & """) Or ([End]>=""" & Datum1 & """ And [End]<=""" & Datum2 & """) Or ([Start]<=""" & Datum1 & """ And [End]>=""" & Datum2 & """) And [Categories]='""" & myCategory & """'"
Leider funktioniert das nicht so richtig. Weiss dazu einer mehr?

Danke
Never_Born
 
N

Never_Born

Gast
So, jetzt geht's so wie ich es will:
Code:
ToCheck = "(([Start]>=""" & Datum1 & """ And [Start]<=""" & Datum2 & """) Or ([End]>=""" & Datum1 & """ And [End]<=""" & Datum2 & """) Or ([Start]<=""" & Datum1 & """ And [End]>=""" & Datum2 & """)) And [Categories]='""" & myCategory & """'"

-> Klammern fehlten...

Gruss
Never_Born
 
N

Never_Born

Gast
Salü

Tja, und jetzt gibts schon wieder ein Problem. Und zwar werden nur einmalige Termine aus dem Kalender gefiltert, aber keine, die sich wiederholen. Bring ich die auch noch irgendwie rein, oder muss ich diese Termine einzeln erstellen?

Gruss
Never_Born
 
N

Never_Born

Gast
Jetzt bin ich einen kleinen Schritt weiter. So werden alle Termine mit einbezogen:
Code:
pAppointments.Sort "[Start]",False
pAppointments.IncludeRecurrences = True
Set pAppointments = pAppointments.Restrict(ToCheck)
Leider aber nur, wenn im Restrict nicht das Kategorien-Feld abgefragt wird. Geht das gar nicht?

Gruss
Never_Born
 
Thema:

Items filtern mit VBScript (Outlook)

Items filtern mit VBScript (Outlook) - Ähnliche Themen

Dolby Atmos: alle Blu Rays in Deutschland mit dem neuen Tonformat - UPDATE: 10.05.2015, 12:18 Uhr: Heimkino-Fans erleben gerade spannende Zeiten, denn aktuell erfolgt der wohl größte Technologie-Umbruch, den es je gegeben...
Oben