ACCESS : Problème de débutant

Jonas31 Messages postés 1 Statut Membre -  
OlivrT Messages postés 323 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour ou bonsoir plutôt,

Je me doute déjà avant de poser ma question qu'elle a déjà été traitée 'moulte' fois et que j'aurais pu utiliser la fonction 'recherche', cependant si je poste ici c'est que je ne comprends pas et n'arrive pas avec les solutions précédemment proposées.

Mon problème est simple mais je n'arrive pas à y répondre :

J'ai plusieurs tables dont :
Comptes avec pour champs : [CoID (numéro de compte), Cosolde(solde du compte), Cotype (type du compte)]
Transactions avec pour champs : [Tnum (numéro de transaction), Ttype (type de transaction, Tmontant, TDate, CoID*, Clnum*]
Clients [Clnum, Clnom, Clprenom, Clsecu, Cltel]

Je souhaite créer un formulaire qui affiche pour un client: son numéro, son nom et les transactions effectuées.

J'ai donc créer un formulaire avec les champs de la table clients voulus puis un sous-formulaire avec les champs de transactions...

Le tout marche très bien, cependant je souhaiterais rendre plus pratique le formulaire, et j'aimerais que lorsque je choisis mon numéro client dans une liste déroulante (que j'ai réussi à créer), les champs du nom et prénom (qui sont des zones textes) "s'actualisent", autrement dit qu'il corresponde à l'enregistrement (ligne) de la valeur choisie dans le menu déroulant.


Cette question semble anodine mais j'ai bien du mal à y répondre.

Je suis sous ACCESS 2007

Cordialement

Jonas
Configuration: Windows 7
Firefox 3.5.5

1 réponse

  1. OlivrT Messages postés 323 Date d'inscription   Statut Membre Dernière intervention   36
     
    en effet c'est quelque chose de simple à faire mais pas facile à décrire dans le cadre du forum.
    1) Vous devez coder dans l'évènement Click de votre liste le code qui ira rechercher les coordonnées du client
    Private Sub cboVotreListe_Click()

    on error goto Err_

    dim db as dao.database
    dim rs as dao.recordset
    set db = currentdb
    set rs = db.openrecordset("SELECT NOM, PRENOM FROM CLIENTS WHERE NUMCLI = " & cboVotreListe.value , dbOpenDynaset)

    if rs.recordcount = 1 Then

    txtNomClient = rs!Nom
    txtPrenomClient = rs!Prenom

    End If
    rs.Close

    set db = nothing

    exit_:
    exit sub
    err_:
    msgbox err.description
    err.clear
    resume exit_

    End Sub

    Voilà, ça m'a prit moins d'une minute, mais si vous voulez répondre à l'avenir à ce genre de question, vous devez faire du vba, encore, encore et encore. Access est justement un outil formidable pour ce genre de développement rapide.
    0