Bonjour,
Je souhaite chercher si un enregistrement est présent dans une table à l'aide de sql dans du vba excel. Si tel n'est pas le cas, je dois réaliser mon traitement. Pour cela, j'ai codé:
Le msgbox ramène une valeur "Faux" alors même que la requête réalisée par sql ne ramène aucun enregistrement.
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 Dim conn As New ADODB.Connection Dim conn2 As New ADODB.Connection Dim conn3 As New ADODB.Connection Dim connString ' Recordset pour traiter les of racines non soldés dont le statut est "Terminé" et pour lesquels il y a du livrable Dim rsRecords As New ADODB.Recordset ' Recordset pour rechercher si l'of racine a été traité Dim rsRecord_trt As New ADODB.Recordset connString = "DSN=TOP;Uid=TOPMAN01;Pwd=TOPMAN01" conn.Open connString conn2.Open connString ' Suppression des of traités soldés. txt = "DELETE FROM topaddin.m44_of_racines_traites m WHERE m.id_wo in (select w.id_wo from topmes.wo w where nvl(w.b_closed,0) = -1)" conn2.Execute txt ' Suppression des of extraits et soldés txt = "DELETE FROM topaddin.m44_etiquettes WHERE id_wo in (select w.id_wo from topmes.wo w where nvl(w.b_closed,0) = -1)" conn2.Execute txt ' Suppression des étiquettes du traitement précédent txt = "DELETE FROM topaddin.m44_etiquettes WHERE id_wo in (select id_wo from topaddin.m44_of_racines_traites)" conn2.Execute txt Set rsRecord_trt = conn2.Execute("select id_wo from topaddin.m44_of_racines_traites where id_wo = " & id_wo) MsgBox rsRecord_trt.EOF If rsRecord_trt.EOF Then
Je ne comprends pas comment cela est possible.
Faut-il coder des commit après des mises à jour ?
Merci d'avance.
Julien.
Partager