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 :

Variable globale nulle si erreur


Sujet :

VBA Access

  1. #1
    Membre du Club
    Homme Profil pro
    Consultant
    Inscrit en
    Novembre 2013
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant

    Informations forums :
    Inscription : Novembre 2013
    Messages : 43
    Points : 69
    Points
    69
    Par défaut Variable globale nulle si erreur
    Bonjour,

    J'ai fait une petite application qui demande de se connecter (login / Mot de passe) au démarrage.

    Je stocke ensuite le login (et le rôle associé) dans 2 variables globales.
    Tout fonctionne bien ... sauf dès que j'ai une erreur VBA qui ré-initialise les variables à NULL !

    Y a-t'il moyen d'éviter ça ?
    Ou bien une autre manière de faire (sans passer par stocker les valeur dans une table) ?

    Pour le moment, j'ai un appel à une fonction qui relance la connexion ... mais c'est un peu lourd dans la programmation.


    Merci d'avance pour vos conseils.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Y a-t'il moyen d'éviter ça ?
    Éviter les erreurs, peut-être ? :-).

    Plus sérieusement et comme tu n'as pas précisé la version de Access je vais te suggérer une solution mais elle ne marche qu'à partir de 2010.
    Il s'agit des TempVars

    ici une page explicative
    TempVars Collection
    https://msdn.microsoft.com/en-us/lib...ffice.14).aspx

    C'est une collection qui reste en mémoire jusqu'à ce que tu sortes de l'appli.

    Sinon une petite table locale dans la frontale serait une solution très acceptable.

    Aussi tu peux t'essayer en déclarant tes variables Static.
    Les variables statiques conservent leur valeur une fois assignées, peut-être qu'elles résistent aux erreurs.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    En soit les erreurs offre la possibilité d'ouvrir la fenêtre debugage ou d'arrêter le programme et débouche la plupart du temps par un arrêt du programme.

    Donc variable static,public ou autres sont réinitialisé.

    La seule façon de résoudre le problème c'est identifier l'origine du message d'erreur.

Discussions similaires

  1. Erreur : cette variable est null
    Par chok371 dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 02/01/2011, 10h10
  2. [XL-2007] erreur de déclaration sur une variable globale
    Par romca dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/08/2010, 20h22
  3. [WD14] Erreur Variable Globale
    Par david77320 dans le forum WinDev
    Réponses: 5
    Dernier message: 16/10/2009, 12h53
  4. Réponses: 2
    Dernier message: 01/07/2009, 16h00
  5. [WD12] Erreur "variable globale masquée"
    Par stapsien dans le forum WinDev
    Réponses: 3
    Dernier message: 18/10/2008, 20h23

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