Trouver un mot dans une datagridview avec ou sans espace

Résolu
germany1970 Messages postés 134 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 22 mars 2014 - 18 juin 2012 à 11:31
 Utilisateur anonyme - 22 juin 2012 à 18:29
Bonjour,
je veux rechercher un mot dans une datagridview en ignorant l'espace, je m'explique

j'ai un nom dans ma datagridview comme ça : EL BAZAR
alors je veux detecter ce nom soit que je cherche par EL BAZAR ou ELBAZAR.

je souhaite étais clair.

merci

24 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
22 juin 2012 à 17:21
mais la prochaine fois ne te mele pas dans des sujets que tu ne maitrise pas.

Celle-là, c'est de loin la meilleure des trois dernières années

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
1
Utilisateur anonyme
18 juin 2012 à 18:08
Bonjour,

Devin ON

Le devin dit d'utiliser la méthode

DataView.Find()


ou la méthode

DataView.FindRows


Ou la méthode

DataTable.select


Ou de bâtir une instruction SQL qui recherche directement dans la table de données d'origine.

Ou de parcourir le DataGridView cellule par cellule avec au moins dex boucles imbriquées.

Le devin est en manque d'inspiration

Devin OFF
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
18 juin 2012 à 22:08
Ouais...
Bonjour à germany et un salut à marcotte,
Un autre devin se dit que doit bien exister, sous VB.Net, l'équivalent de l'opérateur Like de VB6.
(Like "EL*BAZAR repèrerait les deux)


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
germany1970 Messages postés 134 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 22 mars 2014 3
21 juin 2012 à 11:19
Bonjour,

je vous remercie infiniment pour vos réponses, mais je suis toujours bloqué voilà le code de mon filtre :

Me.VersementBindingSource.Filter = "client like '" & Txtclient.Text & "*'"


Txtclient.Text est le champ dans je saisie ma recherche donc dans ce textbox soit je tape ELBAZAR ou EL BAZAR je doit trouver ma recherche.

merci.
0

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

Posez votre question
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
21 juin 2012 à 14:15
 Bonjour le Forum

N'y a-t-il pas en .Net l'équivalent de


MyVar = "   EL    BAZAR   "
MsgBox """" & Replace(MyVar, Space(1), vbNullString) & """"



jean-marc
0
germany1970 Messages postés 134 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 22 mars 2014 3
21 juin 2012 à 17:44
Bonjour,
je suis toujours dans l'attente de votre aide.
0
Utilisateur anonyme
21 juin 2012 à 17:59
Bonjour,


je suis toujours dans l'attente de votre aide.


Comme si c'était une obligation de tout savoir et de donner la réponse à l'heure que tu veux.

Si tu essaies juste "bazar", cela donne quoi ?
0
germany1970 Messages postés 134 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 22 mars 2014 3
21 juin 2012 à 18:38
Bonjour cmarcotte,

alors ma recherche se faite à partir d'un textbox, je donne plus d'éclaircissement:

alors le mot dans ma table est: EL BAZAR (avec espace entre EL et BAZAR)

dans ma textbox quand je tape EL BAZAR le résultat s'affiche correctement
mais quand je tape ELBAZAR (un message aucune résultat trouvé).


voilà.
0
Utilisateur anonyme
21 juin 2012 à 18:51
Bonjour,

Justement, c'est le but de ma question. Si tu mets juste bazar comme recherche, est-ce que tu récupères les deux ?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
21 juin 2012 à 18:59
Tu utilises tout simplement fort mal l'opérateur like !
Il est clair que "EL BAZAR" n'est pas Like "ELBAZAR*" , mais Like "EL*BAZAR"
Pour utiliser Like, il te faut donc d'abord utiliser Split ===>> un array toto ===>> de i = 0 to ubound(toto) ===>> titi = titi & toto(i) & "*"
et ton filtre doit utiliser titi.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
germany1970 Messages postés 134 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 22 mars 2014 3
21 juin 2012 à 19:37
meme avec bazar aucun résultat, je doit saisir EL BAZAR pour obtenir le résultat si non toujours aucun résultat.

je rappel que le filtre se fait dans une datagridiew.

pour UCFOUTU je cherche pas exactement EL BAZAR, mais j'ai bcp d'enregistrements affichés dans ma datagridview et que EL BAZAR est seulement un exemple.
et ma recherche se faite avec un textbox donc votre proposition de "EL*BAZAR" je pense pas très utile pour mon cas.

Merci infiniment.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
21 juin 2012 à 19:49
Tu n'as donc purement et simplement pas compris le sens de mon message. "EL BAZAR" n'était qu'un exemple et il aurait été valable pour toute chaîne (par exemple "dodo la saumure" !
J'en suis désolé. Et j'arrête là !


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
germany1970 Messages postés 134 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 22 mars 2014 3
22 juin 2012 à 11:07
Bonjour UCFOUTU,

qu'est ce que j'ai pas compris, voilà le code de mon filtre:

Me.VersementBindingSource.Filter = "client like '" & Txtclient.Text & "*'"

alors client c'est le nom de la colonne où les noms à rechercher et le Txtclient.Text [color =blue] est mon textbox où je saisie ma recherche.
alors quelque soit le nom entré dans txtclient soit avec espace ou non il doit m'afficher le résultat.

voilà.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
22 juin 2012 à 11:35
Relis donc ma réponse de jeudi 21 juin 2012 à 18:59:03


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
germany1970 Messages postés 134 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 22 mars 2014 3
22 juin 2012 à 11:42
j'ai pas bien compris votre approche c'est pour ça, si tu peux m'expliquer un peut plus clair ça sera un très grand service parce que je suis tout un petit ébutant.

tu es vraiment un des hommes de ce forum que nous pouvons compter sur lui, merci encore.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
22 juin 2012 à 13:30
Ok, mais moi, je ne suis pas VB.Nettiste et tu vas donc devoir faire l'effort de transcrire en VB.Net ce petit test (auto-explicite) que j'écris en VB6 :

Private Sub CommandButton1_Click()
  Dim a_chgercher As String, critere As String
  a_chercher = "EL BAZAR"
  critere = "ELBAZAR"
  If a_chercher Like transcritere(critere) Then MsgBox "oui" Else MsgBox "non"
  critere = "EL BAZAR"
  If a_chercher Like transcritere(critere) Then MsgBox "oui" Else MsgBox "non"
  a_chercher = "ELBAZAR"
  critere = "ELBAZAR"
  If a_chercher Like transcritere(critere) Then MsgBox "oui" Else MsgBox "non"
  critere = "EL BAZAR"
  If a_chercher Like transcritere(critere) Then MsgBox "oui" Else MsgBox "non"
  
End Sub

Private Function transcritere(quoi As String) As String
  quoi = Replace(quoi, " ", "")
  transcritere = Replace(StrConv(quoi, vbUnicode), Chr(0), "*")
End Function


où critere serait le contenu de ta textbox et où a_chercher serait le contenu du champ ===>> tu comprends ?
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
germany1970 Messages postés 134 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 22 mars 2014 3
22 juin 2012 à 16:22
écoute ucfoutu on est pas sur la meme ligne, je t'avais dit que ma recherche n'est pâs exactement EL BAZAR je cherche n'importe quel mot dans la colonne de ma datagridview.

et je dois entré le nom dans ma textbox.

sur la base du texte saisie dans ma textbox le filtre s'exécute dans ma datagridview.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
22 juin 2012 à 16:27
Pas sur la même ligne ?
Tout bien pensé : non, en effet. Tu es manifestement "ailleurs"
Mais moi, je suis sur la bonne
Allez ===>> bonne chance.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
germany1970 Messages postés 134 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 22 mars 2014 3
22 juin 2012 à 16:58
bonnne chance à toi aussi, mais la prochaine fois ne te mele pas dans des sujets que tu ne maitrise pas.
0
Utilisateur anonyme
22 juin 2012 à 17:39
Bonjour,

ucfoutu maîtrise très bien son sujet.

L'exemple qu'il t'a donné plus haut avec Split() consistait à prendre un mot avec une espace (N'importe quel mot avec une espace.) et de remplacer l'espace par l'astérisque. Une fois que cette opération est faite, tu peux bâtir ton critère avec el*bazar, de*hollande, de*Larochefoucauld etc.

Même qu'en VB.net, tu peux faire la même opération avec String.replace

dim nom as string
dim nouveaunom as string
nom = textbox1.text
if nom.contains(" ") then
     nouveaunom = nom.replace(" ","*")
end if
0
Rejoignez-nous