Bonjour,

Je souhaite supprimer de la table GPMOURES, les valeurs du champ MV_ORI n'apparaissant pas dans le champ OF_CODE de la table GPOF.

La requête SELECT ci-dessous fonctionne...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub TEST_1()
Dim cnx As ADODB.Connection
Dim rst As ADODB.Recordset
Set cnx = New ADODB.Connection
Set rst = New ADODB.Recordset
cnx.ConnectionString = "Provider=vfpoledb;Data Source=C:\Fichiers\;Extended Properties=dBASE IV;"
cnx.Open
 
rst.Open "SELECT * FROM GPMOURES INNER JOIN GPOF ON GPOF.OF_CODE <> GPMOURES.MV_ORI", cnx
 
With ThisWorkbook.Sheets("Feuil3")
    .Range("A:Z").ClearContents
    .Range("A1").CopyFromRecordset rst
End With
 
rst.Close
cnx.Close
End Sub
... mais cette requête DELETE m'indique : "Syntax error".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub TEST_2()
Dim cnx As ADODB.Connection
Dim cmd As New ADODB.Command
Set cnx = New ADODB.Connection
Set cmd = New ADODB.Command
 
cnx.ConnectionString = "Provider=vfpoledb;Data Source=C:\Fichiers\;Extended Properties=dBASE IV;"
cnx.Open
 
Set cmd.ActiveConnection = cnx
cmd.CommandText = "DELETE FROM GPMOURES INNER JOIN GPOF ON GPOF.OF_CODE <> GPMOURES.MV_ORI"
cmd.Execute
 
cnx.Close
 
Set cnx = Nothing
Set cmd = Nothing
End Sub
Merci d'avance pour votre aide et bonne journée.