OVH Cloud OVH Cloud

Recherche dans un champ

6 réponses
Avatar
Jacques \(Be\)
Bonjour,

Je cherc he une fonction qui ferait une recherche d'un ou plusieurs mot
dans un champ texte ou memo d'une table ...

Merci

6 réponses

Avatar
X
Bonjour,

A ta question, réponse pour la recherche dans le champ texte:

dim var_champ_texte as string
dim position as long
dim i as long
'... on charge var_champ_texte
i=1
position = InStr(i, var_champ_texte, "élément recherché", 1)

' si > 0: position = 1er octet de "élément recherché" dans var_champ_texte
' si on fait plusieurs recherches, on boucle en faisant avancer i
' i = position + len(var_champ_texte + 1)
'Et en enregistrant dans une autre varibale les résultats, par exemple...

------
Site logiciels
http://irolog.free.fr
Mail
http://irolog.free.fr/ecrire/index.htm
Site perso
http://irolog.free.fr/joe/index.htm
Principe d'utilisation des news Groups
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm
------------------------------------------------------------------------------------
"Jacques (Be)" a écrit dans le message de news:
eqy2$
Bonjour,

Je cherc he une fonction qui ferait une recherche d'un ou plusieurs mot
dans un champ texte ou memo d'une table ...

Merci




Avatar
Jean-Marc
"Jacques (Be)" a écrit dans le message de
news:eqy2$
Bonjour,

Je cherche une fonction qui ferait une recherche d'un ou plusieurs


mot
dans un champ texte ou memo d'une table ...



Hello Jacques,

Peux tu détailler?

Que doit retourner la fonction:
- un recordset?
- le premier champ?

Quand tu dis un ou plusieurs mots, sont ils reliés par
des ET logiques ou des OU logiques, ou les 2 ?

Besoins en performance? Taille de la base? Estimation
du nombre moyens de résultats?

Peux tu donner un court exemple?

--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
Avatar
Fred
Dans : news:44016e5d$0$29227$,
Jean-Marc disait :
"Jacques (Be)" a écrit dans le message de
news:eqy2$
Bonjour,

Je cherche une fonction qui ferait une recherche d'un ou plusieurs
mot dans un champ texte ou memo d'une table ...



Hello Jacques,

Peux tu détailler?

Que doit retourner la fonction:
- un recordset?
- le premier champ?

Quand tu dis un ou plusieurs mots, sont ils reliés par
des ET logiques ou des OU logiques, ou les 2 ?

Besoins en performance? Taille de la base? Estimation
du nombre moyens de résultats?

Peux tu donner un court exemple?



Hello Jean-Marc,

Il semble s'agir d'une base Access (champ memo).
De mémoire Access ne propose pas de fonctionnalité de recherche plein
texte.
Mais je crois que SQL Express 2005 dispose de cette fonctionnalité. SQL
Server depuis la version 2000 au moins le propose, mais pas au même prix
!
En ce qui concerne d'autres produits gratuits tels que MySql, je ne sais
pas, mais c'est à explorer aussi.

Cela ne remet pas en cause d'autres possibilités de traitement mais qui
seront sans doute assez coûteuses (en temps).

Dans l'hypothèse où j'ai bien interprété la question bien sûr :-)

--
Fred
http://www.cerbermail.com/?3kA6ftaCvT
Avatar
Hervé
Bonsoir Jacques,

Avec le prédicat LIKE dans une instruction SQL :
SQL = "WHERE Mon_Champ_Memo LIKE '%ValeurCharchée%' "
Ceci devrait te retourner le ou les enregistrements contenants le mot
cherché.

Hervé.


"Jacques (Be)" a écrit dans le message de news:
eqy2$
Bonjour,

Je cherc he une fonction qui ferait une recherche d'un ou plusieurs mot
dans un champ texte ou memo d'une table ...

Merci




Avatar
Jacques \(Be\)
Bonjour,

Pour répondre à Jean-Marc, je voudrai sortir un recordset avec les
enregistrements dont le champ memo contient le mot que j'ai recherché.

J'espère avoir été plus clair :-)

Merci

Jacques

"Jean-Marc" a écrit dans le message de
news:44016e5d$0$29227$
"Jacques (Be)" a écrit dans le message de
news:eqy2$
> Bonjour,
>
> Je cherche une fonction qui ferait une recherche d'un ou plusieurs
mot
> dans un champ texte ou memo d'une table ...

Hello Jacques,

Peux tu détailler?

Que doit retourner la fonction:
- un recordset?
- le premier champ?

Quand tu dis un ou plusieurs mots, sont ils reliés par
des ET logiques ou des OU logiques, ou les 2 ?

Besoins en performance? Taille de la base? Estimation
du nombre moyens de résultats?

Peux tu donner un court exemple?

--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;



Avatar
Fred
Dans : news:%23Pu%,
Jacques (Be) disait :
Bonjour,



Bonsoir,

Pour répondre à Jean-Marc, je voudrai sortir un recordset avec les
enregistrements dont le champ memo contient le mot que j'ai recherché.



S'il s'agit d'un seul mot, alors la proposition de Hervé convient tout à
fait.

--
Fred
http://www.cerbermail.com/?3kA6ftaCvT