Transferer données Oracle vers table access

Résolu/Fermé
Milyshyn Messages postés 38 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 16 février 2010 - 15 févr. 2008 à 14:06
Milyshyn Messages postés 38 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 16 février 2010 - 22 févr. 2008 à 12:17
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
A voir également:

2 réponses

Milyshyn Messages postés 38 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 16 février 2010 3
22 févr. 2008 à 12:17
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
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
15 févr. 2008 à 22:18
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!
0