Transferer données Oracle vers table access

Résolu
Milyshyn Messages postés 38 Statut Membre -  
Milyshyn Messages postés 38 Statut Membre -
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
Configuration: Windows 2000
Internet Explorer 6.0

2 réponses

  1. Milyshyn Messages postés 38 Statut Membre 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
  2. LatelyGeek Messages postés 1774 Date d'inscription   Statut Membre Dernière intervention   550
     
    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