ADO - VBA - Requête INSERT INTO
Bonjour,
je viens faire appel à vous car je désespère après quelques heures de recherches...
J'essaye d'éxécuter une requête d'insertion dans une base Oracle en VBA en utilisant de l'ADO.
J'arrive à me connecter sur la base sans problèmes, lancer des requêtes SQL et les récupérer dans des recordset.
En revanche, quand il s'agit d'éxécuter un INSERT INTO, la plupart du temps, cela aboutit sur un gros freeze d'excel et de temps en temps, cela marche mais bizarrement, la valeur que j'ai ajouté est systématiquement placée en tête de la table alors que la clé primaire (qui est un N° d'ID est sensé être le dernier)
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
|
Dim Cn As ADODB.Connection
Dim CP As ADODB.Command
Dim Rs As ADODB.RecordSet
Dim connectionString As String
Dim SQLQuery As String
'Connexion au serveur Oracle
connectionString = "XXXXXXXXXXXXXXXXXXXXXXXXX"
Set Cn = New ADODB.Connection
Set CP = New ADODB.Command
Set Rs = New ADODB.RecordSet
With Cn
.connectionString = connectionString
.CursorLocation = adUseClient
.Open
End With
With CP
.ActiveConnection = Cn
SQLQuery = "Insert into FIELDS(ID_FIELD, TYPE_FIELD, NAME_FIELD) VALUES ('221', 'No', 'TEST')"
.CommandType = adCmdText
.CommandText = SQLQuery
.Execute
End With
Debug.Print CP.CommandText
' Close ADO objects
Cn.Close
Set Cn = Nothing
Set Rs = Nothing
Set CP = Nothing |
Merci pour votre aide.