Access _Vb

leubaa Messages postés 24 Date d'inscription mardi 29 juillet 2003 Statut Membre Dernière intervention 20 mai 2005 - 20 août 2003 à 14:59
leubaa Messages postés 24 Date d'inscription mardi 29 juillet 2003 Statut Membre Dernière intervention 20 mai 2005 - 21 août 2003 à 10:02
Bonjour,

J'ai définis une table avec une clé composé (Cod_Adresses et Cod_Enf) elle est également définit dans l'index. Cepandant lorsque je veux passer des donnees , la reference se fait uniquement sur la premiere clé ...

Voici mon code ..

'Cette fonction permet de passer les paramètres d'une table dans les champs du formulaire
'
Function InfosEnfants(num)
Dim dbs As Database
Dim donnees As DAO.Recordset
Dim Formulaire As Form
Set dbs = CurrentDb
Set donnees = dbs.OpenRecordset("Enfants")
Set Formulaire = Forms![SF Enfants]
If Not IsNull(num) Then
donnees.Index = "PrimaryKey"
donnees.Seek "=", num
If Not (donnees.EOF) Then
Formulaire![Code1] = donnees![Cod_Adresses]
Formulaire![Code2] = donnees![Cod_Enf]
Formulaire![Prenom] = donnees![Enf_Prenom]
Formulaire![DateNaissance] = donnees![Enf_DateNaissance]
Formulaire![DateEntree] = donnees![Enf_DateEntree]
Formulaire![DateSortie] = donnees![Enf_DateSortie]
End If
End If
donnees.Close
End Function

Par exemple si je clique sur l'enregistrement 31-2 ou 31-3 c'est tjs l'enregistrement 31-1 (premier de la liste) qui s'affiche ...

qqn peut-il m'aider ?

3 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
20 août 2003 à 16:16
Salut
Je ne connais pas trop ce style d'accès aux données, mais je pense que Num ne fait que désigner la Xème ligne de ton RecordSet, alimenté par Enfants.
Es-tu sûr que le RecordSet contient bien plusieurs enregsitrements ?
Essaye de lire la valeur donnees.RecordCount et de passer en revue les lignes avec ce petit code :
With donnees
.MoveFirst
Do While Not .EOF
Debug.Print donnees!![Cod_Adresses], donnees![Cod_Enf]
DoEvents
Loop
.MoveFirst
End With

Vala
Jack
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
20 août 2003 à 16:20
J'ai oublié le .MoveNext avant le Loop
;-)
Jack
0
leubaa Messages postés 24 Date d'inscription mardi 29 juillet 2003 Statut Membre Dernière intervention 20 mai 2005
21 août 2003 à 10:02
Salut,

Oui il y a 5 enregistrements !

Les clé sont 22-1, 22-2, 23-1, 23-2, 23-3

Si je clique sur 22-1 ou 22-2, c'est tjs 22-1 qui s'affiche
idem : si je clique sur 23-1,23-2,23-3, c'est tjs 23-1 qui s'affiche.
Vb ne reconnait pas la clé composé définit dans ma table !
0
Rejoignez-nous