Pb sur un recordset

lolo95220 -  
ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai un problème sur mon retour de valeur de mon controle.

voici le code:
Dim db As Database
Set db = CurrentDb
Dim rsx As Recordset
Dim vecart As Double
Dim vdebit As Double
Dim vcredit As Double

'TEST CONTROLE EQUILIBRE des MT

Set rsx = db.OpenRecordset("R_CONTROLE_SCD")
If rsx.EOF Then
Else
rsx.MoveFirst
vcredit = 0
vdebit = 0
Do While Not rsx.EOF
If rsx(0) = "D" Then
vdebit = rsx(1)
Else
If rsx(0) = "C" Then
vcredit = rsx(1)
End If
End If
rsx.MoveNext
Loop

vecart = vdebit - vcredit
If vecart > 1 Then
MsgBox "Ecritures désequilibrées ", vbCritical, "STOP"
Exit Sub
End If
End If

'FIN TEST CONTROLE EQUILIBRE DES MT

merci d'avance

1 réponse

  1. ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   342
     
    Version lisible :
    Dim rsx As Recordset 
    Dim vecart As Double,vdebit As Double,vcredit As Double 
    'TEST CONTROLE EQUILIBRE des MT 
    Set rsx = CurrentDb.OpenRecordset("R_CONTROLE_SCD") 
    If rsx.EOF = False Then 
     While Not rsx.EOF 
      If rsx(0) = "D" Then 
       vdebit = rsx(1) 
      ElseIf rsx(0) = "C" Then 
       vcredit = rsx(1) 
      End If 
      'vdebit et vcredit écrasés à chaque itération. 
      'est-ce ce que tu recherches ? j'en doute ... 
      rsx.MoveNext 
     Wend 
     vecart = vdebit - vcredit 
     If vecart > 1 Then 
      MsgBox "Ecritures désequilibrées", vbCritical, "STOP" 
      Exit Sub 
     End If 
    End If
    rsx.Close : Set rsx = Nothing
    'FIN TEST CONTROLE EQUILIBRE DES MT 
    0