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 :

[A-03] Durée de vie des valeurs d'un objet personnalisé


Sujet :

VBA Access

  1. #1
    Membre actif Avatar de spaiku
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 209
    Points : 293
    Points
    293
    Par défaut [A-03] Durée de vie des valeurs d'un objet personnalisé
    Bonjour,

    j'ai une appli Access qui gère la facturation d'abonnements. Dans un formulaire de récapitulation d'un abonnement, j'ai deux onglets : l'un donne les informations de bases (date de commande, données du client, etc.) et l'autre donne les informations de facturation (montants et libellés des factures, dates de facturation, etc.)

    Comme les informations de facturation demandent un nombre assez important de requêtes pour les récupérer, j'aimerais ne les exécuter que si l'utilisateur demande à voir les infos de facturation (i.e : lorsqu'il clique sur l'onglet facturation)

    J'ai un module de classe Abonnement qui me permet de stocker mes informations. Les informations de base se trouvent dans la collection Proprietes, et les informations de facturation dans la collection Facturation.

    J'ai écrit ceci en tête du module de mon formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Abt As New Abonnement
    J'appelle ensuite ceci à l'ouverture du formulaire :
    Cette méthode permet de récupérer les informations de base dans la collection Proprietes.

    J'appelle enfin ceci lorsque l'utilisateur clique sur l'onglet Facturation :
    Cette méthode récupère les informations de facturation dans la collection Facturation. Elle a besoin pour fonctionner des informations de base. Or ma méthode échoue car ces informations ne sont plus présentes dans ma collection Proprietes. Elles semblent être perdues à la fin de l'événement Open du formulaire. Ceci dit, l'objet Abt reste disponible, avec cependant des collections vides.

    Ai-je bien compris le phénomène ? Quelle serait la solution ? Merci d'avance pour l'aide que vous pourrez m'apporter.

  2. #2
    Membre actif Avatar de spaiku
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 209
    Points : 293
    Points
    293
    Par défaut
    Après avoir epuré mon code au maximum pour isoler la cause de mon problème, j'ai trouvé cette cause, à défaut de la solution pour l'instant.

    Le formulaire qui comporte les deux onglets est appelé par une fonction qui doit écrire des lignes dans le module d'un sous-formulaire. Or cette opération réinitialise l'application, si me souvenirs sont bons, ce qui dans mon cas me fait perdre les informations de mon objet Abonnement.

  3. #3
    Membre actif Avatar de spaiku
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 209
    Points : 293
    Points
    293
    Par défaut
    Je confirme mon post précédent, et je le complète : je peux à nouveau alimenter mon objet Abonnement à partir du moment où j'exécute jusqu' au bout le code qui modifie le module du sous-formulaire, et ce, quel que soit le niveau d'imbrication de la fonction qui fait cette opération.

    Pour venir à bout de ce problème, j'ai donc besoin d'exécuter mon code en deux étapes : la première qui modifiera le module du sous-formulaire, et la deuxième qui alimentera mon objet Abonnement.

    Dans mon application, le formulaire qui m'intéresse est ouvert par un double-clic dans une zone de liste sur un autre formulaire. Ma question est donc à présent la suivante : comment exécuter deux fonctions (par exemple) l'une à la suite de l'autre, sans que l'une soit imbriquée dans l'autre, ou qu'elles soient toutes deux imbriquées dans une troisième, le tout avec une seule intervention de l'utilisateur ?

    Merci d'avance si vous avez la réponse.

  4. #4
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 920
    Points : 4 828
    Points
    4 828
    Par défaut
    Salut,
    comment exécuter deux fonctions (par exemple) l'une à la suite de l'autre, sans que l'une soit imbriquée dans l'autre...
    Simplement, tu les lances l'une après l'autre dans la même procédure

  5. #5
    Membre actif Avatar de spaiku
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 209
    Points : 293
    Points
    293
    Par défaut
    Bonjour,

    merci pour la réponse, mais justement, je ne peux pas imbriquer les deux dans la même procédure. Toute propriété de l'objet Abonnement renseignée au cours d'une fonction ou d'une procédure appelée dans la même suite de fonctions ou de procédures que celle qui réinitialise l'appli sera perdue à la fin de l'exécution. Il me faut donc bien deux exécutions séparées.

    C'est ce que je voulais dire par
    ou qu'elles soient toutes deux imbriquées dans une troisième

  6. #6
    Membre actif Avatar de spaiku
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 209
    Points : 293
    Points
    293
    Par défaut
    Pour info, et pour ceux que ça peut intéresser, je n'ai pas trouvé de façon élégante, donc j'utilise un timer et je teste le .Count de la collection Proprietes. Si elle est à 0, je recharge l'objet Abonnement.

    Si vous avez mieux, n'hésitez pas à poster.

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

Discussions similaires

  1. [Sécurité] Durée de vie des $_SERVER
    Par Invité dans le forum Langage
    Réponses: 3
    Dernier message: 17/08/2007, 14h27
  2. Duree de vie des variables
    Par biggione dans le forum Struts 2
    Réponses: 2
    Dernier message: 20/07/2007, 10h12
  3. Dureé de vie des données dans un flash disque
    Par Tsimplice dans le forum Composants
    Réponses: 5
    Dernier message: 28/05/2007, 10h01
  4. Durée de vie des sessions
    Par naevaj dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 09/05/2007, 18h18
  5. "Batch select" et duree de vie des connections
    Par KillMePlease dans le forum JDBC
    Réponses: 1
    Dernier message: 28/02/2007, 21h23

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