Liaison formulaire et sous formulaire en VB appliqué à Access

Liaison formulaire et sous formulaire en VB appliqué à Access - VB/VBA/VBS - Programmation

Marsh Posté le 27-04-2004 à 10:01:15    

Bonjour !
 
Je cherche le moyen de créer des sous-formulaire access SANS PASSER par l'assistant (surtout pas) mais pas de la programmation VBA.
Ex : j'ai une personne qui parle plusieurs langues. Trois tables sont donc utilisées : Personne (no_personne, nom_personne), Parle(no_membre, no_langue) et langue(no_langue, nom_langue).
 
Dans mon formulaire principal, j'aurai les informations sur ma personne et dans le sous-formulaire, j'aurai toutes les langues qu'elle parle.
 
Mon problème est le suivant : je n'arrive pas à afficher tous les enregistrements (toutes les langues) liés à une personne.
Comment faire pour générer, par VBA une nouvelle ligne dans le sous-formulaire pour chaque enregistrement trouvé ?
 
Merci d'avance (et j'espère avoir été claire dans mon explication) !

Reply

Marsh Posté le 27-04-2004 à 10:01:15   

Reply

Marsh Posté le 28-04-2004 à 10:52:23    

up 4u :  
car ça m'interesse aussi

Reply

Marsh Posté le 27-08-2004 à 09:31:18    

bonjour dpmy est ce que tu as pu resoudre ton probleme sur les formulaires? ça m'interresse vivement. Merci de me repondre rapidemment

Reply

Marsh Posté le 27-08-2004 à 12:17:41    

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 :
  1. Private Sub Form_Load()
  2.     Me.monSousForm.SourceObject = "sf_2"
  3.     Me.monSousForm.LinkChildFields = "no_personne"
  4.     Me.monSousForm.LinkMasterFields = "no_personne"
  5. 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 :
  1. Me.RecordSource = "SELECT personne.No_personne,
  2. langue.nom_langue FROM (personne INNER JOIN parle ON
  3. personne.No_personne = parle.no_personne) INNER JOIN
  4. langue 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
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed