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 :

OpenArgs Null (ou passage d'objet entre formulaire) [AC-2003]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    795
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 795
    Par défaut OpenArgs Null (ou passage d'objet entre formulaire)
    Bonjour à tous,
    J'ai un petit souci avec le passage d'informations entre formulaires
    J'ai donc 2 formulaires (form1 et form2). Dans le premier formulaire, je fais un traitement et j'ai besoin du résultat de ce traitement dans le formulaire 2.
    Après quelque recherche, j'ai vu que la méthode OpenForm acceptait un paramètre args qui pouvait résoudre mon problème (je concatène les informations entre elles et je split dans le 2nd formulaire)

    Néanmoins, lorsque j'essaie de récupérer cette information dans le second formulaire, il m'indique null

    J'ai lu sur ce forum qu'il était préférable de mettre uniquement des variables pour le OpenForm (chose que j'ai faite) mais cela ne résous pas le problème

    Bref, j'aimerai que vous m'aidiez soit à bien faire fonctionner ce OpenArgs soit en me proposant une autre méthode

    Pour info, voici mon code actuel (que j'ai simplifié au maximum mais qui ne marche pas)

    Dans le permier formulaire :
    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Bouton1_Click()
        Dim args As String
        args = "test"
        stDocName = "form2"
        DoCmd.OpenForm stDocName, , , , , , args
    End Sub

    et dans le second :
    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Form_Open(Cancel As Integer)
        Dim args As String
        args = Me.OpenArgs
    End Sub

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    salut,
    chez moi le simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "form1", , , , , , "pioupiou"
    avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Load()
    Debug.Print Me.OpenArgs
    End Sub
    fonctionne
    en mode Pas a Pas, y a-t-il une ligne qui pose probleme ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    795
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 795
    Par défaut
    J'ai relancé mon appli puis commenté et décommenté le code (sans changement donc) et maintenant ça marche

    J'ai l'impression que OpenArgs n'est pas très fiable ...

    il n'y aurai pas une autre solution pour "échanger" des données entre 2 formulaires ?

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Tu peux envisager le passage par une table de parametre intermediaire

    http://jpcheck.developpez.com/tutori...es-initiation/
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    795
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 795
    Par défaut
    Comme je m’appuie sur un Treeview(du formulaire1)
    J'ai décidé de faire tout le traitement dans le formulaire 2
    et je récupère les infos via un Form_form1.Treeview.SelectedItem
    Ça semble fonctionner. Pourvu que ça dure !

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

Discussions similaires

  1. passage de données entre formulaires
    Par patbeautifulday1 dans le forum Access
    Réponses: 1
    Dernier message: 30/08/2006, 18h06
  2. [C#] passage d'objet entre forms
    Par kooljy dans le forum Windows Forms
    Réponses: 4
    Dernier message: 26/04/2006, 06h45
  3. passage de paramètre entre formulaire et état
    Par thufir hawat dans le forum IHM
    Réponses: 13
    Dernier message: 21/12/2005, 22h32
  4. [langage] Passage d objet entre deux fichiers
    Par Slippers dans le forum Langage
    Réponses: 2
    Dernier message: 28/04/2005, 14h45
  5. Réponses: 4
    Dernier message: 02/01/2005, 23h24

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