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 :

envoie de valeur d'un formulaire vers un autre


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 96
    Points : 52
    Points
    52
    Par défaut envoie de valeur d'un formulaire vers un autre
    Slt,

    supposez que le formulaire que vous ouvrez est un formulaire continu contenant une liste de clients. Si vous voulez activer l'enregistrement d'un client spécifique à l'ouverture du formulaire, vous pouvez spécifier le nom du client avec l'argument ArgOuverture , puis utiliser la méthode FindRecord pour activer l'enregistrement correspondant au client du nom spécifié.
    extrait de l'aide d'Access
    Voila ce que je veux faire!
    J'ai un formulaire "F_menu" dans lequel il y a un sous-formulaire avec des enregristrements. Je veux qu'en cliquant sur un bouton, celui-ci ouvre la page sur un formulaire "F_consultation" dans lequl on retrouve toues les infos de l'enregistrement que j'aurai préalablement selectionné.

    Dans la faq access de dev.com et sur l'aide access, je comprends qu'il faut procéder ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        Dim linkcriteria As String
        linkcriteria = "[id] = " & Forms!F_menu.document_s_f!id
        MsgBox linkcriteria
        DoCmd.OpenForm "F_consultation", , , linkcriteria
    Et puis???

    Ne sachant pas quoi faire apres ca, j'ai utilisé une autre méthode, j'ai procédé ainsi:

    a l'ouverture du formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Private Sub Form_Open(Cancel As Integer)
     
        Dim my_sql_1 As String
        Dim rst1 As Recordset
        my_sql_1 = "select * from document where id= " & Forms!F_menu.document_s_f!id
     
        Set rst1 = CurrentDb.OpenRecordset(my_sql_1)
            With rst1
                Me.id = rst1.Fields("id")
                Me. etc....
            End With
        rst1.Close
    End Sub
    Cette derniere fonction marche mais est lourde et visiblement il existe quelque chose de plus automatique mais quoi et comment?
    Merci d'avance

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2003
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2003
    Messages : 116
    Points : 146
    Points
    146
    Par défaut Re: envoie de valeur d'un formulaire vers un autre
    Essaye ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        Dim linkcriteria As String
        linkcriteria = "id = " & Forms!F_menu.document_s_f!id
        MsgBox linkcriteria
        DoCmd.OpenForm "F_consultation", , , linkcriteria
    ça devrait mieux marcher.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 96
    Points : 52
    Points
    52
    Par défaut Re: envoie de valeur d'un formulaire vers un autre
    Le problème n'est pas que ca marche mal. Seulement, je ne sais pas comment récupérer toutes les informations de l'enregistrement concerné apres avoir passé au formulaire l'id.

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2003
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2003
    Messages : 116
    Points : 146
    Points
    146
    Par défaut
    il faut paramétrer ton second formulaire sur la table ou requête utilisée par le premier formulaire avec les zones de textes pointant sur les champs que tu as besoin.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 96
    Points : 52
    Points
    52
    Par défaut
    oui mai alors ca sert a quoi de faire ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Dim linkcriteria As String 
        linkcriteria = "id = " & Forms!F_menu.document_s_f!id 
        MsgBox linkcriteria 
        DoCmd.OpenForm "F_consultation", , , linkcriteria
    et pour faire ce que tu dis linkcriteria devient ca:

    "document_s_f.Form.RecordSource" (la requete utilise pour mon sous-formulaire"? Et comment je procéde?

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2003
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2003
    Messages : 116
    Points : 146
    Points
    146
    Par défaut
    à sélectionner l'enregistrement de ton choix dans la table ou requête, et tu n'as pas besoin de toucher au recordsource de ton deuxième formulaire.

    Linkcriteria dans doCmd.open sert de filtre.

  7. #7
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2003
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2003
    Messages : 116
    Points : 146
    Points
    146
    Par défaut
    bien tu demande qque chose de plus simple je te l'indique :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.openForm "F_consultation",,,"id = " & Forms!F_menu.document_s_f!id
    Et dans ton deuxième formulaire, tu n'as plus besoin de filtrer à l'ouverture, puisque dans le openform tu l'as déjà fait.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 96
    Points : 52
    Points
    52
    Par défaut
    oki j'ai compris!
    Merci beaucoup!!

    Ce que je ne savait pas c'est qu'il fallait mettre dans source du formulaire la table dont on se sert!!!
    DSl d'avoir fait le

    Merci bcp!!

    Je merite que ca

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/08/2014, 12h21
  2. valeur dans un formulaire vers un autre formulaire dans mediabox
    Par Milicematik dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 16/03/2011, 21h35
  3. Réponses: 1
    Dernier message: 25/06/2009, 06h53
  4. Réponses: 22
    Dernier message: 04/09/2006, 12h53

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