CurrentDB et CodeDB
En programmation VBA, quelle est la différence entre les fonctions
CurrentDB()
etCodeDB()
?
CurrentDB
renvoie effectivement une instance de la base de données en cours (l’application).CodeDB
renvoie une instance de la base de données dans laquelle s’exécute le code VBA.
Dans une application classique, CodeDB
et CurrentDB
sont équivalentes. De fait, vous utiliserez quasiment toujours CurrentDB
.
Par contre, si vous développez un assistant Access, celui-ci doit pouvoir faire appel à la base de données utilisateur (CurrentDB
), mais éventuellement manipuler ses propres tables (via CodeDB
).
Ainsi, à l’intérieur d’un assistant, les 2 lignes qui suivent produisent un résultat différent :
1 2 |
Set rst = CurrentDB.OpenRecordset("tbl Test") Set rst = CodeDB.OpenRecordset("tbl Test") |