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

VBA Access Discussion :

[XP -> Vista] Pb de compatibilité ? [AC-2002]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 136
    Par défaut [XP -> Vista] Pb de compatibilité ?
    Bonjour à tous,

    Nouveau problème à soumettre aux experts que vous êtes (je frise la crise de nerfs...).

    J'ai un formulaire, sous Access 2002, sur lequel on remplit plusieurs champs (admettons nom, prénom, adresse, téléphone, numéro de contrat, etc) liés à une BDD. De là, on clique sur un bouton, diverses vérifications ont lieu (tous les champs sont-ils remplis ? Correspondent-ils à qqc de conforme ? etc), et on ouvre un état qui récapitule un peu tout ça.

    Mon problème, c'est justement cet état. A l'ouverture, on arrive entre autres dans la fonction suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub EntêtePage_Format(Cancel As Integer, FormatCount As Integer)
     
    'Impression du No du vélo et du No de série
    If Nz(Me.CTR_VEL_ID, 0) <> 0 Then
       'Code
    End If
     
    'le controle CTR_VEL_ID cité ci-dessus est un champ texte.
     
    End Sub
    L'appli sous XP tourne impeccablement, l'état s'ouvre, tous les champs sont immédiatement renseignés. Mais on m'a demandé de l'adapter à Vista également... Et sous Vista, j'ai l'erreur suivante : "expression sans paramètre" à la ligne du test (if Nz...). J'ai cherché, mais je n'ai absolument aucune piste (c'est vraiment frustrant).

    Voilà... J'espère vraiment avoir droit à quelques pistes, pcq je sèche ! Merci d'avance !

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 136
    Par défaut
    Désolé pour le double post, ça se fait pas mais bon ^^'

    Je précise que je ne peux pas tester la propriété "value" des champs "texte" (donc pas de if(Nz(Me...Value) ) puisqu'elle n'existe visiblement pas (pour une raison qui m'échappe...).

  3. #3
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 324
    Par défaut
    Quelle est la version d'Access utilisée sous Vista? Comment tu es-tu pris pour passer la base de Xp sous Vista (as-tu fait un copier coller de la base par exemple?)?

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 136
    Par défaut
    Version d'Access utilisée sous Vista : j'ai essayé avec 2002 et avec 2003, mais même combat... Le pb est tjrs le même.

    Bah la base, je n'y ai pas touchée ; elle est sur le réseau de l'entreprise, à partir du moment où tu as les droits et où tu es sur le réseau, tout ordinateur avec l'appli installée y a accès...
    En gros, je développe l'appli, j'utilise l'assistant empaquetage pour créer le Setup, je place le Setup sur le réseau, je connecte l'ordi Vista au réseau, j'accède au Setup et j'installe l'appli.
    De toute façon, toute l'appli tourne, sauf cette partie... Donc je ne pense pas que ça vienne de la base.

    D'ailleurs, j'utilise l'empaquetage 2002 => est-ce que ça peut jouer ? Est-ce que je dois utiliser l'empaquetage 2003 pour créer le setup et le faire tourner sous 2003 ? (ça expliquerait pas pourquoi ça ne marche pas sur 2002, mais bon... Et surtout, l'appli est développée sous 2002, donc utiliser 2003 risque de poser pb, non ?)

  5. #5
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    324
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 324
    Par défaut
    Peut-être un problème de compatibilité justement avec Vista (ça existe encore des gens sous Vista?). Vista doit mieux marcher avec Access 2007. Après d'où vient vraiment l'erreur? Du Nz? Du contrôle? As-tu essayé de faire le test sans le Nz? Es-ce que Nz marche tout cours sous Vista?
    Par ailleurs, je mettrais plutôt ceci à la place:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If Nz(Me.CTR_VEL_ID, "") <> "" Then
       'Code
    End If
    En effet, tu précise que ton champ est un champ texte. Il est plus propre de l'écrire de cette manière pour un champ texte (et si ça se trouve ça pourrait résoudre ton soucis...). D'une part, en écrivant comme ceci, on sait intuitivement qu'il s'agit d'un champ texte. Et surtout, si tu as des enregistrements à vide, mais qui ne sont pas Null, ton code ne s'exécutera pas sur ces enregistrements en question. Mais fondamentalement ça ne change pas grand chose non plus, il est vrai, dans la mesure où ce que tu écris est juste...

    Une autre piste aussi. Essaie ton code sur un autre évènement de l'état (comme sur page par exemple), pour voir si le soucis se reproduit, voire fait un test sur le même évènement d'entête avec un code différent du style Msgbox.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 136
    Par défaut
    Alors, tout d'abord, merci de prendre le temps de te pencher sur mon pb ! (je ne l'ai pas dit hier ^^')

    Oui, ça existe encore les gens sous Vista ! (lol) Et même pas la peine que j'émette l'idée d'installer Access 2007, ils vont me répondre un truc comme "la norme, c'est la norme". Et la norme, chez nous, c'est "Vista tourne avec Access 2003". 2007, même pas en rêve ^^' (pourtant il est à disposition... fin bon).

    Pour les tests que tu m'as suggérés :
    Nz fonctionne bien sous Vista (testé sur le 2003 avec la structure que tu m'as passée). J'ai ouvert un nouveau formulaire, placé un champ texte et entré un code test, y avait aucun souci. Donc a priori, le problème vient de "Me.CTR_VEL_ID".
    Idée confirmée par le fait que si j'écris

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub EntêtePage_Format(Cancel As Integer, FormatCount As Integer)
    MsgBox Me.CTR_VEL_ID
    End Sub
    l'erreur survient tout de même (toujours "Expression sans paramètre").

    Et sur l'évènement Page (ainsi que sur un autre, testé simplement pour confirmer), eh bien... Toujours la même erreur.
    Donc a priori, le pb vient du contrôle... Mais il n'existe pas sous XP.

    ça m'échappe totalement

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

Discussions similaires

  1. [Vista] Problème de compatibilité avec des logiciels [XP virtuel]
    Par simplexieum dans le forum Windows Vista
    Réponses: 1
    Dernier message: 16/03/2008, 23h40
  2. [Vista] Problème de compatibilité avec C++ Builder
    Par simplexieum dans le forum C++Builder
    Réponses: 1
    Dernier message: 16/03/2008, 00h10
  3. Compatibilité de Dev-C++ avec Windows Vista
    Par crackeurz dans le forum Dev-C++
    Réponses: 11
    Dernier message: 10/03/2008, 23h09
  4. [VB6-VISTA] probléme de compatibilité : différence de couleur
    Par GodGives dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 20/11/2007, 12h59
  5. Compatibilité Windows Vista et Interbase 6 ?
    Par exclusif dans le forum InterBase
    Réponses: 3
    Dernier message: 22/03/2006, 03h01

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