Msflexgrid

Résolu
appolofrance Messages postés 46 Date d'inscription mercredi 8 mai 2002 Statut Membre Dernière intervention 26 mars 2008 - 8 janv. 2008 à 10:53
appolofrance Messages postés 46 Date d'inscription mercredi 8 mai 2002 Statut Membre Dernière intervention 26 mars 2008 - 12 janv. 2008 à 18:59
Bonjour,

Je souhaite trouver une valeur dans une colonne dans un msflexgrid.

Je remplis le msflexgrid via une base access et je fais un premier trie avec rs.filter (ado).
comment puis je faire pour afficher ma valeur "sans recharger"  ! 

Je n' ais pas trouver le code pour effectuer une boucle de recherche dans le msflexgrid

Merci pour votre aide et bonne année !
Paul

appolofrance

13 réponses

appolofrance Messages postés 46 Date d'inscription mercredi 8 mai 2002 Statut Membre Dernière intervention 26 mars 2008 5
12 janv. 2008 à 18:59
Bonjour ,

C 'est  un code qui fonctionne apres avoir effectué un premier trie avec rs.filter , on peut trier le tableau ! ...

Private Sub CmdTrier_Click()
Dim MyCount as integer
Mycount = rs.recordcount

 MSFlexGrid1.Col = 7
 
 For x = 1 To MyCount
 MSFlexGrid1.Row = x
If MSFlexGrid1.Text = TextSearch.Text Then
 MSFlexGrid1.RowPosition(MSFlexGrid1.RowSel) = 1
 End If
 Next x

LabelMessage.Caption = "Trie termine pour :  " & TextSearch.Text
end sub

Courage et bonne lecture ...

appolofrance
3
yourspinner Messages postés 26 Date d'inscription mardi 20 mai 2003 Statut Membre Dernière intervention 22 janvier 2008
8 janv. 2008 à 10:58
Salam,

Est ce que tu connais par avance la colonne dans le Grid??
0
appolofrance Messages postés 46 Date d'inscription mercredi 8 mai 2002 Statut Membre Dernière intervention 26 mars 2008 5
8 janv. 2008 à 11:04
ho déjà une réponse !
Oui c'est la colonne 7

Merci, pour ton aide

appolofrance
0
yourspinner Messages postés 26 Date d'inscription mardi 20 mai 2003 Statut Membre Dernière intervention 22 janvier 2008
8 janv. 2008 à 11:08
Salam,

Tu veux une fonction qui te retourne une valeur Boolean pour te dire si la valeur entrée existe ou pas dans la colonne?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
appolofrance Messages postés 46 Date d'inscription mercredi 8 mai 2002 Statut Membre Dernière intervention 26 mars 2008 5
8 janv. 2008 à 11:25
Bien pensée, reflexion faite, si la methode boulean peut me retrouver les valeurs de ma textsearch.text et les afficher dans ma msflexgrid,  je suis preneur !

Merci,
appolofrance
0
yourspinner Messages postés 26 Date d'inscription mardi 20 mai 2003 Statut Membre Dernière intervention 22 janvier 2008
8 janv. 2008 à 11:31
Attend un peu, on ne s'est pas bien compris tous les deux.

Tu as un msflexgrid et aussi un text dans un textbox. Tu veux savoir si ce texte existe bien dans la colonne 7 de ton msflexgrid.
Donc pour moi, une fonction boolean qui te dira si cette valeur existe bien dans cette colonne suffit.
C'est bien ça ce que tu veux?
0
appolofrance Messages postés 46 Date d'inscription mercredi 8 mai 2002 Statut Membre Dernière intervention 26 mars 2008 5
8 janv. 2008 à 12:01
Ce n'est pas simple dés qu'il sagit d' ecrire les problemes rencontrés surtout en programmation. Je vais essayer d' etre plus explicite.

Apres le remplissage de la msflexgrid , je fais un premier trie de la colonne 2 avec rs.filter. Dans ce tableau j'ai une valeur à retrouver dans la colonne 7.

Si je reprends un rs.filter pour la colonne 7 il me recharge le msflexgrid !

La methode par fonction boolean est correcte mais les resultats ne seront pas affichés dans la msflexgrid.

Merci,
appolofrance
0
yourspinner Messages postés 26 Date d'inscription mardi 20 mai 2003 Statut Membre Dernière intervention 22 janvier 2008
8 janv. 2008 à 12:08
Salam,

D'une part, tu dis que tu souhaites "rechercher" une valeur dans ta colonne 7 de ton msflexgrid et d'autre part tu dis qu'il faut "afficher" dans le même msflexgrid.

Désolé mais je n'ai pas encore compris ce que tu veux faire.
Tu pourrais me donner un ti exemple et comme ça je te serais d'une plus grande aide...
0
appolofrance Messages postés 46 Date d'inscription mercredi 8 mai 2002 Statut Membre Dernière intervention 26 mars 2008 5
8 janv. 2008 à 12:50
Code en cours ...

Private Sub CmdPrenom_Click()
Monrs.Filter = " [Prenom] LIKE '" & Me.TextSearch.Text & "*' "
end sub

j'ai un premier trie, avec ce trie je souhaite retrouver une valeur dans la colonne 7.

Private Sub CmdPrenom_Click()
Monrs.Filter = " [CodePostal] LIKE '" & Me.TextSearch.Text & "' "
end sub

Resultat : Il me recharge depuis la base access (nouveau recordset)

Comment trouver ma valeur sans recharger ?

j'ai  fais des essais avec la propriete row du msflexgrid sans succes.

Merci pour les solutions proposées !



appolofrance
0
yourspinner Messages postés 26 Date d'inscription mardi 20 mai 2003 Statut Membre Dernière intervention 22 janvier 2008
8 janv. 2008 à 13:01
Salam,

alors si j'ai bien compris, disons que ton tableau c'est :

col 1      col2      col3
a               b         c
d               e         e
f               g         h

Tu cherches la valeur h dans la col3, le resultat sera :

col 1      col2      col3

f               g         h

d               e         e
a               b         c

C'est ce que tu veux avoir?
0
appolofrance Messages postés 46 Date d'inscription mercredi 8 mai 2002 Statut Membre Dernière intervention 26 mars 2008 5
8 janv. 2008 à 13:59
Avec les tableaux ,

col 1      col2      col3
a               b         c
d               e         e
j                g         h
a               b         c
d               e         e
f                i          h

La valeur h dans la col3, le resultat sera :

col 1      col2      col3
j                g         h
f                i          h

Voila  on voit mieux ?

Merci

appolofrance
0
antoine_ferard Messages postés 222 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 18 février 2011 3
8 janv. 2008 à 14:26
Ba taka recharger et pi c'est tout !!! :)
Sinon tu fais un algo qui retire la ligne si la valeur recherchée n'apparait pas et qui "remonte" les ligne du dessous. Je pense que "tant que la valeur n'est pas trouvée" tu efface les lignes en gardant le nombre de ligne effacées en variable, et dès que tu trouve une valeur recherchée, alors tu la "remonte" du nombre de lignes gardées dans la variable. Tu vois s'que j'veux dire ou pas ?

''***************************************************************************
...à votre service
Thanks & Peace
Tonio
0
yourspinner Messages postés 26 Date d'inscription mardi 20 mai 2003 Statut Membre Dernière intervention 22 janvier 2008
8 janv. 2008 à 14:51
Salam,

Alors tu peux créer un vecteur as integer où tu stockeras le numéro des lignes qui auront la col3 = 'h'
Puis il suffit de parcourir le grid et puis de supprimer les lignes qui n'appartiennent pas au vecteur.
0