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 :

transfert d'une variable d'un formulaire à l'autre


Sujet :

Access

  1. #1
    Futur Membre du Club
    Homme Profil pro
    médecin
    Inscrit en
    Mai 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : médecin

    Informations forums :
    Inscription : Mai 2018
    Messages : 6
    Points : 7
    Points
    7
    Par défaut transfert d'une variable d'un formulaire à l'autre
    Bonjour,

    voici le problème pour lequel j'aimerais avoir votre aide


    Dans ma base de données, j'aimerais passer une variable type string d'un formulaire A vers B. Le formulaire B s'ouvre via un stLinkCriteria. J'ai essayé de déclaré la variable public mais je ne sais pas comment faire et ou mettre le code. j'ai essayé de la déclarer dans un module mais ... c'est une partie de VBA que je ne maitrise pas...

    Il y a bien un module dans l'onglet projet de VBA mais il est vide. Mon code est au dessus classé par formulaire dans l'onglet Microsoft Access objet de classe
    Ce qu'il faudrait c'est que tout le code de tout mes formulaires soit dans le même modules ? mais comment faire ?

    Merci de votre aide

    Eric

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Bonjour,
    Il existe plusieurs méthodes pour passer des valeurs d'un formulaire à l'autre.

    La variable publique est la plus simple.
    Dans un module standard (pas un module de formulaire/etat) déclarer une variable globale. Donc après les 2 lignes Option et avant la première sub/function :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Option Compare Database
    Option Explicit
     
    Dim mavar As String
     
    Function test()
    ...
    Pour la peupler (y mettre une valeur) depuis le formulaire A :

    Pour l'interroger depuis le formulaire B.

    A noter qu'on peut l'interroger de n'importe quel endroit de l'application, sauf dans une requête ou dans ce cas il faudra créer une fonction.

    Autres solutions :
    1) Si la valeur est dans un contrôle on peut également faire un appel direct comme ceci :

    Depuis Formulaire B :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox forms.form_A.moncontrole
    2) Créer une propriété dans le formulaire. C'est un poil plus complexe.

    3) Utiliser la clause OpenArgs de la commande OpenForm, mais dans ce cas la valeur est transmise qu'une seule fois lors de l'ouverture de B (depuis A généralement).

    Pour la récupérer il faut utiliser la propriété éponyme dans le formulaire B.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Je rebondi sur ta question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ce qu'il faudrait c'est que tout le code de tout mes formulaires soit dans le même modules ? mais comment faire ?
    Oui et non.

    Le code commun peut l'être mais dans des formulaires différents, mise à part le CRUD (cf mon tuto sur le sujet), le reste est spécifique à un formulaire (noms de controles différents, procédures métiers différentes...
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  4. #4
    Futur Membre du Club
    Homme Profil pro
    médecin
    Inscrit en
    Mai 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : médecin

    Informations forums :
    Inscription : Mai 2018
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Yess...

    ça marche, j'avais fait une erreur de syntaxe
    chez moi le bon code est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Option Compare Database
    Option Explicit
     
    Public MaVariable As String
    Mille merci

  5. #5
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    En VBA, à moins de mettre Private (à la place de Public) les variables déclarées dans l'en-tête d'un module standard sont toujours publiques.
    Dim et Public sont donc équivalent.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/03/2017, 19h52
  2. [AC-2016] Déclarer Public une variable d'un formulaire à l'autre
    Par jajoju dans le forum IHM
    Réponses: 1
    Dernier message: 26/03/2017, 11h05
  3. transfert d'une variable string vers rapport RAVE
    Par segnac dans le forum Bases de données
    Réponses: 4
    Dernier message: 30/11/2013, 07h24
  4. Passer une variable d'un formulaire à l'autre
    Par SangZug dans le forum IHM
    Réponses: 6
    Dernier message: 12/05/2013, 02h57
  5. Reference a une variable d un formulaire
    Par sharpeye dans le forum Access
    Réponses: 2
    Dernier message: 18/11/2005, 12h30

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