Pb sur un recordset

Fermé
lolo95220 - 1 sept. 2011 à 10:27
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 - 1 sept. 2011 à 12:29
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

ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 339
Modifié par ghuysmans99 le 1/09/2011 à 12:30
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