Office: (Office 2016) Access Daten in Outlook Kalender

Helfe beim Thema Access Daten in Outlook Kalender in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo an alle Hier, ich habe mich gerade erst angemeldet weil ich seit langen wieder mit Access etwas mache. Ich habe mir eine Tabelle und Formular... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von UKNewby, 30. November 2018.

  1. Access Daten in Outlook Kalender


    Hallo an alle Hier,
    ich habe mich gerade erst angemeldet weil ich seit langen wieder mit Access etwas mache.
    Ich habe mir eine Tabelle und Formular erzeugt in dem ich in verschiedene Uhrzeitfelder (7-8 Uhr usw) Aufgaben rein schreibe die ich gerne als Termin in Outlook rein schreiben möchte.
    Ich habe leider überhaupt keine Ahnung wie ich das anstelle.
    Am besten wäre aus dem Formular ein Button auf den ich klicke und es werden die Daten nach Outlook übertragen.
    Kann mir einer einen Tipp geben wie ich das anstelle?

    Ich habe diesen Code und öffne damit Outlook.

    Private Sub btnOutlookKalender_Click()
    On Error GoTo Fehler

    Dim objOutlook As Object
    Dim objNameSpace As Object
    Dim myFolder As Object

    Set objOutlook = CreateObject("Outlook.Application")
    Set objNameSpace = objOutlook.GetNamespace("MAPI")
    Set myFolder = objNameSpace.GetDefaultFolder(9)

    myFolder.Display


    'clean up
    Set objOutlook = Nothing
    Set objNameSpace = Nothing
    Set myFolder = Nothing


    'Fehlerbehandlung#############################
    Exit Sub
    Fehler:

    '#############################################

    End Sub

    Wie schaffe ich es jetzt das ich aus meinen Feldern des Formular die Daten in den Kalender geschrieben bekomme.
    Die Felder im Formular sind "Aufgabe 7-8" "Aufgabe 8-9" usw. usw.
    Wenn ich jetzt das was in diesen Feldern drin steht im Kalender in das Datum eingetragen bekomme wäre das Super.

    Wäre für jeden Tipp Dankbar


    Danke an alle
    Gruß

    :)
     
  2. Willkommen im Forum.

    Hast Du Dich mit dem Outlook Objektmodell beschäftigt?

    Ich bin da nicht so 100% fit aber sicher gibt es dort eine Methode wie z.B. Code:
    Nebenbei: Code solltest Du künftig in Code-Tags kleiden.
    Das liet sich einfach besser.
     
    hcscherzer, 2. Dezember 2018
    #2
  3. Hallo Hans-Christian,
    danke für den Tipp.
    Das ist mein Code
    Code:
    Dieser Funktioniert auch soweit.
    Das Problem was ich jetzt noch habe ist das ich gerne die Aufgaben die ich in meinem Formular in die Uhrzeiten Felder eintrage als Subject (Betreff) haben möchte und Body hätte ich gern den Mitarbeiter dem ich die Aufgaben zugeordnet habe.
    Ich weiß nicht wie ich die Felde aus dem Formular hier einbinde.
    Welchen Befehl muss ich da schreiben?

    Danke
    und Gruß Udo
     
    UKNewby, 2. Dezember 2018
    #3
  4. Access Daten in Outlook Kalender

    Moin Udo.

    Wie schon erwähnt, bin ich im Outlook Objektmodell nicht so firm.
    Aber vielleicht bekommst Du hier nebenan eine Hilfe?
     
    hcscherzer, 2. Dezember 2018
    #4
  5. Da geht es ja nicht um Fragen zum Outlook Objektmodell, sondern um einfache Basics aus VBA.

    Was erwartest du von dieser Anweisung?
    Code:
    Die kann ja nur True oder False liefern.

    Hier sollte also Klarheit geschaffen werden.
    Wenn Aufgabe7 einen DateTime Wert liefert und du diesen verändern möchtest so nimm die vorgesehene Funktion DateAdd.

    Ansonsten was ist Aufgabe?
    Was ist Aufgabe7
    Was willst du von Aufgabe7 abziehen.

    Und nur so nebenbei: Warum erstellst du immer wieder eine neue Referenz auf Outlook. Einmal genügt.
    LG M
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    markusxy, 2. Dezember 2018
    #5
  6. Hallo,
    das ist Feld in meinem Formular.
    Ich habe soweit auch alle hin bekommen. Durch klick auf meinen Button werden die Termine in Outlook übertragen.
    Was ich jetzt noch brauche ist das ich die Termine in ein extra angelegten Kalender zb. Mitarbeiter hinein schreibe. Da weiß ich nicht wie ich das mache.
    Uns schön wäre es wenn schon vorhandene Einträge im Outlook Kalender nicht doppelt wären. Hier der Code den ich bis jetzt einsetze:
    Code:
    Wäre für jede Hilfe Dankbar
    Gruß
    Udo
     
    UKNewby, 3. Dezember 2018
    #6
  7. Markus wies in #5 darauf hin, dass Du unnötigerweise die Objektinstanz outApp drei Mal öffnest. Einmal am Anfag reicht.

    Liest Du das durch, was hier geschrieben wird?
     
    hcscherzer, 3. Dezember 2018
    #7
  8. Access Daten in Outlook Kalender

    Hallo Hans-Dieter,
    ja ich lese das durch was hier geschrieben wird.
    Auch wenn ich schon etwas älter bin fange ich gerade erst wieder an mit VBA.
    Sorry wenn ich da etwas übersehe. In meinem Original Code habe ich das schon geändert.
    Dennoch suche ich noch nach einer Lösung das keine doppelten Einträge passieren können.
    Und wie kann ich geziehlt in einen extra angelegten Kalender zb. "Mitarbeiter" die Termine hinein schreiben.

    Gruß
    Udo
     
    UKNewby, 3. Dezember 2018
    #8
  9. Hallo Udo,
    damit du mit dem Projekt nicht ins Messer läufst solltest du kurz mal die angedachte Arbeitsweise erklären.

    Wenn man Daten doppelt speichert, muss man ja auch für eine Art Synchronisierung sorgen.

    Warum soll dieser Zusatzaufwand betrieben werden?

    Was soll passieren, wenn eine User in Outlook, Handy oder Tablett Daten verändert? Ist da angedacht, dass Outlook synchronisiert wird?

    Was wenn Daten in Access geändert werden?

    LG Markus
     
    markusxy, 3. Dezember 2018
    #9
  10. 2 Möglichkeiten der "Syncronisierung":

    Du übergibst mit dem Termin eine gesonderte Kategorie, die du in Outlook sonst nicht verwendest. Vor dem Neuanlegen / Aktualisieren der Termine aus Access löschst du alle Termine in Outlook, die dieser Kategorie zugeordnet sind. Das ist technisch sicherlich ein bisschen auf dem Niveau "geht so", funktioniert aber bei einer überschaubaren Anzahl von Terminen und im Zusammenspiel nur (!) mit Outlook. "Nur mit Outlook" an der Stelle, weil: Ich hab die Beobachtung gemacht, dass mit großer Anzahl von Terminänderungen (bei mir seinerzeit unter 200 Terminen) hier manchmal der Kalender-Sync (Exchange, Active-Sync) auf Mobilgeräte hinterherhinkt. Meist in der Form, dass dort zum Teil gelöschte Termine immer noch angezeigt wurden. Ich hielt das zwar eher für ein Exchange-Thema, bin's aber nie richtig losgeworden.

    Hat mich zu Variante 2 gebracht: Man kann die Datensatz-ID des Access-Termins an ein nicht genutztes Feld in Outlook übergeben. Ich nutze hierfür "BillingInformation". Dann hast du eine "echte" Verknüpfung von Access-Termin zu Outlook-Termin und kannst bei der Übergabe prüfen, obs den Termin schon gibt, dann ggf. updaten, sonst neu anlegen.
     
    Andre.Heisig, 3. Dezember 2018
    #10
  11. Hallo,
    erst einmal Danke an alle habt mir sehr geholfen.
    hier ist mein fertiger Code der auch funktioniert

    PHP:
             Private Sub Befehl138_Click()
    ' Anlegen der aktuellen Aufgaben-Termine in Outlook
    Dim objNameSpace        As Outlook.NameSpace
    Dim objOutlook          As Outlook.Application
    Dim objKalender         As Outlook.MAPIFolder
    Dim objKalenderOrdner   As Outlook.MAPIFolder
    Dim Kalendereintrag     As Outlook.AppointmentItem


    Set objOutlook = New Outlook.Application
    Set objNameSpace = objOutlook.GetNamespace("MAPI")
    Set objKalender = objNameSpace.GetDefaultFolder(olFolderCalendar)
    Set objKalenderOrdner = objKalender.Folders.Item("Mitarbeiter")


    Set conn = CurrentProject.Connection
    SQL = "SELECT * FROM qryTermineOutlook2"

    Set Kalendereintrag = objKalenderOrdner.Items.Add
    With Kalendereintrag


    [b] '
    Uhrzeit 7-8[/b]
    .
    Subject Nachname " / " Aufgabe_7_8
    .Body "Bei Projekt " Nachname " / " Aufgabe_7_8

    .Categories "Vorhaben-/Berichtstermeine"
    .start Startdatum Kombinationsfeld144
    .End Startdatum Kombinationsfeld146
    .ReminderPlaySound False
    .ReminderSet True
    .Save
    ' End With
    Set Kalendereintrag = Nothing


    [b] '
    Uhrzeit 8-9[/b]
    Set Kalendereintrag objKalenderOrdner.Items.Add
    With Kalendereintrag

    .Subject Nachname " / " Kombinationsfeld108
    .Body "Bei Projekt " Nachname " / " Kombinationsfeld108

    .Categories "Vorhaben-/Berichtstermeine" 'rst!Kategorie
    .start = Startdatum + Kombinationsfeld148
    .End = Startdatum + Kombinationsfeld150
    .ReminderPlaySound = False
    .ReminderSet = True
    .Save
    End With
    Set Kalendereintrag = Nothing

    '
    Uhrzeit 9-10
    Set Kalendereintrag 
    objKalenderOrdner.Items.Add
    With Kalendereintrag
    .Subject Nachname " / " Kombinationsfeld110
    .Body "Bei Projekt " Nachname " / " Kombinationsfeld110
    '.RequiredAttendees = "muster@provider.de" 'rst!Personen

    .Categories "Vorhaben-/Berichtstermeine" rst!Kategorie
    .start Startdatum Kombinationsfeld152
    .End Startdatum Kombinationsfeld154
    .ReminderPlaySound False
    .ReminderSet True
    .Save
    End With
    Set Kalendereintrag 
    Nothing
    End With
    End Sub
     
  12. Hallo an alle,
    nun habe ich fast alles hin bekommen. Das ist mein Code:


    PHP:
             Private Sub Befehl138_Click()

    ' Anlegen der aktuellen Aufgaben-Termine in Outlook
    Dim objNameSpace        As Outlook.NameSpace
    Dim objOutlook          As Outlook.Application
    Dim objKalender         As Outlook.MAPIFolder
    Dim objKalenderOrdner   As Outlook.MAPIFolder
    Dim Kalendereintrag     As Outlook.AppointmentItem


    Set objOutlook = New Outlook.Application
    Set objNameSpace = objOutlook.GetNamespace("MAPI")
    Set objKalender = objNameSpace.GetDefaultFolder(olFolderCalendar)
    Set objKalenderOrdner = objKalender.Folders.Item("Mitarbeiter")


    Set conn = CurrentProject.Connection
    SQL = "SELECT * FROM qryTermineOutlook2"

    Set Kalendereintrag = objKalenderOrdner.Items.Add
    With Kalendereintrag

    '
    Uhrzeit 7-8
    .Subject Nachname " / " Aufgabe_7_8
    .Body "Bei Projekt " Nachname " / " Aufgabe_7_8
    .Categories "Vorhaben-/Berichtstermeine"
    .start Startdatum Kombinationsfeld144
    .End Startdatum Kombinationsfeld146
    .ReminderPlaySound False
    .ReminderSet True
    .Save
    End With
    Set Kalendereintrag 
    Nothing

    'Uhrzeit 8-9
    Set Kalendereintrag = objKalenderOrdner.Items.Add
    With Kalendereintrag

    .Subject = Nachname & " / " & Kombinationsfeld108
    .Body = "Bei Projekt " & Nachname & " / " & Kombinationsfeld108
    .Categories = "Vorhaben-/Berichtstermeine" '
    rst!Kategorie
    .start Startdatum Kombinationsfeld148
    .End Startdatum Kombinationsfeld150
    '.Duration = 60
    '
    .ReminderMinutesBeforeStart 43200 'Einen Monat vorher erinnern
    .ReminderPlaySound = False
    .ReminderSet = True
    .Save
    End With
    Set Kalendereintrag = Nothing

    '
    Uhrzeit 9-10
    Set Kalendereintrag 
    objKalenderOrdner.Items.Add
    With Kalendereintrag

    .Subject Nachname " / " Kombinationsfeld110
    .Body "Bei Projekt " Nachname " / " Kombinationsfeld110
    .start Startdatum Kombinationsfeld152
    .End Startdatum Kombinationsfeld154
    .Categories "Vorhaben-/Berichtstermeine" 'rst!Kategorie
    .ReminderPlaySound = False
    .ReminderSet = True
    .Save
    End With
    Set Kalendereintrag = Nothing


    '
    Uhrzeit 10-11
    Set Kalendereintrag 
    objKalenderOrdner.Items.Add
    With Kalendereintrag
    'If Me!Kombinationsfeld157 + Kombinationsfeld159 = Null Then 'Beispeil für eine Schleife
    If IsNull(Kombinationsfeld157 Kombinationsfeld159Then
    Else
    .
    start Startdatum Kombinationsfeld157
    .End Startdatum Kombinationsfeld159
    End 
    If
    .
    Subject Nachname " / " Kombinationsfeld112
    .Body "Bei Projekt " Nachname " / " Kombinationsfeld112
    .Categories "Vorhaben-/Berichtstermeine" 'rst!Kategorie
    .ReminderPlaySound = False
    .ReminderSet = True
    .Save
    End With
    Set Kalendereintrag = Nothing

    '
    Uhrzeit 11-12
    Set Kalendereintrag 
    objKalenderOrdner.Items.Add
    With Kalendereintrag

    If IsNull(Kombinationsfeld161 Kombinationsfeld163Then
    Else
    .
    start Startdatum Kombinationsfeld161
    .End Startdatum Kombinationsfeld163
    End 
    If

    .
    Subject Nachname " / " Kombinationsfeld1114
    .Body "Bei Projekt " Nachname " / " Kombinationsfeld114
    .Categories "Vorhaben-/Berichtstermeine" 'rst!Kategorie
    .ReminderPlaySound = False
    .ReminderSet = True
    .Save
    End With
    Set Kalendereintrag = Nothing

    '
    Uhrzeit 12-13
    Set Kalendereintrag 
    objKalenderOrdner.Items.Add
    With Kalendereintrag

    If IsNull(Kombinationsfeld165 Kombinationsfeld167Then
    Else
    .
    start Startdatum Kombinationsfeld165
    .End Startdatum Kombinationsfeld167
    End 
    If
    .
    Subject Nachname " / " Kombinationsfeld116
    .Body "Bei Projekt " Nachname " / " Kombinationsfeld116
    .Categories "Vorhaben-/Berichtstermeine" 'rst!Kategorie
    .ReminderPlaySound = False
    .ReminderSet = True
    .Save
    End With
    Set Kalendereintrag = Nothing

    '
    Uhrzeit 13-14
    Set Kalendereintrag 
    objKalenderOrdner.Items.Add
    With Kalendereintrag

    If IsNull(Kombinationsfeld169 Kombinationsfeld171Then
    Else
    .
    start Startdatum Kombinationsfeld169
    .End Startdatum Kombinationsfeld171
    End 
    If
    .
    Subject Nachname " / " Kombinationsfeld118
    .Body "Bei Projekt " Nachname " / " Kombinationsfeld118
    .Categories "Vorhaben-/Berichtstermeine" 'rst!Kategorie
    .ReminderPlaySound = False
    .ReminderSet = True
    .Save
    End With
    Set Kalendereintrag = Nothing


    '
    Uhrzeit 14-15
    Set Kalendereintrag 
    objKalenderOrdner.Items.Add
    With Kalendereintrag

    If IsNull(Kombinationsfeld173 Kombinationsfeld175Then
    Else
    .
    start Startdatum Kombinationsfeld173
    .End Startdatum Kombinationsfeld175
    End 
    If

    .
    Subject Nachname " / " Kombinationsfeld120
    .Body "Bei Projekt " Nachname " / " Kombinationsfeld120
    .Categories "Vorhaben-/Berichtstermeine" 'rst!Kategorie
    .ReminderPlaySound = False
    .ReminderSet = True
    .Save
    End With
    Set Kalendereintrag = Nothing

    '
    Uhrzeit 15-16
    Set Kalendereintrag 
    objKalenderOrdner.Items.Add
    With Kalendereintrag

    If IsNull(Kombinationsfeld177 Kombinationsfeld179Then
    Else
    .
    start Startdatum Kombinationsfeld177
    .End Startdatum Kombinationsfeld179
    End 
    If
    .
    Subject Nachname " / " Kombinationsfeld120
    .Body "Bei Projekt " Nachname " / " Kombinationsfeld120
    .Categories "Vorhaben-/Berichtstermeine" rst!Kategorie

    .ReminderPlaySound False
    .ReminderSet True
    .Save
    End With
    Set Kalendereintrag 
    Nothing

    MsgBox 
    "Aufgaben wurden in Outlook-Kalender übertragen."



    End Sub
     
  13. Access Daten in Outlook Kalender

    Hallo,

    keine Ahnung ob ich damit richtig liege, aber ich würde es so lösen...
    Am Anfang deines Code abfragen ob diese Daten gesetzt wurden.
    Code:
    Kannst auch eine Funktion einsetzen:
    Code:
    Code:
    PS: der Button-Name ist auch nicht der Beste, sollte ein funktionsgebender Name sein, z.B. btnReminder.
    Ist beim Lesen des Codes einfacher zu wissen warum es geht.
     
    Kyron9000, 7. Dezember 2018
    #13
  14. Hallo Alfred,
    super *mrcool *mrcool und Vielen Dank für deine Hilfe.
    Habe diesen Code genommen:

    PHP:
             If IsNull(Me.Startzeit) or IsNull(Me.EndzeitThen MsgBox "Überprüfen Sie die Eingabedaten!": Exit Sub
     
  15. ... na ja, schau ma mal *Smilie

    Das kannst zu deinem Code darunter einfügen...
    Code:
    und das in deinen Code bevor es losgeht *Smilie
    Code:
    Diese Namen würde ich alle ändern! Kombinationsfeld148

    Und wenn noch mehr Daten überprüft werden sollen, einfach überall zufügen.
     
    Kyron9000, 7. Dezember 2018
    #15
Thema:

Access Daten in Outlook Kalender

Die Seite wird geladen...
  1. Access Daten in Outlook Kalender - Similar Threads - Access Daten Outlook

  2. Import Daten aus Access Abfrage klappt nicht

    in Microsoft Excel Hilfe
    Import Daten aus Access Abfrage klappt nicht: Moin, ich habe ein Problem. Ich habe eine Datenbank in Access mit diversen Tabellen und Abfragen. Jetzt habe ich eine neue Abfrage erstellt und muß das Ergebnis täglich in eine Exceldatei...
  3. Access Tabelle mit Excel Daten updaten

    in Microsoft Access Hilfe
    Access Tabelle mit Excel Daten updaten: Hallo zusammen, ich habe eine Excel Arbeitsmappe die ständig aktualisiert wird. Die Spaltennamen stimmen mit den Spaltennamen der Tabelle in Access überein. Jetzt möchte ich gerne einen VBA Code...
  4. Bestimmte Daten zwischen innerhalb eines Datumsbereichs einer Tabelle Anfügen

    in Microsoft Access Hilfe
    Bestimmte Daten zwischen innerhalb eines Datumsbereichs einer Tabelle Anfügen: Hallo, ich habe per Google und Foren SuFu leider nichts passendes finden können, wage aber zu bezweifeln, dass Access da an seine Grenzen kommt, da es eigentlich recht banal ist. Ich habe eine...
  5. Daten aus Access in Excelvorlage übertragen

    in Microsoft Access Hilfe
    Daten aus Access in Excelvorlage übertragen: Hallo, ich benötige etwas Hilfe und Tipps bei einem Vorhaben. Zunächst muss ich aber ein paar Sätze zum Ablauf schreiben. In einer Access DB werden bei uns die Kundenanfragen zwecks Verwaltung...
  6. Import von Excel-Daten in Access-Tabelle

    in Microsoft Access Hilfe
    Import von Excel-Daten in Access-Tabelle: Hallo, um es gleich vorwegzunehmen, ich bin absoluter Amateur und hänge an folgendem Punkt: Ausgangspunkt: Ich muss einmalig (von Hand, es geht also nicht zwingend um ein VBA-Modul o.Ä., obwohl...
  7. Excel Daten in Access automatisiert ablegen

    in Microsoft Access Hilfe
    Excel Daten in Access automatisiert ablegen: Hallo zusammen, ich habe folgendes Problem. Für die Arbeit kriege ich immer die gleichen Datenblätter für ein "Ventil". In diesem Arbeitsblatt sind dann verschiedene Zellen ausgefüllt. Manchmal...
  8. Daten in bestimmtes Feld in Access Formular

    in Microsoft Access Hilfe
    Daten in bestimmtes Feld in Access Formular: Hallo, ich möchte eingescannte Daten über eine Software via Javascript in ein bestimmtes Feld in Access schreiben. Das Schreiben in eine bestimmte Tabelle ist mir klar und über ein normales...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden