ACCESS : Problème de débutant

Jonas31 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
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

1 réponse

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