Bonjour,
Je travaille depuis quelque temps sur les bases de données Access et notamment sur l'accès de ces bases depuis d'autres applications comme Excel ou Word.
Seulement il existe deux protocoles afin d'accéder à ces données: DAO (ancien) et ADO (récent). Microsoft recommande d'utiliser ADO, ce qui est compréhensible!
Donc j'ai lancé mon projet avec ADO! Je note également que j'utilise Office 2010.
Version 2010 qui pourvoit Access de traiter les champs "Multi-valeurs". Malheureusement c'est là que je sèche!
Je sais écrire le code en DAO mais je n'arrive pas à le migrer vers ADO.
J'ai même cru lire que ADO ne traite pas ces champs multi-valeurs.
Voici le code:
Code :
- Dim db As DAO.Database
- Set db = DBEngine.OpenDatabase(MyLink)
-
- Dim rstclient As DAO.Recordset
- Set rstclient = db.OpenRecordset("CHANTIERS" )
-
- Dim rstchild As DAO.Recordset
-
- Do Until rstclient.EOF
- Set rstchild = rstclient("MAITRE D'OUVRAGE" ).Value
- Do Until rstchild.EOF
- MsgBox (rstchild(0))
- rstchild.MoveNext
- Loop
- rstclient.MoveNext
- Loop
-
- rstchild.Close
- rstclient.Close
- db.Close
|
Le code lancé depuis Word se connecte à la base de donnée de lien "MyLink", puis se connecte à la table "CHANTIERS".
On boucle sur tous les enregistrements dans le champ "MAITRE D'OUVRAGE" et sur chaque enregistrement, on boucle sur les valeurs "Enfant" dites Multi-valeurs.
Est-il possible d'avoir se code en ADO?
Message édité par mmarle le 07-02-2015 à 08:44:25