Tri de datagrid vb6

Signaler
Messages postés
51
Date d'inscription
vendredi 1 juin 2007
Statut
Membre
Dernière intervention
13 octobre 2012
-
Messages postés
14725
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
22 septembre 2020
-
Bonjour;

j'ai deux DataGrid liées, comment faire pour trier le contenu de deuxième DataGrid par matricule asc et aussitôt par date asc.
sachant que ce DataGrid contenant plusieurs colomns : matricule,date, nom,...

voici le code:





Private Sub DataGrid2_Click()


Set DataGrid1.DataSource = cariére.Adodc2
cariére.Adodc2.Recordset.Filter = " [Matricule]_ LIKE '" & (Me.DataGrid2.Text) & "' "_
cariére.Adodc2.Recordset.Requery

End Sub


Private Sub Form_Load()



Set DataGrid1.DataSource = cariére.Adodc2
Set DataGrid2.DataSource = Employes.Adodc1

End Sub

    

10 réponses

Messages postés
14725
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
22 septembre 2020
144
Bonjour,

Pourquoi ne pas utiliser une requête SQL pour peupler la seconde DataGrid ?
Comme ça ça t'évite d'avoir tout le Recordset en mémoire et tu pourras trier facilement les données.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
Messages postés
51
Date d'inscription
vendredi 1 juin 2007
Statut
Membre
Dernière intervention
13 octobre 2012

comment faire exactement?
je n'ai pas compris.
Messages postés
14725
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
22 septembre 2020
144
Bonjour,

A la place de :
Set DataGrid1.DataSource = cariére.Adodc2

Je pense que tu peux mettre un Recordset comme source de données.
Dans ce cas, ouvrir un Recordset en utilisant une requête SQL faisant le tri et le filtrage serait plus facile à maintenir.

Comment initialises-tu ta connexion, comment remplis-tu ton cariére.Adodc2 ?

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
Messages postés
51
Date d'inscription
vendredi 1 juin 2007
Statut
Membre
Dernière intervention
13 octobre 2012



Set MaConn = New ADODB.Connection
MaConn.Provider = "Microsoft.Jet.OLEDB.4.0;"

MaConn.Open "C:\personnel\GCP.mdb"
Messages postés
51
Date d'inscription
vendredi 1 juin 2007
Statut
Membre
Dernière intervention
13 octobre 2012

ajout carrière
exemple: ajout matricule



Adodc2.Recordset.AddNew

Adodc2.Recordset!Matricule = Right("0000000000" +_ Trim$(Me.Text5.Text), 10)
Messages postés
14725
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
22 septembre 2020
144
Bonjour,

Réponse acceptée = Problème résolu

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
Messages postés
51
Date d'inscription
vendredi 1 juin 2007
Statut
Membre
Dernière intervention
13 octobre 2012

Bonjour,

désolé, mais pas de tout pas encore résolu.
Messages postés
14725
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
22 septembre 2020
144
Bonjour,

Comment initialises-tu ta connexion, comment remplis-tu ton cariére.Adodc2 ?


Tu ne montres pas comment tu initialises cariére.Adodc2, juste comment tu ajoutes une donnée dedans.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
Messages postés
51
Date d'inscription
vendredi 1 juin 2007
Statut
Membre
Dernière intervention
13 octobre 2012

' connexion:




Set MaConn = New ADODB.Connection
MaConn.Provider = "Microsoft.Jet.OLEDB.4.0;"

MaConn.Open "C:\personnel\GCP.mdb"





'remplir la table carriére exemple remplir matricule:





Adodc2.Recordset.AddNew

Adodc2.Recordset!Matricule=Right("0000000000" +_ Trim$(Me.Text5.Text), 10)
                        
                
Messages postés
14725
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
22 septembre 2020
144
Bonjour,

Je reste sur ma question, où assignes-tu Adodc2.Recordset ?

Car dans ton code actuel, je ne vois pas de Set, ou de Open d'un Recordset.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site