SVP TRES URGENT

Messages postés
36
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
26 septembre 2006
-
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
-
SALUT

je dos remettre mon projet maintenant et j'ai un probleme au niveau de l'executable seulement
c'et un datagrid qui tremble et fait planter le programme.
mais ce probléme n'apparait pas si j'execute à partir de MSvb6
Merci d'avance 

10 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
Avec aussi peu d'éléments, et surtout, avec un titre pareil, on risque pas pouvoir t'aider !

Donne au moins le code qui remplit ton datagrid !
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
Il manque toujours les infos que t'avais demandé PCPT dans ce topic

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Et pourtant, PCPT lui a précisé cela hier...
Pour le titre, je pense que notre ami aziz36 aime bien le mot Urgent

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
Messages postés
36
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
26 septembre 2006

vous avez raison mais j'etais panniqué

Au Fait, j'ai un datagrid1 où il y a l'historique des factures, et en dessous il y a deux autres datagrid2 et datagrid3
j'explique Datagrid2 c'est pour donner les détails de la facture
                et datagrid3  donne d'autre détais

chaque datagrid est connecté a une table Acces
et j'ai fait le lien par des requettes parametres sur le numero de facture

Private Sub DataGrid1_Click()
On Error Resume Next
Dim I As Integer
ReyLabel1.Caption = DataGrid1.Columns(0).Value
With DE1.rsCmdDetails


If .State = 0 Then .Open
For I = 1 To .RecordCount
   
    If !DetNumeroFac = DataGrid1.Columns(0).Value Then
              
        DE1.CmdDet DataGrid1.Columns(0).Value
        DataGrid2.DataMember = "CmdDet"
        DataGrid2.Refresh
        DE1.rsCmdDet.Close
       
    Else: .MoveNext
    End If
   
Next
End With
With DE1.rsLstMod


If .State = 0 Then .Open
For M = 1 To .RecordCount
   
    If !ModNumFac = DataGrid1.Columns(0).Value Then
              
        DE1.LstMod DataGrid1.Columns(0).Value
        DataGrid3.DataMember = "LstMod"
        DataGrid3.Refresh
        DE1.rsLstMod.Close
       
    Else: .MoveNext
    End If
   
Next
End With

End Sub
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
Enlève le On Error Resume Next et dis nous toutes les erreurs qui s'affichent... ca peut venir de là !

Sinon, par "trembler" tu veux dire quoi ? Les données qui clignotent (à ce moment là c'est dû à une boucle infinie : le datagrid se remplit indifiniment jusqu'à plantage), ou c'est le contrôle qui se déplace sur ta form (à ce moment là, oui, il tremble ! Et c'est grave docteur !)
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Je pense que la tremblotte est lié au refresh dans la boucle.

For I = 1 To .RecordCount
Si .RecordCount = 10 000 données, bah t'as boucle procède à 10 000 refresh.

Une fois, en fin de boucle devrait suffir

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
Y'a un truc qui me choque aussi :

If !DetNumeroFac = DataGrid1.Columns(0).Value Then
              
        DE1.CmdDet DataGrid1.Columns(0).Value
        DataGrid2.DataMember = "CmdDet"
        DataGrid2.Refresh
        DE1.rsCmdDet.Close
       
    Else: .MoveNext
    End If

Ca sert à rien de continuer ta boucle for si tu as fermé ton recordset... (surtout que VB ne va pas aimer le prochain movenext après que le recordset soit fermé !)
donc :

If !DetNumeroFac = DataGrid1.Columns(0).Value Then

              

        DE1.CmdDet DataGrid1.Columns(0).Value

        DataGrid2.DataMember = "CmdDet"

        DataGrid2.Refresh

        DE1.rsCmdDet.Close
        Exit For

       
Else
        .MoveNext
End If
Messages postés
36
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
26 septembre 2006

MERCI
Je vais essayé vos proposition et je vous dis
Messages postés
36
Date d'inscription
jeudi 27 juillet 2006
Statut
Membre
Dernière intervention
26 septembre 2006

j'ai triuvé l'erreur c'étais au niveau d'une boucle je me sis trompé dans le nom j'ai fais la boucle sur une commande qui était paramétré
j'ai pas attention
Merci de votre aide et la prochaine fois je ferai plus attention
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
C'est le risque du On Error Resume Next : au moins les petites erreurs sans importances ne sont pas affichées, mais on passe à travers les erreurs plus graves !