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 :

Portabilité d'une appli Access 2007 de XP vers Vista [AC-2007]


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 31
    Points : 30
    Points
    30
    Par défaut Portabilité d'une appli Access 2007 de XP vers Vista
    Bonjour,

    Je développe une appli Access avec MS ACCESS 2007 pour les besoins de mon entreprise en environnement XP. La base est scindé en 2: données d'un coté, code et IHM de l'autre (mais les 2 bases sont des bases Access - extension de fichier .accdb).

    Jusqu'à maintenant, l'appli était uniquement utilisée sous XP et tout fonctionnait parfaitement. Récemment, l'un des utilisateurs a dû migrer sous VISTA et, depuis lors, la partie codeVB+IHM ne fonctionne pas correctement sur sa config: certaines requêtes utilisant du code VB (fonction comme "Nz" ou bien fonctions spécifiques développées dans des modules de la base) génèrent des erreurs, certaines IHM ne fonctionnent plus, etc. Grosso modo, le message d'erreur récurrent est "Fonction non disponible dans l'expression (...)" suivie de l'expression du champ de la requête qui pose problème.

    J'ai l'impression que le problème vient de la déclaration des références: lorsque j'accède à l'interface de sélection des références sur la base sur la plate-forme Vista, il y a différentes versions des bibliothèques (à commencer par celle intitulée "Visual Basic for applications") et je n'arrive pas à sélectionner celle de mon choix pour tester leur changement.

    Avez-vous des suggestions pour gérer la portabilité d'une application Access de XP vers Vista? Faut-il que je passe de la liaison anticipée (Early Binding - celle que j'utilise actuellement) à la liaison tardive (Late Binding)? Vos inputs me sont précieux et sont bienvenues!

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    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 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Early Binding t'oblige à disposer du ou des composants référencés sur la machine cliente.
    Late Binding lèvera une erreur 429 dans les mêmes circonstances sauf si tu as abusé du On Error Resule Next...
    Dans un cas comme dans l'autre, le choix de la technologie se défini dans un souci de compatiblité de l'objet en question.

    Par exemple, avec Excel 2003 :
    EarlyBinding (Notion de version, quoique...)
    Référence à Microsoft Excel 11.0 Object Library
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set oAppXL = New Excel.Application
    Contre en LateBinding (Pas de notion de version)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set oAppXL = CreateObject ("Excel.Application")
    Le fait que tu rencontres des erreurs du type de celles que tu soulignes semblent venir d'un problème de référence...

    Ce qui est paradoxal, c'est que la compatibilté est ascendante donc, il n'est pas normal que tu rencontres des soucis sauf si tu as usé de composants spécifiques...

    Il est préférable alors d'installer l'application pour parer à ce genre de problème ou du moins, s'assurer que le(s) problème(s) ne viendrai(en)t pas de là...

    Pour ma part, Vista (sans considérer que ce choix de système en entreprise n'est pas génial) n'est pas en soi responsable...

    Enfin dans l'idéal, il est préférable pour toi de disposer des deux postes de travail munis du système XP et Vista et de tester pour chacun l'application en question...
    En cas de multi-versionning d'Access, il est recommandé d'user de machines virtuelles plutôt que d'avoir plusieurs versions d'Access sur le même poste pour toujours et encore une fois éviter les problèmes de référence.

    Argy

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 31
    Points : 30
    Points
    30
    Par défaut Juste pour être sûr...
    Juste pour être sûr que j'ai bien saisi (ou m'assurer que j'ai correctement explicité les faits liés au problème rencontré)... Car en fait, tous les postes XP utilisant l'application utilisent la même version d'Access 2007 installée sur le poste et il me semble que le poste Vista également.

    Pour ce qui est des références et fonctions utilisées, je n'utilise que des choses très standards: Certaines requêtes qui plantent utilisent uniquement la fonction "Nz". Il suffit que j'enlève la dite fonction "Nz" dans la définition de la requête et la requête est alors correctement affichée, sans message d'erreur...

    Il faudrait donc que je m'engage sur une ré-installation du pack office 2007 sur le poste équipé de Vista, c'est ça? Ou bien me conseilles-tu plutôt de creuser dans l'empaquetage de l'application en utilisant le runtime plutôt que l'Access 2007 qui est installé sur les postes utilisateurs?...

    Dans tous les cas, un grand merci pour ton attention et ta (grande) réactivité!...

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    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 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Humm,
    Je n'avais pas capté que les postes Vista étaient pourvus d'Access mais que tu souhaitais déployer sur ces derniers...
    Ton problème ne vient pas du runtime, c'est ce qui m'a prêté à confusion.
    J'ai donc déplacé le sujet...

    Si tu as accès à un poste Vista, il serait bon que tu compiles ton projet dessus. je ne vois pas pourquoi des fonctionnalités aussi banales que celles que tu soulignes sont devenus inopérentes alors que personnellement, je ne les ai pas rencontrées.

    Argy

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 31
    Points : 30
    Points
    30
    Par défaut
    Désolé pour le classement inadéquat de mon sujet...

    Je suis le premier surpris concernant le non fonctionnement de certaines requêtes. J'ai déjà recompilé l'applicatif sur le poste Vista. La compilation ne fait apparaître aucun message d'erreur mais cela n'enlève pas l'apparition des messages d'erreurs.

    Au vu de ce que tu me dis, je me demande sincèrement si la version d'Access 2007 installée sur le poste Vista est correctement / proprement mise. Je vais procéder à une désinstallation / réinstallation d'Access 2007 pour voir si cela change qqchose.

    Merci pour ton retour dans tous les cas: je vous tiendrai au courant sur l'issue de ce point.

    A bientôt,

    Olivier

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 31
    Points : 30
    Points
    30
    Par défaut pb résolu: utilisation à pb de la référence à PDF Creator
    J'utilisais une bibliothèque PDF Creator qui semblait poser pb. Apparemment, il est possible d'utiliser une version Vista de la bibliothèque pour résoudre le pb.

    Dans mon cas, j'ai purement et simplement enlever cette bibliothèque et utiliser la solution d'export au format PDF de MS Office - qui est moins puissante que celle de PDF Creator (les fichiers générés par l'add-on de MS office sont 10x plus lourds que ceux générés par PDF Creator...) mais bon... elle a l'avantage de fonctionner!

    > pb résolu...

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

Discussions similaires

  1. [AC-2007] Portabilité d'une application access 2007
    Par miamou dans le forum Runtime
    Réponses: 2
    Dernier message: 29/12/2009, 15h59
  2. [vb.net/unix] Portabilité d'une appli VB.NET sous UNIX
    Par patanoc dans le forum Visual Studio
    Réponses: 8
    Dernier message: 25/11/2006, 11h34
  3. lancer une macro excel depuis une appli access
    Par LostIN dans le forum Access
    Réponses: 1
    Dernier message: 22/08/2006, 12h10
  4. Réponses: 4
    Dernier message: 02/06/2006, 17h30
  5. Réponses: 3
    Dernier message: 28/09/2005, 19h34

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