ADO.recordset de Base1 ajouter ds base2
Bonjour,
Est que que quelqu'un a une solution ou une faq ou un tuto, un cours, un bout de code qui me mette sur la voie.
Mon précédent message a été lu 40 fois et personnes n'a contribué.:triste:
Je tourne en rond, comment faire, je ne veux pas reconstruire une apli
avec tes temps d'action de 6 minutes? :mur: Je suis débutant et teste des sollutions de manipulation de données avec des connexions et des recordsets ADO présentées dans les FAQ.
Mon objectif
J'emploi 3 bases.
BddSource = "C:\Test2\Bd1.mdb"
BddCible = "C:\Test2\Bd3.mdb"
BddPilot = "C:\Test2\Bd2.mdb"
Depuis la Bdd Pilot, Créer dans la Bdd Cible une table avec le resultat du
recordset realisé sur la Bdd Source.
J'ai cherché dans les totus et la faq sans succes.
J'ouvre les connexions, mais le recorset n'ecrit que dans la Bdd Source
alors que je tente de créer dans Bdd Cible.
:dehors: je viens du forum Access! pardon pour le dérangement!
ADO.recordset de Base1 ajouter ds base2
Voici le code recupérer sur les faq
Mon bug est sur une instruction que j'ai ajouté en bas de la fonction
Code:
1 2
|
DoCmd.RunSQL "Select" & Rst1 & "INTO A, Cnx1" |
Merci de votre aide.
Pingpool
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| Public Function connectetrercordsetbd1() As Integer
'Test en cours
'Déclaration des variables
Dim Db As Database
Dim Rst1 As ADODB.Recordset
Dim Rst2 As ADODB.Recordset
Dim Rst3 As ADODB.Recordset
Dim Cnx1 As ADODB.Connection
Dim Cnx3 As ADODB.Connection
Dim BddSource As String, BddCible As String, BddPilot As String
BddSource = "C:\Test2\Bd1.mdb"
BddCible = "C:\Test2\Bd3.mdb"
BddPilot = "C:\Test2\Bd2.mdb"
Set Cnx1 = New ADODB.Connection
'Définition du pilote de connexion
Cnx1.Provider = "Microsoft.Jet.Oledb.4.0"
'Définition de la chaîne de connexion
Cnx1.ConnectionString = "C:\Test2\Bd1.mdb"
'Ouverture de la base de données
Cnx1.Open
'Instanciation des variables
' information issu de http://access.developpez.com/faq/?page=SQL#Recordset
Set Rst1 = New ADODB.Recordset
'Exécution de la requête pour collecté les donnés sur la Bdd source depuis la Bd pilot
Set Db = CurrentDb
Rst1.Open "SELECT Champ1, Champ2 FROM Feuille1import", Cnx1 'Test en cours
'Envoi des données dans la Bdd Cible
Set Cnx3 = New ADODB.Connection
'Définition du pilote de connexion
Cnx3.Provider = "Microsoft.Jet.Oledb.4.0"
'Définition de la chaîne de connexion
Cnx3.ConnectionString = "C:\Test2\Bd3.mdb"
'Ouverture de la base de données
Cnx3.Open
Set Db = CurrentDb
DoCmd.RunSQL "Select" & Rst1 & "INTO A, Cnx1"
End Function |
ADO.recordset de Base1 ajouter ds base2
Bonjour,
Merci de ton aide tu as bien compris mon pb
J'ai une erreur su le Rst1 'Incompatibilité de type.
Code:
DoCmd.RunSQL "Select" & Rst1 & "INTO A, Cnx3"
mon but : insérer le resultat du Rst1
dans la BddCible
Code:
Cnx3.ConnectionString = "C:\Test2\Bd3.mdb"
Pingpool
ADO.recordset de Base1 ajouter ds base2
Bonsoir a tous,
Oulala je reviens de loin!
J'ai bcp lu pour comprendre un tout petit truc!
Mon recordset est dans la mémoire, et mon but c'est de le passé sur le disque, autrement dit, de le sauvegarder.
donc je trouve Rst1.add et Rst1.save as ()
Code:
Rst1.Save "C:\Mes document\Test2\TbleCible1.xml", adPersistXML
L'enregistrement sur disque de mon Rst1 est donc externe a la Bdd3.mdb
:aie: Est ce que qu'un aurait une solution? J'ai une idée un peu pas simple, Envoyer les fichier vers MySql et deployer l'espace de stockage sous Mysql,
ou trouver une solution qui decapusle une planification de taches serveur pour que la Bdd3 ayant récupéré 1 minute apres les données déposées, les compile et finissent le job par un envoi de resultat sur la Bdd Pilot. :langue:
J'ai l'impression que je m'y prends pas tres bien! :cfou:
Pouvez vous me conseillez svp?
Merci part avance de votre aide!
Pingpool
Aspirant programmeur [VB-ADO,SQL]\[Access,Excel]\[MySql-EasyPhp]
AM Data Miner cherche emploi CDI en IDF