OVH Cloud OVH Cloud

Accéder à une BD Access en VBA

4 réponses
Avatar
Sam
Bonjour !

Pour des raisons trop longues à expliquer, je dois impérativement atteindre un base access depuis le générateur de code d'une autre base access ...
Le but de la manoeuvre est de pouvoir passer des données d'une base à l'autre en cliquant sur un bouton ...
Je me perds vraiment dans le copde VBA, quelqu'un aurait-il un site ou un bout de code qui pourrait m'aider ?

merci D'avance !
Sam

4 réponses

Avatar
Raymond [mvp]
Bonjour.

je dois impérativement atteindre un base access depuis le générateur de
code d'une autre base access ...

peux-tu expliquer ?
si c'est pour passer des données, en général on lie la table de l'autre base
dans la base en cours et on travaille dessus comme une base normale.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Sam" a écrit dans le message de
news:
Bonjour !

Pour des raisons trop longues à expliquer, je dois impérativement
atteindre un base access depuis le générateur de code d'une autre base

access ...
Le but de la manoeuvre est de pouvoir passer des données d'une base à
l'autre en cliquant sur un bouton ...

Je me perds vraiment dans le copde VBA, quelqu'un aurait-il un site ou un
bout de code qui pourrait m'aider ?


merci D'avance !
Sam


Avatar
Sam
Merci pour les liens, je vais aller lire ça !

En fait, je peux pas lier les tables ....

BD1 est protégée par un mot de passe ...
BD2 contient quelques tables de BD1

BD2 est accédée via des script ASP (SQL) pour y prendre des données ....
Le but d'avoir deux BD et de ne pas avoir de mot de passe sur la seconde ...
Hors, quand on accède à BD2 par ASP (si les tables de BD1 <-> BD2 sont liées), il y a une erreur d'accès (provenant du mot de passe de BD1 ...

Donc, la solution choisie est de lancer une macro à la sortie de BD1 (donc après modification de la base principale) pour copier les données dans BD2 ... et le seul moyen c'est de le faire en code VBA !
Voilà !
Avatar
Raymond [mvp]
ton problème est donc l'ouverture:

en dao:
Dim Db As DAO.Database
Dim Rs As DAO.Recordset
Set Db = OpenDatabase("bd3.mdb", , , ";pwd=motdepasse")
Set Rs = Db.OpenRecordset("table1")

quelles sont tes données à copier ? quel genre ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Sam" a écrit dans le message de
news:
Merci pour les liens, je vais aller lire ça !

En fait, je peux pas lier les tables ....

BD1 est protégée par un mot de passe ...
BD2 contient quelques tables de BD1

BD2 est accédée via des script ASP (SQL) pour y prendre des données ....
Le but d'avoir deux BD et de ne pas avoir de mot de passe sur la seconde
...

Hors, quand on accède à BD2 par ASP (si les tables de BD1 <-> BD2 sont
liées), il y a une erreur d'accès (provenant du mot de passe de BD1 ...


Donc, la solution choisie est de lancer une macro à la sortie de BD1 (donc
après modification de la base principale) pour copier les données dans BD2

... et le seul moyen c'est de le faire en code VBA !
Voilà !


Avatar
Sam
Merci beaucoup, c'est ce dont j'avais besoin

J'avais mis Db as recordset au lieu de Db as DAO.recordset !
ça fonctionne super bien merci encore !