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 :

Reprise de données d'une liste pour ouvrir un formulaire


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2008
    Messages : 15
    Points : 11
    Points
    11
    Par défaut Reprise de données d'une liste pour ouvrir un formulaire
    Bonjour,
    j'ai une liste avec toutes les enregistrements, une sorte de résumé. J'aimerais faire que lorsque je double-clique sur un enregistrement de cette liste, un formulaire s'ouvre à l'enregistrement sur lequel j'ai cliqué, pour ensuite pouvoir le modifier ou le consulter .
    Je sais que c'est possible avec Access, mais je ne sais pas comment
    Merci,

  2. #2
    Membre expérimenté Avatar de Gabout
    Homme Profil pro
    Utilisateur autodidacte
    Inscrit en
    Mai 2006
    Messages
    1 404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Utilisateur autodidacte

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 404
    Points : 1 683
    Points
    1 683
    Par défaut
    Bonjour et bienvenu sur le forum,

    Par un peu de code. Par exemple, tu crées une liste modifiable nommée cboAgent qui affiche tes enregistrements. Le contenu de ta liste est du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT AGENT.ageid, AGENT.agenom FROM AGENT;
    Sur l'évènement Après mise à jour de ta liste, tu ouvres le formulaire en fonction de l'identifiant qui est identique à ta liste. L'identifiant est la référence en quelque sorte (ici dans l'exemple ageid). Si ton identifiant est numérique, cela donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub cboAgent_AfterUpdate()
        DoCmd.OpenForm "TonFormulaire", , , "ageid=" & Me.cboAgent
    End Sub
    Si l'identifiant est du texte, cela donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub cboAgent_AfterUpdate()
        DoCmd.OpenForm "TonFormulaire", , , "ageid='" & Me.cboAgent & "'"
    End Sub
    Bon courage,
    Gabout

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2008
    Messages : 15
    Points : 11
    Points
    11
    Par défaut Euh.. je l'ai toujours pas
    Il me fait des choses bizarre, il m'oblige à créer une macro quand j'écris ton code!

    Hélas, je n'y suis toujours pas arrivé!

    Voici mon exemple en concret. J'ai une base de donnée de projets. Chaque projet a un nom, un numéro ("NummProjet", c'est la clé de tri), un client, un fournisseur, un historique ...

    Pour modifier et complter l'historique d'un projet, j'ai un formulaire "form Historique" qui contient tous les enregistrements, et chaque fois que j'ouvre ce formulaire, c'est naturellement le premier enregistrement qui s'affiche.

    Afin d'avoir une navigation plus rapide sans devoir à chaque fois chercher le projet auquel je veux modifier l'historique, j'aimerais pouvoir ouvrir le formulaire "form Historique" à l'enregistrement désiré.

    J'ai donc créé la liste avec tous les projets. C'est très pratique pour avoir la vue d'ensemble. La liste contient 5 colonnes, et dans la dernière colonne, il y a le numéro de projet, qui est donc la clé de tri.
    Ce que j'aimerais, c'est que quand je double clique sur une ligne de la liste, le formulaire form Historique s'ouvre à l'enregistrement dont le numéro de projet "NummProjet" correspond à ce qui a été sélectionné dans la liste (dans la cinquième colonne).

    Pour l'instant, j'en suis au point où je peux ouvrir le formulaire "form Historique" en double cliquant sur la liste. Mais pas à l'enregistrement désiré!!

    Merci d'avance d'avoir pris le temps de me lire... et encore plus merci d'avoir pris le temps de me répondre .

    À bientôt et vivfe access ,

    Crickett84

  4. #4
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    Bonsoir
    Essai(pas testé)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "form Historique", acNormal, "", "[NummProjet]=[Forms]![Nom du form ou se trouve la liste]![nom de la liste].(column4)", , acNormal
    tu change les noms de formulaire et de liste
    pour le numero de colonne il faut savoir que la premiere colonne est la 0

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2008
    Messages : 15
    Points : 11
    Points
    11
    Par défaut bonsoir
    Essayé pas pu, erreur de syntaxe! il me demande une expression après
    ...de la liste].(column4)", , acNormal

    Bon, ça c'est pour récupérer la valeur dans la liste.
    Comment fait-on pour ouvrir ensuite le formulaire une fois que j'ai cette valeur?

    Mais c'est tout pour aujourd'huit. Je vais me coucher, peut-être que je serai un peu plus "fit" la semaine prochaine. Maintenant, c'est 3 jours de vacances au sud de la France... à la chaleur et les bons petits plats. Faut dire qu'en Suisse-allemande, question cuisine, c'est pas de la haute voltige...

    merci, à plus et bon week-end

    Crickett 84

  6. #6
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "form Historique", acNormal, "", "[NummProjet]=[Forms]![Nom du form ou se trouve la liste]![nom de la liste]", , acNormal
    Dans le panneau de configuration de la liste :Colonne Liée (tu entre ton numero de colonne)

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2008
    Messages : 15
    Points : 11
    Points
    11
    Par défaut Merci pour vos conseils
    Je m'en suis sorti avec une variable et la condition que le numéro récupéré de la colonne soit le même que le numéro de l'enregistrement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub lstListeAlleProjekteNachKunde_DblClick(Cancel As Integer)
    
    stNummProjektAusListe = lstListeAlleProjekteNachKunde.Column(4) 'récupère la valeur de la 5ème colonne de la zone de texte
       
    DoCmd.OpenForm "FormEintragInProjekten"
    Call Form_FormEintragInProjekten.subGoToRecordForm
    
    End Sub
    et dans le formulaire désiré:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public Sub subGoToRecordForm()
     
        If stNummProjektAusListe = "" Then
            stNummProjektAusListe = 1
        End If
     
        DoCmd.GoToRecord acDataForm, "FormEintragInProjekten", acGoTo, stNummProjektAusListe
     
    End Sub

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 17/07/2013, 08h23
  2. Aide demandée pour sélection de données dans une liste
    Par pyprog dans le forum Général Python
    Réponses: 2
    Dernier message: 15/08/2006, 21h11
  3. récupération des données via une liste déroulante
    Par rahan_dave dans le forum Access
    Réponses: 1
    Dernier message: 13/10/2005, 12h27
  4. une astuce pour ouvrir la base de registre d'un autre disque
    Par bouassouille dans le forum Windows XP
    Réponses: 4
    Dernier message: 07/10/2005, 00h53
  5. Comment faire pour récup une donnée d'une liste déroulante
    Par magic8392 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 03/03/2005, 15h00

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