Pb sur un recordset
lolo95220
-
ghuysmans99 Messages postés 2496 Date d'inscription Statut Contributeur Dernière intervention -
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
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
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