Transferer données Oracle vers table access [Résolu/Fermé]

Signaler
Messages postés
38
Date d'inscription
jeudi 24 janvier 2008
Statut
Membre
Dernière intervention
16 février 2010
-
Messages postés
38
Date d'inscription
jeudi 24 janvier 2008
Statut
Membre
Dernière intervention
16 février 2010
-
Bonjour,

Voici mon problème,

j'ai une table vide sous acess nommée TEST avec pour champs ID ; LIBELLE

indemne pour une table Oracle sauf que celle ci est remplie...

Je voulais savoir comment fait-on pour transférer les données de ma table Oracle vers ma table access...

Merci

2 réponses

Messages postés
38
Date d'inscription
jeudi 24 janvier 2008
Statut
Membre
Dernière intervention
16 février 2010
3
Coucou
désolé du retard, pou répondre, voila ce que j'ai fait, ça marche ...

Public Function transfertOracle_test()
Dim connect As ADODB.Connection ' connect = crée connection vers base oracle
Dim Commande As ADODB.Command 'commande = effectue commende sur la base
Dim rst As DAO.Recordset, rst_test As ADODB.Recordset ' rst_test = recordset pour base Oracle
' DAO = Recordset pour access, ADODB = recordset pour Oracle
Dim code As String, code_precedent As String, code_pgc As String
Dim code_frais As String, marque As String
Dim position As Integer, nboccurence As Integer
Set db = CurrentDb

Set connect = New ADODB.Connection ' créer connection sur oracle

connect.Open "DSI_TEST", "DSI_TEST", "DSI_TEST"
'ouvre connection
connect.CursorLocation = adUseClient



Set Commande = New ADODB.Command ' créer sur access  ce qui permet de faire des commandes sur oracle
Commande.CommandType = adCmdText
' la commande sera en format texte

Set Commande.ActiveConnection = connect
' la connection de la commande est la connection connect
Commande.CommandText = "delete from TEST_EMILIE" ' suppresion des données dans la table oracle
' ordre sql donné
Commande.Execute



'________________________________________________________
'insere données d'une table access vers une table oracle I
'________________________________________________________I

Set rst = db.OpenRecordset("select * FROM TEST_EMILIE")
' je selectionne les enregistrements de la table access
Do While Not rst.EOF ' je fais une boucle sur les enregistrement de la table access

Commande.CommandText = "insert into TEST_EMILIE(ID,LIBELLE) values (" & rst!id & ",'" & rst!LIBELLE & "')"
'j'insere dans la table oracle
Commande.Execute
rst.MoveNext
Loop
Set rst = Nothing


'Mise à jour dans la table oracle ( facultatif)
'je supprime dans la table access si mise a jours et dans la oracle puis réinsersion dans la table access
db.Execute "delete * from TEST_EMILIE"
Commande.CommandText = "update TEST_EMILIE set LIBELLE='OYE' WHERE ID='1'"
Commande.Execute
Commande.CommandText = "insert into TEST_EMILIE(ID,LIBELLE) values ('45','BUENAS')"
Commande.Execute

'________________________________________________________
'insere données d'une table oracle vers une table access I
'________________________________________________________I

'ATTENTION : pour requete oracle : utiliser : "commande.comandtext =" puis "commande.Execute"


Commande.CommandText = "select * from TEST_EMILIE"
'je selectionne dans la table oracle
Set rst2 = Commande.Execute


Do While Not rst2.EOF ' je fais une boucle sur tout les enregistrements de la table oracle
db.Execute "insert into TEST_EMILIE(ID,LIBELLE) values (" & rst2!id & ",'" & rst2!LIBELLE & "')"
'j'insere dans la table access
rst2.MoveNext
Loop
Set rst2 = Nothing


End Function
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60769 internautes nous ont dit merci ce mois-ci

Messages postés
1712
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
16 janvier 2020
510
Deux étapes:

Primo, attacher la table Oracle (Ca doit marcher avec comme type ODBC Database) et ensuite une requête Ajout qui copie les donnée sde ta table attachée à ta table Access!