Vielleicht hilft Dir dies:
Termine aus Access nach Outlook übertragen
Versionen: Access 97, 2000 und 2002/XP
Beim Einsatz von Access zur Terminverwaltung ist eine Schnittstelle zu Outlook mitunter recht nützlich. Sei es, um automatisch an Termine erinnern zu lassen oder um den Kalender auf einem mobilen Rechner unterwegs zu nutzen. Der folgende Tipp zeigt Schritt für Schritt, wie Sie den Datenaustausch per Mausklick realisieren können:
1. Legen Sie zunächst ein neues VBA-Modul in Ihrer Datenbank an und benennen Sie es "modOutlTermin" oder ähnlich.
2. Wählen Sie das Menü EXTRAS-VERWEISE an.
3. Setzen Sie das Kontrollkästchen vor dem Eintrag "Microsoft Outlook X.0 Object Library" (X= "8" für Outlook 98, "9" für Outlook 2000 und "10" für Outlook 2002) und übernehmen Sie die Änderungen mit einem Klick auf OK.
4. Geben Sie die folgende VBA-Funktion ein:
Function TerminAnOutlook(dtStart As String, _
intDauer As Integer, _
strBetreff As String, _
strKommentar As String, _
bolErinnerung As Boolean, _
intErinnerungMinuten As Integer) As Boolean
Dim oOutlookApp As Outlook.Application
Dim oOutlookTermin As Outlook.AppointmentItem
On Error GoTo FehlerBehandlung
Set oOutlookApp = CreateObject("Outlook.Application")
Set oOutlookTermin = _
OutlookApp.CreateItem(olAppointmentItem)
With oOutlookTermin
.Start = dtStart
.Duration = intDauer
.Subject = strBetreff
.Body = strKommentar
.ReminderSet = bolErinnerung
.ReminderMinutesBeforeStart = intErinnerungMinuten
.Save
End With
Set oOutlookTermin = Nothing
Set oOutlookApp = Nothing
TerminAnOutlook = True
Exit Function
FehlerBehandlung:
MsgBox Err.Number & " " & Err.Description
TerminAnOutlook = False
End Function
Um nun einen neuen Termin aus Access in Outlook anzulegen, müssen Sie diese Funktion mit den entsprechenden Parametern aufrufen. In der Regel werden die Informationen aus einem Formular stammen. Sie schreiben also eine weitere Prozedur, die beispielsweise per Mausklick auf eine Schaltfläche gestartet wird. Diese Prozedur könnte zum Beispiel so aussehen:
Private Sub btnTerminAnlegen_Click()
strStart = Format(Me![Start-Datum], "dd.mm.yyyy") & _
" " & Format(Me![Start-Zeit], "hh:mm")
intFormTerminDauer = Me!Dauer
strFormBetreff = Me!Betreff
strFormKommentar = Me!Kommentar
bolFormErinnerung = Me!Erinnerung
intFormatErinnerungMinuten = Me![Erinnerung Minuten]
Testwert = TerminAnOutlook(strStart, _
intFormTerminDauer, _
strFormBetreff, _
strFormKommentar, _
bolFormErinnerung, _
intFormatErinnerungMinuten)
If Testwert = False Then
MsgBox "Termin konnte nicht eingetragen werden!", _
vbCritical
End If
End Sub
In dieser Prozedur werden die notwendigen Parameter zunächst aus den Feldern eines Formulars ausgelesen und dann an die Funktion "TerminAnOutlook" übergeben. Besonders wichtig ist dabei die folgende Zeile:
strStart = Format(Me![Start-Datum], "dd.mm.yyyy") & _
" " & Format(Me![Start-Zeit], "hh:mm")
Diese Anweisung sorgt dafür, dass die Startzeit des gewünschten Termins in Form eines Datums samt Uhrzeit in einem String kombiniert und dann an die Funktion übertragen wird. Folgendes ist beim Einsatz dieser Funktion noch zu beachten: Zur Übertragung eines Termins von Access ist es nicht unbedingt notwendig, dass Outlook bereits gestartet ist. Bei Bedarf holt Access das für Sie nach und trägt den Termin ein. Allerdings wird das Programm danach auch wieder beendet, so dass Sie den Kalender nicht sofort danach kontrollieren können. Aus Geschwindigkeitsgründen und der einfacheren Handhabung wegen empfiehlt es sich deshalb, Outlook manuell zu starten, bevor Sie Termine aus Access an Outlook übergeben.
geschrieben von
spotler
,
22.10.2005, 21:49 Uhr
, 238 mal gelesen