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

IHM Discussion :

préremplir un formulaire à partir d'un autre


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 24
    Points : 16
    Points
    16
    Par défaut préremplir un formulaire à partir d'un autre
    bonjour,

    j'ai des problemes pour remplir un formulaire en recopiant des données d'un autre formulaire. J'utilise le contrôle openargs mais je sais pas si c la meilleure solution.
    en fait, je m'explique, j'ai des références client (numérique). le premier formlaire contient des infos sur le client et lorsque je passe sur un autre formulaire, j'ai envie de récupérer ce numéro automatiquement.

    voici mon code :

    dans le premier formlaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       DoCmd.OpenForm "FormulaireIM_Rapport d'intervention", , , , acFormAdd, , Me.RéfClient
    dans le second : à l'ouverture :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Form_Open(Cancel As Integer)
    If IsNull(Me.OpenArgs) Then
        'rien à faire
    Else
        Me.RéfClient = CLng(Me.OpenArgs)
    End If
     
    End Sub
    Si vous avez des idées? peut etre que je choisi la mauvaise méthode!

    merci pour votre aide

  2. #2
    Membre averti Avatar de mcdotta
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 292
    Points : 324
    Points
    324
    Par défaut
    Hello,


    C'est ce que j'utilise régulièrement, mais plutôt pour passer le nom du formulaire qui ouvre l'autre....

    Ce que je fait pour passer une valeur d'un formulaire à l'autre, j'utilise des contrôles cachés... C'est pas très catho diraient Messieurs les modérateurs et autres Experts mais....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    DoCmd.OpenForm "FormulaireIM_Rapport d'intervention", , , , acFormAdd
    With forms![FormulaireIM_Rapport d'intervention]
    .expCtrol = Me.NoClient
    End with
    Comme ca je n'ai rien besoin de déclencher à l'ouverture de l'autre formulaire....

  3. #3
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Citation Envoyé par Ludo11
    j'ai des problemes pour remplir un formulaire en recopiant des données d'un autre formulaire.
    Ton approche et ton code semblent corrects...
    Quel est le problème?
    ............................................................................................

    Dans l'intérêt de tous, ne posez pas de questions techniques par messages privés.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    ben en fait mon problème est que le numéro que je veux récupérer ne s'affiche pas sur le nouveau formulaire mais pourtant il est bien récupéré par le openargs!

    donc je sais pas trop comment faire pour l'afficher?

    merci

  5. #5
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Je viens de réaliser que tu as utilisé l'évènement Form_Open. Il intervient trop tot car le formulaire n'est pas encore prêt pour effectuer les opérations demandées.

    Utilises l'évènement Form_Load.

    Par ailleurs, si tu n'as pas mis ton form en mode "Entrée Données", il va modifier le premier enregistrement de ton nouveau formulaire (à moins qu'il ne s'agisse d'un formulaire indépendant).
    Tu peux aussi résoudre ce point en complétant ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Form_Load() 
    If IsNull(Me.OpenArgs) Then  
        'rien à faire 
    Else  
        DoCmd.GoToRecord , , acNewRec
        Me.RéfClient = CLng(Me.OpenArgs) 
    End If   
    End Sub
    ............................................................................................

    Dans l'intérêt de tous, ne posez pas de questions techniques par messages privés.

Discussions similaires

  1. Ouverture formulaire à partir d'un autre
    Par jcp66 dans le forum VBA Access
    Réponses: 1
    Dernier message: 03/08/2007, 22h11
  2. Modifier les champs d'un formulaire à partir d'un autre
    Par ToTo13 dans le forum VBA Access
    Réponses: 3
    Dernier message: 05/07/2007, 12h50
  3. Réponses: 8
    Dernier message: 04/07/2007, 18h41
  4. Réponses: 2
    Dernier message: 09/05/2007, 18h43
  5. Charger un formulaire à partir d'un autre
    Par nicou50 dans le forum Access
    Réponses: 9
    Dernier message: 14/09/2006, 04h30

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