IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Références Outlook sous access qui manque en changeant de version [AC-2016]


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Artisan
    Inscrit en
    Janvier 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Artisan
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2013
    Messages : 15
    Points : 27
    Points
    27
    Par défaut Références Outlook sous access qui manque en changeant de version
    Bonjour,

    voila le problème :

    J'ai une base Access fait en version 2013 et qui possède la référence vers Outlook 15 (2013).
    Lorsque j'ouvre la base avec Access 2016 il change la référence vers Outlook 16 (2016).
    Lorsque je repasse sous Access 2013 il me mets une erreur et marque la référence Outlook 16 manquante (normale je suis sous 2013) ! Je dois alors décocher la référence manquante et recocher la référence Outlook 15 (mon problème !).

    Par contre, j'ai réalisé un fichier sous excel 2016 qui pilote Access et lorsque j'ouvre le fichier sous une version précédente (2010,2013) je n'ai pas ce problème, il me change bien la référence Access avec la bonne version.

    Avez vous déjà eu ce problème et qu'elle solution j'aurais pour le palier.

    Je vous remercie par avance de vos réponses.

    Bonn fin de journée.

    JG

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 264
    Points : 19 432
    Points
    19 432
    Billets dans le blog
    63
    Par défaut
    Bonsoir,

    Pour que vôtre application fonctionne sur tous les postes vous pouvez éventuellement vous passer de référence Outlook, en utilisant du late binding (liaison tardive) et en déclarant vos variables outlook comme objets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim objOutlook As Object
     
      'Assigner l'objet Outlook
    Set objOutlook = CreateObject("Outlook.Application") 
    ...
    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Artisan
    Inscrit en
    Janvier 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Artisan
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2013
    Messages : 15
    Points : 27
    Points
    27
    Par défaut
    Bonsoir User,

    Après le planning, les références !!! Merci pour ta réponse.

    Si je comprend bien, en écrivant comme tu me le montres, je n'ai pas besoin de cocher la référence MS Outlook 15 Object Library ?

    Par contre il va falloir que je revois mon code (j'ai passé beaucoup de temps beaucoup à faire fonctionner certains éléments comme la recherche de mail, la création modification de contact depuis access) mais comment je modifie ces déclarations par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Function EmailExisteDansContact(Email As String) As Boolean
     
    Dim myolApp As Outlook.Application
    Dim myNamespace As Outlook.NameSpace
    Dim myContacts As Outlook.Items
    Dim myItems As Outlook.Items
    Dim myItem As Object
    Dim strWhere As String
     
    Set myolApp = CreateObject("Outlook.Application")
    Set myNamespace = myolApp.GetNamespace("MAPI")
    Set myContacts = myNamespace.GetDefaultFolder(olFolderContacts).Items
     
    strWhere = "[Email1Address] ='" & Email & "' or [Email2Address] ='" & Email & "' or [Email3Address] ='" & Email & "'"
    Set myItems = myContacts.Restrict(strWhere)
    If myItems.Count > 0 Then
       EmailExisteDansContact = True
    Else
       EmailExisteDansContact = False
    End If
     
    End Function
    La question de départ en faite (mal exprimé dans le prenmier poste est :

    Pourquoi cela le fait qu'avec la référence Outlook ? Je n'ai pas eu le temps de vérifier en faisant l'automation depuis Excel vers Outlook.

    Encore merci pour vos contributions.

    JG

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 264
    Points : 19 432
    Points
    19 432
    Billets dans le blog
    63
    Par défaut
    Rebonsoir,

    Merci

    Non pas besoin de références.

    Le code ressemblerait à cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Function EmailExisteDansContact(Email As String) As Boolean 
    Dim myolApp As Object
    Dim myNamespace As Object
    Dim myContacts As Object
    Dim myItems As Object
    Dim myItem As Object
    Dim strWhere As String
     
    Set myolApp = CreateObject("Outlook.Application")
    Set myNamespace = myolApp.GetNamespace("MAPI")
    Set myContacts = myNamespace.GetDefaultFolder(10).Items
     
    strWhere = "[Email1Address] ='" & Email & "' or [Email2Address] ='" & Email & "' or [Email3Address] ='" & Email & "'"
    Set myItems = myContacts.Restrict(strWhere)
    If myItems.Count > 0 Then
       EmailExisteDansContact = True
    Else
       EmailExisteDansContact = False
    End If
     
    End Function
    à tester sans la référence...

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Artisan
    Inscrit en
    Janvier 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Artisan
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2013
    Messages : 15
    Points : 27
    Points
    27
    Par défaut
    Citation Envoyé par User Voir le message

    à tester sans la référence...
    Bonsoir User,

    j'ai testé et je suis satisfait, merci tout plein !

    Je vais voir pour changer toutes mes autres fonctions !!!

    A bientôt.

    JG

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Ici il s'agit de 2 techniques différentes :
    Le early binding où les objets sont fortement typés grâce à une déclaration de la bibliothèque par les Références VBA (menu éponyme).
    Et le late binding où les objets sont faiblement typés (anonymisés) par une déclaration tardives de la bibliothèque.

    Les 2 sont différents par leur utilisation et leur comportement.

    Pour les détails :

    http://mhubiche.developpez.com/vba/f...endre/binding/

    ou

    http://blogaccess.free.fr/?p=127

    Mon conseil est : early pendant la phase de développement, late dans la phase d'exploitation. Je l'explique dans mon blog.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Artisan
    Inscrit en
    Janvier 2013
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Artisan
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Janvier 2013
    Messages : 15
    Points : 27
    Points
    27
    Par défaut
    Merci pour ces lumières , je vais voir les liens.

    Cordialement,

    JG

    PS : En fait il manque la partie après le titre CreateObject... dans la fiche...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. req qui ne fonctionne pas sous access
    Par tenebriox dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 26/01/2010, 15h49
  2. Réponses: 0
    Dernier message: 13/08/2009, 17h45
  3. Requête qui fonctionne sous Access mais pas JDBC
    Par loic911 dans le forum JDBC
    Réponses: 1
    Dernier message: 12/09/2008, 16h46
  4. Réponses: 2
    Dernier message: 06/06/2005, 15h13
  5. Réponses: 2
    Dernier message: 04/06/2004, 11h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo