Salut,  
 
je comprends pas bien ce que tu veux dire par 
| Citation : 
 
 générer, par VBA une nouvelle ligne dans le sous-formulaire pour chaque enregistrement trouvé
 | 
mais je tente une réponse...
 
Dans le form_load de ton formulaire principal tu peux définir l'objet source du sous-formulaire puis les propriétés champs fils et champs pères
 
| Code : 
 Private Sub Form_Load()    Me.monSousForm.SourceObject = "sf_2"    Me.monSousForm.LinkChildFields = "no_personne"    Me.monSousForm.LinkMasterFields = "no_personne"End Sub
 | 
 
Ce code suppose que tu a posé un objet sous-formulaire nommé monSousForm dans ton formulaire principal.  
Le recordsource de ton formulaire principal est un select du style select * from personne... (pour avoir au moins la colonne no_personne)
 
sf_2 est est un formulaire dont le recordsource est la jointure entre tes tables dans le style :  
 
| Code : 
 Me.RecordSource = "SELECT personne.No_personne,langue.nom_langue FROM (personne INNER JOIN parle ONpersonne.No_personne = parle.no_personne) INNER JOINlangue ON parle.no_langue = langue.no_langue;"
 | 
 
Ma réponse est peut-être à coté de la plaque ?
 
Message édité par manika le 27-08-2004 à 12:18:23