MSFlexGrid, ne pas afficher 0 d'une référence précise...

Signaler
Messages postés
855
Date d'inscription
samedi 11 juin 2005
Statut
Membre
Dernière intervention
21 août 2015
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Salut à tous !

J'ai un petit soucis sur ce bout de code et sollicite votre intervention.

Dim SQ As String
Dim I As Integer

'---------------------------------------------------------------------------------------------
SQ = "SELECT Reference, Designation, Piece, SUM(ColisE - ColisS) AS Colis, SUM((ColisE - ColisS) * Piece) AS TotalG, DateFabrique, Lots FROM Tb_Mouvements "
SQ = SQ + " WHERE CDate(DateFabrique) BETWEEN CDate('" & T_DateDebut & "') AND CDate('" & T_DateFin & "') "
SQ SQ + " AND Reference'" & T_Ref.Text & "' "
SQ = SQ + " GROUP BY Reference, Designation, DateFabrique, Piece, Lots"

DataR.DatabaseName = App.Path & "\DataBase.mdb"
DataR.RecordSource = SQ
DataR.Refresh

    If Not (DataR.Recordset.BOF And DataR.Recordset.EOF) Then
    DataR.Recordset.MoveLast
    DataR.Recordset.MoveFirst
    Tablo.Rows = DataR.Recordset.RecordCount + 1
    I = 1
    Do While Not DataR.Recordset.EOF
    On Error Resume Next
If DataR.Recordset!TotalG <> 0 Then
    Tablo.TextMatrix(I, 0) = DataR.Recordset!Reference
    Tablo.TextMatrix(I, 1) = DataR.Recordset!Designation
    Tablo.TextMatrix(I, 2) = DataR.Recordset!Piece
    Tablo.TextMatrix(I, 3) = DataR.Recordset!Colis
    Tablo.TextMatrix(I, 4) = DataR.Recordset!TotalG
    Tablo.TextMatrix(I, 5) = DataR.Recordset!DateFabrique
    Tablo.TextMatrix(I, 6) = DataR.Recordset!Lots
    I = I + 1
End If
    DataR.Recordset.MoveNext
    Loop

DataR.Refresh
Else
Tablo.Rows = 1
End If


Mon problème se trouve ici :
If DataR.Recordset!TotalG <> 0 Then


Il m'affiche avec une ligne supplémentaire les référence voulue + 1 ligne de référence non voulue.

Avez-vous une petite idée svp ?

Merci

----------
OS : Windows 7 Pro 64 Bit
Platforme : Visual Basic 6.0

3 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Bonjour,
Commence par enlever ton On Error Resume Next qui fait que I est systématiquement incrémenté de 1 !


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Messages postés
855
Date d'inscription
samedi 11 juin 2005
Statut
Membre
Dernière intervention
21 août 2015

C'est fait, pareil problème. J'ai toujours un intrus :s
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Si tu as un "intrus", cela veut dire qu'il est dans ta base de données elle-même et tu es alors bien le seul à savoir ce que tu a accepté d'y enregistrer


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.