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

Sinsitrus Messages postés 849 Date d'inscription samedi 11 juin 2005 Statut Membre Dernière intervention 21 août 2015 - 10 mai 2013 à 10:40
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 10 mai 2013 à 13:57
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

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 mai 2013 à 11:59
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.
0
Sinsitrus Messages postés 849 Date d'inscription samedi 11 juin 2005 Statut Membre Dernière intervention 21 août 2015
10 mai 2013 à 12:04
C'est fait, pareil problème. J'ai toujours un intrus :s
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
10 mai 2013 à 13:57
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.
0
Rejoignez-nous