Problème lors de la restitution d'une valeur de requête sql
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é:
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 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 |
Le msgbox ramène une valeur "Faux" alors même que la requête réalisée par sql ne ramène aucun enregistrement.
Je ne comprends pas comment cela est possible.
Faut-il coder des commit après des mises à jour ?
Merci d'avance.
Julien.