Se connecter / S'enregistrer
Votre question

VBA Access

Tags :
  • Connexion
  • Programmation
Dernière réponse : dans Programmation
20 Janvier 2010 22:15:46

Bonjour à tous,
1) Est-ce que le code suivant en VBA dans Access est correct ?
2) Est-ce que j’utilise ADO ou DAO implicitement ?
3) Comment il accède aux données alors?
4) Est ce que j'ai besoin d'ouvrir une connexion ou non?

Dim MaBase As Database
Dim rst As Recordset

Set MaBase = CurrentDb

Set rst = MaBase.OpenRecordset("MaTable", dbOpenDynaset)

Autres pages sur : vba access

21 Janvier 2010 13:52:47

Salut, Boutairy

1) Le code m'a l'air tout à fait correct.
2) Par défaut, c'est DAO qui est utilisé. Tu peux le vérifier en regardant dans les références (dans l'éditeur VBA, menu Outils/Références... , c'est la première référence cochée (entre "Microsoft DAO x.x Object Library" et "Microsoft ActiveX Data Objects x.x Library") qui a raison).
3) Comme tu lui demandes : en ouvrant une feuille de réponses dynamique ;) . Plus sérieusement, tu trouveras toutes les infos en cherchant dans l'aide en ligne d'Access sur OpenRecordset.
4) Non, en utilisant CurrentDb, tu te sers de la connexion sur laquelle tu es en train de travailler et qui est donc déjà ouverte.

Bonne continuation
m
0
l
21 Janvier 2010 16:31:34

Merci pour votre réponse.

Donc le premier code est le même que celui-ci


Dim MaBase As DAO.Database

Dim rst As DAO.Recordset
Set MaBase = CurrentDb

Set rst = MaBase.OpenRecordset("MaTable", dbOpenDynaset)

m
0
l
21 Janvier 2010 18:16:50

Tout à fait, Thierry !;)Le DAO est implicite dans le premier code mais cela ne nuit pas de le préciser.
Pour compléter, si tes tables sont au format Access (tables locales ou tables liées contenues dans un fichier Access), DAO est la méthode la plus rapide.
Par contre, si tes tables sont sur SQL server ou MySQL et que tu utilises une liaison ODBC, les performances seront meilleures avec ADO. Mais cela demande de refaire une partie du code et change aussi la façon d'écrire les requêtes dans le code (les requêtes enregistrées dans Access ne changent pas, elles).

Bonne continuation
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS