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 :

Ouvrir formulaire correspondant à une ligne


Sujet :

Access

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 49
    Points : 20
    Points
    20
    Par défaut Ouvrir formulaire correspondant à une ligne
    Slt

    Je voudrais ouvrir un formulaire correspondant à une seule ligne d'un autre formulaire.

    J'ai mis un bouton au bout de chaque ligne de mon formulaire principal, et je voudrais que lorsqu'on clique dessus, cela ouvre un nouveau formulaire avec seulement les infos de la ligne correspondante (+ d'autres)

    Exactemenet comme dans ce tuto(partie V Compléments):http://cafeine.developpez.com/access...echerchemulti/

    J'ai donc créer un nouveau formulaire appelé "form2"

    Ma table et formulaire principal s'appelle "TI"
    La clef est "Number"
    Le bouton est "Btn"

    J'ai donc mis ce code au clic de mon bouton mais ça ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "form2", acNormal, "TI.[Number] = " & Me.Btn
    Je crois que le problème que moi les résultats ne sont pas dans une listbox, mais c'est un formulaire "normal".

    Comment faire?

    Merci

  2. #2
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Citation Envoyé par toto10
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "form2", acNormal, "TI.[Number] = " & Me.Btn
    Tu lui dis que le champ Number de TI doit avoir pour valeur un bouton, est-ce vraiment ce que tu veux ?
    J'aime les gâteaux.

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 49
    Points : 20
    Points
    20
    Par défaut
    Effectivement çà peut pas marché.

    Mais comment lui donner la valeur "Number" correspondant à la ligne ou se trouve le bouton?

    Merci

  4. #4
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour,
    Je crois que Demco t'a mis sur la voie

    Tu peux trés bien récupérer la valeur d'un champ qui se trouve sur ton Formulaire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "form2", acNormal, "TI.[Number] = " & Me.MonChamp.Value
    En espérant avoir compris ton problème
    Bonne continuation.
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

  5. #5
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut
    Salut FreeAccess,
    en parcourant je viens de tomber sur cet article, j'ai un probleme similaire je pense : ouverture d'un form B à partir de l'enregistrement d'un form A en continu.
    Est-ce que je peux utiliser ce script ?
    Excuses à Toto de me greffer sur son post.


  6. #6
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour,
    Excuses à Toto de me greffer sur son post.
    Et oui, pas bien ça
    Pour ton problème, je pense que ce code (après adaptation) peut fonctionner......mais le mieux est encore d'essayer.
    Sinon regarde ici, dans ce tuto, dans la partie "Compléments"
    http://cafeine.developpez.com/access...echerchemulti/

    Bonne continuation.
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

  7. #7
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut
    Ok FreeAccess, je vais regarder ce tuto de suite, because je n'ai pas encore trouve ma solution.
    Merci à + Patrick


  8. #8
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut
    Rebonsoir FreeAccess,
    bon... finalement trouvé la combine :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm stDocName, acNormal, , "TableCommune.NumeroFiche=" & Me.NumeroFiche
    En me referant à un ancien probleme d'impression de formulaire pour lequel tu m'avais aide si ma memoire est bonne... Merci pour ton message et je garde sous le coude le tuto cité en reference.
    PS : Toto tu peux t'inspirer de mon script je pense que tu avais le meme probleme que moi. Excuses moi encore d'avoir squatter ton post. Si eventuellement je peux t'aider... T'hésites pas. Moi y'en avoir petit niveau, mais sait-on jamais !


  9. #9
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 49
    Points : 20
    Points
    20
    Par défaut
    Slt,

    J'ai fais ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "form2", acNormal, "TI.[Number] = " & Me.[Number]
    Mais le bouton ouvre tout le temps l'autre formulaire sur le 1er élément, et pas celui correspondant à la ligne ou se situe le bouton.

  10. #10
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut
    Sois plus explicite because il est pas clair ton message...
    Compare ton script et le mien, tu verras... les differences sont flagrantes.


  11. #11
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 49
    Points : 20
    Points
    20
    Par défaut
    Ma table TI a comme clef le champ "Number"
    Mon formulaire principal s'appele aussi TI, et se présenate comme suit:

    Nom, Number
    toto, 1
    tata, 2
    tutu, 3

    Sur chaque ligne de ce formulaire, il y a un bouton ouvrir.
    Je voudrais que lorsque je clique sur le bouton se trouvant sur la 2eme ligne (tata, 2), cela m'ouvre le 2nd formulaire (appelé "form2") correspondant à "tata, 2".

    Or, en mettant ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "form2", acNormal, "TI.[Number] = " & Me.[Number]
    sur le clic du bouton, cela m'ouvre à chaque fois le formulaire "form2" sur le 1er enregistrement, en l'occurence "toto, 1".

    J'éspère avoir été plus clair, et je pense que mon code correspond au tien, je ne vois pas de différences flagrantes dessus.

    Merci de m'eclairer.

  12. #12
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour,
    sur le clic du bouton, cela m'ouvre à chaque fois le formulaire "form2" sur le 1er enregistrement, en l'occurence "toto, 1".
    Je vois que tu galére toujours sur ton problème
    Alors pour commencer, as tu vraiment besoin de mettre un bouton de commande devant chaque ligne pour accéder à ton formulaire2
    Car actuellement le code que tu crée sur chaque bouton ne fait que récupérer la valeur de ton champ "Number" (donc à chaque fois = 1). Et comment sont créer tes boutons lorsque tu auras plus de 3 enregistrements
    Comme expliqué dans le tuto, met ton code sur l'événement 'Sur double click' et teste
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

  13. #13
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut
    salut Toto,
    ton form principal (le TI) est en mode simple ou mode continu ?


  14. #14
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 49
    Points : 20
    Points
    20
    Par défaut
    Mon formulaire principal TI est en mode continu

    J'ai mis ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "form2", acNormal, "TI.[Number] = " & Me.[Number]
    sur le double-clic de la ligne du formulaire, et ça m'ouvre toujours "form2" sur le 1er enregistrement.

    Je galère, je galère

  15. #15
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Re,
    Et si tu essayais de rentrer le bon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "form2", acNormal, , "TI.[Number] = " & Me.[Number]
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

  16. #16
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 49
    Points : 20
    Points
    20
    Par défaut
    Effectivement, j'avais pas fait gaffe à cette virgule.

    Par contre, lorsque je double-clique sur une ligne, une petite fenêtre apparait me demandant de rentrer une valeur de paramètre.

  17. #17
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Re,
    C'est normal
    Allez j'explique rapidement :
    Sur ton Form2, il faut que tu ai un champ nommé "Number" (format texte)
    Dans le code tu tape:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "FormAOuvrir", acNormal, , "[ChampForm2] = '" & Me.ChampForm1 & "'"
    Normalement ChampForm2 devrait correspondre à ton champ "Number".
    Ici, on rajoute des apostrophes car il s'agit de champ texte. Pour des champs au format numérique il suffit de les enlever.
    Normalement, cela fonctionne correctement.
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

  18. #18
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 49
    Points : 20
    Points
    20
    Par défaut
    C'est bon, merci pour tout, j'ai enfin réussi.

    Effectivement, mon champ "Number" était en type texte, car il y a des lettres dedans et donv il fallait bien ajouter les apostrophes.

    Et ça marche également pour le bouton que je voulais tant lol.

    Merci beaucoup.

  19. #19
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11
    Points : 9
    Points
    9
    Par défaut Ca marche pour moi aussi mais...
    Citation Envoyé par FreeAccess
    Re,
    C'est normal
    Allez j'explique rapidement :
    Sur ton Form2, il faut que tu ai un champ nommé "Number" (format texte)
    Dans le code tu tape:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "FormAOuvrir", acNormal, , "[ChampForm2] = '" & Me.ChampForm1 & "'"
    Normalement ChampForm2 devrait correspondre à ton champ "Number".
    Ici, on rajoute des apostrophes car il s'agit de champ texte. Pour des champs au format numérique il suffit de les enlever.
    Normalement, cela fonctionne correctement.
    Salut, je viens d'essayer ce code pour une de mes applications et une fois adapté, il marche bien.
    J'ai juste une petite question, est ce que ce code défini le mode d'ouverture (affichage formulaire / liste)
    Car cela m'ouvre un fourmulaire en mode formulaire et j'aimerais qu'il soit affiché en mode feuille de données

    Merci d'avance
    dzouve

  20. #20
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11
    Points : 9
    Points
    9
    Par défaut La réponse
    J'ai trouvé moi-même la réponse. Pour afficher en mode de feuille de données il faut mettre acFormDS au lieu de acNormal

    dzouve

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

Discussions similaires

  1. [AC-2007] ouvrir formulaire depuis une valeur d'une liste déroulante
    Par marmont dans le forum IHM
    Réponses: 2
    Dernier message: 19/08/2010, 12h47
  2. Ouvrir formulaire d'une autre base déjà ouverte
    Par Zouzou1er dans le forum IHM
    Réponses: 6
    Dernier message: 31/05/2009, 20h41
  3. Formulaire Ajouter une ligne :ajouter une Liste déroulante
    Par Alex70 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/04/2007, 16h16
  4. Ouvrir formulaire selon une valeur
    Par sufrine dans le forum Access
    Réponses: 3
    Dernier message: 19/07/2006, 14h23
  5. [Formulaire continu] une ligne sur deux en gris
    Par genius99 dans le forum IHM
    Réponses: 7
    Dernier message: 30/10/2005, 18h52

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