Bonjour à tous,
Je tourne vers vous car je ne trouve aucune réponse à ma question.
Je souhaite mettre à jour une zone de texte dans un formulaire à partir d'une requête en VBA.
Pour faire court, j'ai 2 tables: client et compte
Dans la table compte, le champ index_client fait référence au client dans la table client.
J'ouvre un formulaire et en fonction du numéro de compte, je veux le nom du client. Je fais un requête sur l'index_client de la table compte, puis une requête sur le nom dans la table client ou l'index= l'index_client. Rien de compliqué.
Je fais ca dans un module, je l'exécute et ca marche.
En revanche je veux que ca s'exécute tout seul, donc après le chargement des données.
Je mets mon code dans une procédure évènementielle Afterupdate() et rien ne se passe
Quand je clique sur mon zone de texte, Access m'alerte en disant qu'il ne trouve pas la macro
Je vous mets le code:
Évidemment je le mets dans le bon FORM. J'ai pas dû faire un truc, mais quoi??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Private Sub Txt_nom_Afterupdate() Dim db As DAO.Database, rst As DAO.Recordset Dim sSQL As String Dim index As Integer Dim ncompte As String Set db = CurrentDb ncompte = Me.txtn_compte.Value sSQL = "SELECT [index_client] FROM [table_compte] WHERE [n_compte]='" & ncompte & "';" Set rst = db.OpenRecordset(sSQL, dbOpenSnapshot, dbReadOnly) index = rst("index_client") sSQL = "SELECT [table_client].[civilite_client], [table_client].[nom_client], [table_client].[prenom_client] FROM table_client WHERE [table_client].[index_client]=" & index & ";" Set rst = db.OpenRecordset(sSQL, dbOpenSnapshot, dbReadOnly) Me!Txt_nom.Value = rst("civilite_client") rst.Close: Set rst = Nothing End Sub
Merci de votre aide.
Mjcom
Partager