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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
| Option Compare Database
'----------------------------------------------------
'insere données d'une table access vers table oracle
'insere données d'une oracle vers une table access
'----------------------------------------------------
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 |
Partager