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 :

Comment ça la macro s'exécute sous accessXP et pas sous access2000?


Sujet :

Access

  1. #1
    Membre régulier Avatar de Subkill
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 174
    Points : 124
    Points
    124
    Par défaut Comment ça la macro s'exécute sous accessXP et pas sous access2000?
    Bonjour,

    Une BD access a été créée avec accessXP. Quand j'y exécute une macro tout fonctionne bien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub exportQuery()
        DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "qryOrdinateur", "C:\qryBase.XLS", True
    End Sub
    Quand j'essaye d'exécute la macro sous access2000 j'ai le message d'erreur suivant.
    Erreur d'exécution '3075':
    Function is not available in expressions in query expression 'UCase(tblEquipement!No_Gouv)'.

    Le code du qryOrdinateur est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT UCase(tblEquipement!No_Gouv) AS No_Gouv, [Prenom_Employe] & " " & [Nom_Employe] AS NomEmploye, tblDirection.Direction
    FROM ((tblEquipement LEFT JOIN tblEquipement AS tblEquipement_1 ON tblEquipement.No_Serie = tblEquipement_1.No_Serie_Ordi) LEFT JOIN tblUtilisateur ON tblEquipement.Code_Utilisateur = tblUtilisateur.Code_Utilisateur) LEFT JOIN tblDirection ON tblEquipement.Direction = tblDirection.Numero
    GROUP BY UCase(tblEquipement!No_Gouv), [Prenom_Employe] & " " & [Nom_Employe], tblDirection.Direction, tblEquipement.Type, tblEquipement.Status, tblEquipement.No_Gouv, tblUtilisateur.Nom_Employe, tblUtilisateur.Prenom_Employe
    HAVING (((tblEquipement.Type)="Ordinateur") AND ((tblEquipement.Status)="Assigné")) OR (((tblEquipement.Type)="Portable") AND ((tblEquipement.Status)="Assigné"))
    ORDER BY UCase(tblEquipement!No_Gouv);
    Dans les références il me manque Microsoft Access 10.0 Object Library mais j'ai le Microsoft Access 9.0 Object Library.

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    Bonsoir,

    Selon moi, la compatibilité binaire des libraries est ascendante pas descendante. Tu fais référence à une bibliothèque indisponible sur le poste en question et c'est normal que ça plante à ce niveau.

    L'erreur d'exécution '3075' que tu rencontres est générée du fait que la fonction UCase() n'est pas disponible dans la librairie référencée et pour cause, elle n'est pas là. Tu aurais développé sur 2000 et ouvert sur XP il n'y aurait pas eu de problème.

    C'est une appli distribuée, il te faut la déployer et là, aucun problème...

    Argy

  3. #3
    Membre régulier Avatar de Subkill
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 174
    Points : 124
    Points
    124
    Par défaut
    La raison pourquoi cela ne marchait pas est que j'avais une référence à Microsoft Access 10.0 Object Library (MANQUANT). Alors j'ai décoché cette référence et tout fonctionne bien maintenant.

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 172
    Points
    12 172
    Billets dans le blog
    5
    Par défaut
    Oui, c'est ce que je t'a expliqué.
    La compatibilité binaire de la librairie va dans un sens et pas dans l'autre.
    Par exemple, le CLISID de la librairie Access.Application est le suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {73A4C9C1-D68D-11D0-98BF-00A0C90DC8D9}
    et ce quelque soit la version.
    Mais du fait que tu aies fait référence à une bibliothèque absente, il la coche comme manquante mais par ailleurs, Access a reconnu celle-ci par son ClassIdentifier (CLSID), donc il substitue grâce à cette compatibilité.
    Fort heureusement d'ailleurs car sinon, tu n'aurais même pas pu charger ta base de données.

    Argy

  5. #5
    Membre régulier Avatar de Subkill
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 174
    Points : 124
    Points
    124
    Par défaut
    Ahhh ok!

    Merci


    Subkill (qui pense avoir enfin compris!)

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/08/2014, 13h39
  2. [LibreOffice][Tableur] Une macro qui fonctionne sous Linux mais pas sous windows
    Par ludox62 dans le forum OpenOffice & LibreOffice
    Réponses: 3
    Dernier message: 07/01/2014, 21h26
  3. [WD-2010] Macro 2003 qui ne s'active pas sous 2010
    Par iratihel dans le forum VBA Word
    Réponses: 2
    Dernier message: 25/01/2013, 13h05
  4. [Turbo Pascal] TPX peut être exécuté en mode fenêtré sous Vista mais pas sous Win7
    Par Torank dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 06/09/2010, 17h58
  5. Réponses: 8
    Dernier message: 30/06/2006, 14h56

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