Office: (Office 2013) Access

Helfe beim Thema Access in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo Ich habe folgendes Problem. Ich starte von Access Outlook: Option Compare Database Option Explicit Public Function Start_Outlook()... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Shakes, 26. November 2015.

  1. Access


    Hallo

    Ich habe folgendes Problem.

    Ich starte von Access Outlook:


    PHP:
             Option Compare Database
    Option Explicit

    Public Function Start_Outlook()
    Dim objOtlk As Outlook.Application

    Set objOtlk 
    CreateObject("Outlook.Application")
    If 
    objOtlk.Explorers.Count 0 Then
    objOtlk
    .Session.GetDefaultFolder(olFolderCalendar).Display
    objOtlk
    .ActiveExplorer.WindowState olMaximized
    objOtlk
    .ActiveExplorer.Display
    End 
    If
    Set objOtlk Nothing
    End 
    Function
    :)
     
  2.  
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
    markusxy, 28. November 2015
    #2
  3. Hallo Markus

    Was ich damit meinte war.

    Führe ich die besagte Funktion in Outlook, jedoch außerhalb der Sub "Application_Quit" aus, funktioniert Sie immer.

    Führe ich die Funktion jedoch über Application_Quit, also durch Schließen von Outlook, aus, funktioniert es meistens nicht.

    LGünter
     
  4. Access

    Dann musst du herausfinden, warum er manchmal nicht geht.

    On Error Resume Next heißt ignoriere alle Fehler.

    Set acApp = GetObject(, "Access.Application") solltest du auch vermeiden.

    wenn schon dann:
    Set acApp = GetObject("Pfad der Access Datei")
    Sonst könnte ja irgendeine Access Datei verwendet werden.

    Wenn dabei ein Fehler auftritt, diesen ordentlich verarbeiten. Dann wirst hoffentlich auf den Fehler stoßen.

    Dann bleibt nur noch die Frage, ob in der Access Methode ein Fehler vorhanden ist.

    LG Markus
     
    markusxy, 28. November 2015
    #4
  5. Nur mal als Idee einen etwas anderen Weg zu gehen:
    Warum behandelst du das Application_Quit-Event der Outlook Instanz nicht innerhalb deiner Access Anwendung?
    Du verwendest sowieso Early Binding der Outlook.Application, da kannst du das Objekt auch mit dem WithEvents-Zusatz deklarieren und die Ereignisse in Access behandeln.

    Hat auf jeden Fall den Vorteil das dein Code komplett in der Access Anwendung liegt.
    Ob es das konkrete Problem löst, bleibt natürlich abzuwarten...
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
  6. \@ Markus

    On Error Resume next, hatte ich natürlich für das Debugging deaktiviert, nur hier beißt sich die Katze in de Schwanz. Ein Debugging ist nicht möglich, da sobald ich Outlook schließe auch vba unter Outlook geschloßen wird. Sprich ich sehe kurzfristig meinen Haltepunkt gelb untermalt, dann ist das Fenster schon geschossen.

    Was mir aufgefallen ist, beim Öffnen von Outlook über Access bekomme ich in der Taskleiste eine Meldung mit dem Outlook Symbol "Outlook wird von einem anderen Programm verwendet. ..." Kann es damit zu tun haben ?

    @sonic: Das wäre eine Möglichkeit, nur wie ? und dann ?

    Klassenmodul clsOutlook erstellt:

    PHP:
             Option Compare Database
    Option Explicit

    Public WithEvents App As Outlook.Application

    Private Sub App_Quit()
    Termine
    End Sub
     
  7.  
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
  8. Access

    Hallo

    Funktioniert leider nicht, das Event Quit wird leider nicht ausgeführt

    clsOutlook

    PHP:
             Option Compare Database
    Option Explicit

    Public WithEvents OApp As Outlook.Application

    Public Function Start_Outlook()
    Set OApp CreateObject("Outlook.Application")
    If 
    OApp.Explorers.Count 0 Then
    OApp
    .Session.GetDefaultFolder(olFolderCalendar).Display
    OApp
    .ActiveExplorer.WindowState olNormalWindow
    OApp
    .ActiveExplorer.WindowState olMaximized
    OApp
    .ActiveExplorer.Display
    End 
    If
    End Function

    Public 
    Sub OApp_Quit()
    MsgBox ("Zu ist es")
    Termine
    End Sub
     
  9. Ich habe in den Tiefen des WWW einen Ansatz gefunden und etwas modifiziert und nun funktioniert es.

    Die Aufgabenstellung war Outlook von Access-VBA öffnen und den Code so lange pausieren, bis Outlook wieder geschlossen wird, wobei der Code für jedes andere Programm ebenso funktioniert.


    PHP:
             Option Compare Database
    Option Explicit

    Private Declare Sub Sleep Lib "kernel32.dll" _
    ByVal dwMilliseconds 
    As Long)

    Sub check_is_running()
    Dim Proc As Object
    Dim proc_name 
    As String
    Dim bl  
    As Boolean
    proc_name 
    "Outlook.exe"
    bl True
    While bl True
    Sleep 500
    Set Proc 
    GetObject("winmgmts:").ExecQuery_
    "Select Name from Win32_Process Where Name = '" _
    proc_name "'")
    If 
    Proc.Count 0 Then
    bl 
    False
    End 
    If
    Wend
    End Sub
     
  10.  
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
  11. nur so mal ne Konzeptfrage.
    Wie ist das Zusammenspiel zwischen den Terminen und Access.
    Vielleicht gibt es ja ganz einen anderen Ansatz.

    Es wäre doch auch möglich, den neuen oder geänderten Termin direkt an Access zu übergeben, oder die Termine gleich in Access zu erstellen.
    Da gibt es viele Optionen.

    Außerdem warum wird Outlook geschlossen. Ich für meine Teil habe Outlook ständig geöffnet?

    LG Markus
     
  12. Das ist eine durchaus berechtigte Rückfrage. - In meinem letzten Posting hatte ich ja den Link auf meinen Collection-Event-Handling-Artikel als nur am Rande relevante, weiterführende Info angeführt. - Aber zufällig ist das konkrete Beispiel, anhand dessen ich dort die Konzepte beschreibe, eigentlich genau dieser Fall. - Nur dass es dort nicht um Termine, sondern um Kontakte geht.

    Outlook bringt Out-of-the-Box eine Menge Funktionalität mit, die bei der Terminerstellung hilfreich ist (Kalender, Verfügbarkeitsinformationen, Kontakte, Erinnerungen, etc.) und die man meist nicht vergleichbar in Access nachprogrammieren kann oder will.

    Me too. - Es dient sicherlich nur dazu, einen definiertes Ereignis für die Terminübernahme von Outlook nach Access zu haben.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
  13. Access

    \@sonic8

    Also die Links von dir habe ich nicht angesehen.
    Grundsätzlich habe ich die Idee mit dem App.Quit über Access genial gefunden.
    Die Fragen an den Günter habe ich gestellt um herauszufinden, warum das bisherige Konzept so umgesetzt wurde.

    Die Frage ist ja was die Methode Termine in Access macht.

    Ich möchte das Thema auch bald angehen, und habe geplant die Termin direkt in Access anzulegen, da ich eine Erinnerung über mein Handy wünsche, sollte ich nicht am PC sitzen.
    Hast Du schon einmal mit dem Outlook View Control gearbeitet?
    LG Markus
     
  14. Der andere Artikel behandelt im Kern das gleiche Konzept des Event-Handlings von Outlook-Objekten. - Ist aber allgemeingültig, d.h. nicht Outlook-spezifisch.

    Nein, ich habe gerade mal die Beschreibung überflogen. Eigentlich hört sich das gut an, aber...
    Do not use the View Control in any scenario outside the Outlook process...
    (Zitiert aus der View-Control-Doku im Office Dev Center)
    Das macht es wesentlich weniger nützlich, als es auf den ersten Blick zu sein schien.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
  15. Schau mal hier nach.

    Sobald ich Zeit hab, werd ich das testen.
    LG Markus
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
Thema:

Access

Die Seite wird geladen...
  1. Access - Similar Threads - Access

  2. Ausdruck eines Etiketts auf verschiedenen PCs steuern

    in Microsoft Access Hilfe
    Ausdruck eines Etiketts auf verschiedenen PCs steuern: Hallo, ich habe mir ein kleines Etikettenprogramm geschrieben ( ACCESS 2016) und nutze dies auf 3 PCs. An jedem PC ist ein WLAN Drucker. Wenn ich nun eine Änderung am Programm mache und das...
  3. Access als Mediaplayer

    in Microsoft Access Hilfe
    Access als Mediaplayer: Hi zusammen! Seit das Windows Media Center (WMC) tot ist, nutze ich notgedrungen MS Access als schlechten Ersatz. Ich benutze nur die Audiofunktionalität und es funktioniert soweit alles über...
  4. Smarttags in Access LTE (2021)

    in Microsoft Access Hilfe
    Smarttags in Access LTE (2021): Hallo Leute, Ich hätte da mal eine Frage zu den Smarttags. In meinen uralten Access-Buch von 2003 steht in BSP noch was drinnen von Smarttag in den Eigenschaften die man aktivieren soll. Ich habe...
  5. Excel zu Access

    in Microsoft Access Hilfe
    Excel zu Access: Hallo Suche ein Lösung für eine Umsetzung von Excel zu Access. Die Tabelle KL enthält nebst der Projekt-ID (selbst-erzeugt) diverse Felder: u.a. MessOrte in Form 1,2,3,A,B (=5Messpunkte Split mit...
  6. Access Neuer Datensatz im Formular

    in Microsoft Access Hilfe
    Access Neuer Datensatz im Formular: Hallo - ich bin neu hier und Anfängerin im VBA Programmieren. Ich habe eine Frage zu VBA: In meinem Formular kann ich Daten eingeben, wenn ich das Formular wieder öffne, wird der letzte...
  7. automatische Abfrage URL via Artikelnummer

    in Microsoft Access Hilfe
    automatische Abfrage URL via Artikelnummer: Guten Tag Bei der Aktualisierung der Homepage und aufgrund eines Plugin-Wechsels des Üebersetzungstools hat wordpress alle Permalinks der Produkte verändert. Unserem Webmaster war nicht bekannt,...
  8. Suche: Deutsche Vorlage der Schülerverwaltung DB

    in Microsoft Access Hilfe
    Suche: Deutsche Vorlage der Schülerverwaltung DB: Guten Tag Da bei mir trotz korrekter Einstellungen der Sprache in der MS Office Suite die Vorlagen immer in französischer Sprache heruntergeladen werden, wollte ich kurz fragen, ob mir jemand hier...
  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