VBA Acceder à une base de données qui n'est pas ouverte
1 réponse
Demba Coulibaly
Bonjour tout le monde,
Je voulais dans un code VBA, transférer des données entre des tables
appartenant à deux Base de Données différentes. Voici, le code que j'ai ainsi
écrit. A l'exécution, j'obtiens le message suivant : ERREUR D'EXECUTION '3024'
FICHIER 'Transfer' introuvable
Comment résoudre ce problème. Les deux Fichiers .mdb sont dans le même
dossier.
Function transfert()
Dim dbsCurrent As Database, dbsTransfer As Database
Dim MesEtudiants As Recordset, mesEtud As Recordset
Dim mesIns As Recordset, mesInsT As Recordset
Set dbsCurrent = CurrentDb
Set dbsTransfer = DBEngine.Workspaces(0).OpenDatabase("Transfert.mdb")
Set MesEtudiants = dbsCurrent.OpenRecordset("Etudiant")
Set mesIns = dbsCurrent.OpenRecordset("InfoAnnuelles")
Set mesEtud = dbsTransfer.OpenRecordset("Etudiant")
Set mesInsT = dbsTransfer.OpenRecordset("InfoAnnuelles")
If (mesEtud.EOF) Then
MesEtudiants.MoveFirst
Do While Not (MesEtudiants.EOF)
mesEtud.AddNew
mesEtud!NumIns = MesEtudiants!NumIns
mesEtud!Prénom = MesEtudiants!Prénom
mesEtud!Nom = MesEtudiants!Nom
mesEtud![Date de Naissance] = MesEtudiants![Date de Naissance]
mesEtud![Année de Naissance] = MesEtudiants![Année de Naissance]
mesEtud![Lieu de Naissance] = MesEtudiants![Lieu de Naissance]
mesEtud.Update
MesEtudiants.MoveNext
Loop
MsgBox "C'est terminé !"
End If
End Function
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Thierry (ze Titi)
Bonjour Demba Coulibaly
Set dbsTransfer = DBEngine.Workspaces(0).OpenDatabase(currentproject.Path & "Transfert.mdb")
peut-être ?
Dans ton message du mercredi 12/09/2007 jour de Saint Apollinaire, tu as pris l'initiative de nous narrer les faits suivants:
Bonjour tout le monde,
Je voulais dans un code VBA, transférer des données entre des tables appartenant à deux Base de Données différentes. Voici, le code que j'ai ainsi écrit. A l'exécution, j'obtiens le message suivant : ERREUR D'EXECUTION '3024' FICHIER 'Transfer' introuvable
Comment résoudre ce problème. Les deux Fichiers .mdb sont dans le même dossier.
Function transfert() Dim dbsCurrent As Database, dbsTransfer As Database Dim MesEtudiants As Recordset, mesEtud As Recordset Dim mesIns As Recordset, mesInsT As Recordset
Set dbsCurrent = CurrentDb Set dbsTransfer = DBEngine.Workspaces(0).OpenDatabase("Transfert.mdb") Set MesEtudiants = dbsCurrent.OpenRecordset("Etudiant") Set mesIns = dbsCurrent.OpenRecordset("InfoAnnuelles") Set mesEtud = dbsTransfer.OpenRecordset("Etudiant") Set mesInsT = dbsTransfer.OpenRecordset("InfoAnnuelles")
If (mesEtud.EOF) Then
MesEtudiants.MoveFirst Do While Not (MesEtudiants.EOF) mesEtud.AddNew mesEtud!NumIns = MesEtudiants!NumIns mesEtud!Prénom = MesEtudiants!Prénom mesEtud!Nom = MesEtudiants!Nom mesEtud![Date de Naissance] = MesEtudiants![Date de Naissance] mesEtud![Année de Naissance] = MesEtudiants![Année de Naissance] mesEtud![Lieu de Naissance] = MesEtudiants![Lieu de Naissance] mesEtud.Update MesEtudiants.MoveNext Loop MsgBox "C'est terminé !" End If End Function
Set dbsTransfer =
DBEngine.Workspaces(0).OpenDatabase(currentproject.Path &
"Transfert.mdb")
peut-être ?
Dans ton message <90861BD5-7718-4A92-97CD-C0C582845F42@microsoft.com>
du mercredi 12/09/2007 jour de Saint Apollinaire, tu as pris
l'initiative de nous narrer les faits suivants:
Bonjour tout le monde,
Je voulais dans un code VBA, transférer des données entre des tables
appartenant à deux Base de Données différentes. Voici, le code que j'ai ainsi
écrit. A l'exécution, j'obtiens le message suivant : ERREUR D'EXECUTION
'3024' FICHIER 'Transfer'
introuvable
Comment résoudre ce problème. Les deux Fichiers .mdb sont dans le même
dossier.
Function transfert()
Dim dbsCurrent As Database, dbsTransfer As Database
Dim MesEtudiants As Recordset, mesEtud As Recordset
Dim mesIns As Recordset, mesInsT As Recordset
Set dbsCurrent = CurrentDb
Set dbsTransfer = DBEngine.Workspaces(0).OpenDatabase("Transfert.mdb")
Set MesEtudiants = dbsCurrent.OpenRecordset("Etudiant")
Set mesIns = dbsCurrent.OpenRecordset("InfoAnnuelles")
Set mesEtud = dbsTransfer.OpenRecordset("Etudiant")
Set mesInsT = dbsTransfer.OpenRecordset("InfoAnnuelles")
If (mesEtud.EOF) Then
MesEtudiants.MoveFirst
Do While Not (MesEtudiants.EOF)
mesEtud.AddNew
mesEtud!NumIns = MesEtudiants!NumIns
mesEtud!Prénom = MesEtudiants!Prénom
mesEtud!Nom = MesEtudiants!Nom
mesEtud![Date de Naissance] = MesEtudiants![Date de Naissance]
mesEtud![Année de Naissance] = MesEtudiants![Année de Naissance]
mesEtud![Lieu de Naissance] = MesEtudiants![Lieu de Naissance]
mesEtud.Update
MesEtudiants.MoveNext
Loop
MsgBox "C'est terminé !"
End If
End Function
--
Cordialement,
Thierry
Tout pour réussir avec Access :
http://www.mpfa.info
Set dbsTransfer = DBEngine.Workspaces(0).OpenDatabase(currentproject.Path & "Transfert.mdb")
peut-être ?
Dans ton message du mercredi 12/09/2007 jour de Saint Apollinaire, tu as pris l'initiative de nous narrer les faits suivants:
Bonjour tout le monde,
Je voulais dans un code VBA, transférer des données entre des tables appartenant à deux Base de Données différentes. Voici, le code que j'ai ainsi écrit. A l'exécution, j'obtiens le message suivant : ERREUR D'EXECUTION '3024' FICHIER 'Transfer' introuvable
Comment résoudre ce problème. Les deux Fichiers .mdb sont dans le même dossier.
Function transfert() Dim dbsCurrent As Database, dbsTransfer As Database Dim MesEtudiants As Recordset, mesEtud As Recordset Dim mesIns As Recordset, mesInsT As Recordset
Set dbsCurrent = CurrentDb Set dbsTransfer = DBEngine.Workspaces(0).OpenDatabase("Transfert.mdb") Set MesEtudiants = dbsCurrent.OpenRecordset("Etudiant") Set mesIns = dbsCurrent.OpenRecordset("InfoAnnuelles") Set mesEtud = dbsTransfer.OpenRecordset("Etudiant") Set mesInsT = dbsTransfer.OpenRecordset("InfoAnnuelles")
If (mesEtud.EOF) Then
MesEtudiants.MoveFirst Do While Not (MesEtudiants.EOF) mesEtud.AddNew mesEtud!NumIns = MesEtudiants!NumIns mesEtud!Prénom = MesEtudiants!Prénom mesEtud!Nom = MesEtudiants!Nom mesEtud![Date de Naissance] = MesEtudiants![Date de Naissance] mesEtud![Année de Naissance] = MesEtudiants![Année de Naissance] mesEtud![Lieu de Naissance] = MesEtudiants![Lieu de Naissance] mesEtud.Update MesEtudiants.MoveNext Loop MsgBox "C'est terminé !" End If End Function