DAO ==> ADO ??? [Résolu]

bouv
Messages postés
1424
Date d'inscription
mercredi 6 août 2003
Dernière intervention
29 juin 2011
- 18 mai 2005 à 12:09 - Dernière réponse : bouv
Messages postés
1424
Date d'inscription
mercredi 6 août 2003
Dernière intervention
29 juin 2011
- 22 mai 2005 à 19:17
Salut,

On vient de me confier un assez gros programme (8 Mo compilé) avec une grosse base de données Access (85 Mo après compactage).

Ce qui m'embete c'est que la base est gérée en DAO 2.5/3.51 et que :
1°- Je n'y connais pas grand chose en DAO,
2°- Le DAO a été abandonné par Microsoft au profit de l'ADO il y a bien longtemps,
3°- Le DAO ne gère pas les bases ACCESS supérieures à la version 97 (d'après mes essais)

Est-il possible de passer facilement à l'ADO ou existe-t-il un moyen tout en restant en DAO de convertir la base ACCESS en version 2000 ?
Tout en sachant que pour l'instant cela fonctionne plutot bien ! Cela vaut-il le cout d'effectuer ce genre de changement ?

Merci d'avance
Bonne prog
++
Afficher la suite 

11 réponses

Meilleure réponse
cs_CanisLupus
Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Dernière intervention
13 mars 2006
- 22 mai 2005 à 11:28
3
Merci
Apparemment, l'appli a été développée en vb3 non ?


Global est plutôt remplacé par Public en vb6 mais ça ne doit pas gêner.
Dynaset et CreateDynaset sont obsolètes et doivent être remplacés par :


Global dA As Dynaset --> Public dA As RecordsetSet dA MyDA.CreateDynaset(SQLDAV) --> Set dA MyDA.OpenRecordset(SQLDAV, dbOpenDynaset)


et plusieurs autres types et fonctions DAO. Si tu prog en vb6, tu as les explications dans l'aide.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?

Merci cs_CanisLupus 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

hyunkel69
Messages postés
44
Date d'inscription
lundi 2 mai 2005
Dernière intervention
13 janvier 2006
- 18 mai 2005 à 16:25
bouv
Messages postés
1424
Date d'inscription
mercredi 6 août 2003
Dernière intervention
29 juin 2011
- 18 mai 2005 à 22:13
0
Merci
Merci bien pour ce "petit" (lol) tuto.
C'est assez instructif.

Je pense qu'après ça je vais laisser tomber la migration vers ADO. Cela représenterai un travail de titan.

Par contre sais tu si le DAO peut piloter une base ACCESS 2000 ?

Merci encore
Bonne prog
++
hyunkel69
Messages postés
44
Date d'inscription
lundi 2 mai 2005
Dernière intervention
13 janvier 2006
- 19 mai 2005 à 09:52
0
Merci
Je suis pas très calé là dedans (c'était pour le boulot que j'ai eu besoin de ce tut) mais

à ma connaissaince, non il ne peut pas.
cs_CanisLupus
Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Dernière intervention
13 mars 2006
- 19 mai 2005 à 12:33
0
Merci
Salut,

Pour utiliser des bases Access 2000 avec la méthode DAO, il faut cocher (en vb6) la référence "Microsoft DAO 3.6 Object Library" qui repose sur "DAO360.DLL" que tu devrais trouver dans "C:\Program Files\Fichiers communs\Microsoft Shared\DAO".

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
bouv
Messages postés
1424
Date d'inscription
mercredi 6 août 2003
Dernière intervention
29 juin 2011
- 21 mai 2005 à 13:35
0
Merci
Salut CanisLupus, j'ai effectivement essayer de cocher la version 3.6 de DAO. Cependant le prog ne fonctionnait plus, il semble que les déclarations soient différentes.
Saurais-tu m'en dire plus STP ?

Merci,
Bonne prog
++
cs_CanisLupus
Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Dernière intervention
13 mars 2006
- 21 mai 2005 à 14:07
0
Merci
Quelles déclarations par exemple ?

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
bouv
Messages postés
1424
Date d'inscription
mercredi 6 août 2003
Dernière intervention
29 juin 2011
- 22 mai 2005 à 10:40
0
Merci
Global dA As Dynaset
J'obtiens un message : Type défini par l'utilisateur non défini

Si je supprime cette déclaration, VB S'arrete sur

Set dA = MyDA.CreateDynaset(SQLDAV)
J'obtiens le message : Erreur de compilation : Fonction ou interface est mentionnée avec restriction ou la fonction utilise un type Automation non géré par Visual Basic


Bonne prog
++
bouv
Messages postés
1424
Date d'inscription
mercredi 6 août 2003
Dernière intervention
29 juin 2011
- 22 mai 2005 à 12:37
0
Merci
Ok merci pour les conseils.
Non le prog a été développé en VB5 et je l'ai repris sous VB6.
Je vais essayer avec Recordset, cela dis j'ai un peu peur de m'engager dans un boulot de titan. Cela ne risque-t-il pas de demander d'autres modifications par la suite ?

Bonne prog
++
cs_CanisLupus
Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Dernière intervention
13 mars 2006
- 22 mai 2005 à 18:45
0
Merci
En ce qui concerne DAO, sans doute. Tape "dynaset" dans l'aide de vb6 et tu auras toute la liste des objets obsolètes ainsi que par quoi on les remplace.


A part ça, reprendre un projet vb5 avec vb6 ne devrait pas être trop ardu. Tout dépend des composants et références utilisées. Normalement, en chargeant le projet la première fois, vb6 a du te signaler d'éventuels manques. S'il ne l'a pas fait c'est que ça devrait être bon.


Bon courage

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
bouv
Messages postés
1424
Date d'inscription
mercredi 6 août 2003
Dernière intervention
29 juin 2011
- 22 mai 2005 à 19:17
0
Merci
Merci pour tes précieux conseils, ça à l'air de fonctionner en remplaçant Dynaset par Recordset. J'ai même pu convertir la base en Access 2000.

Merci encore.
Bonne prog
++

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.