Rechercher un mot dans une chaine de caractère contenu dans un champ [Résolu]

cs_tgr74 23 Messages postés jeudi 22 mars 2007Date d'inscription 26 août 2009 Dernière intervention - 14 août 2008 à 18:26 - Dernière réponse : cs_tgr74 23 Messages postés jeudi 22 mars 2007Date d'inscription 26 août 2009 Dernière intervention
- 25 août 2008 à 10:40
Salut à tous,
je sollicite votre aide pour rechercher un mot dans un ensemble de chaine de caractère contenu dans un champ de base de données;
je travail actuellement sur un projet de gestion de contact. Tous les contacts (Table contacts) sont issus d'un évèmenent  (Table evenements) et à chaque évènements est associé un objet_evenement.  je voudrais retrouver un ensemble de contact à partir d'un mot contenu dans la chaine de caractère du champ "objet_evenement".
quelqu'un aurait-il idée sur une requete. j'ai essayer le select like sans succès.
merci d'avance de votre promptitude
TgrSoft
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
cs_cantador 4996 Messages postés dimanche 26 février 2006Date d'inscription 27 mars 2018 Dernière intervention - 14 août 2008 à 19:44
3
Merci
un exemple dans Firebird :

AFFAIRE et DEVIS
qui recherche toutes les affaires qui contiennent les mots
BETONS ou OUVRAGE ou  TUYAU ou  RUE ou TROTTOIR
dans Objet de l'affaire avec le numéro et la date du devis de DEVIS

SELECT
  AFFAIRE.OBJET,
  AFFAIRE.NOAFFAIRE,
  DEVIS.NODEVIS,
  AFFAIRE.DATECREATIONAFFAIRE,
  DEVIS.DATEVISACGAVDP
FROM
  AFFAIRE
  INNER JOIN DEVIS ON (AFFAIRE.CODEAFFAIRE = DEVIS.CODEAFFAIRE)
WHERE
  ((upper(AFFAIRE.OBJET) LIKE '%BETONS%') OR
  (upper(AFFAIRE.OBJET) LIKE '%OUVRAGE%') OR
  (upper(AFFAIRE.OBJET) LIKE '%TUYAU%') OR
  (upper(AFFAIRE.OBJET) LIKE '%RUE%') OR
  (upper(AFFAIRE.OBJET) LIKE '%TROTTOIR%'))
 
ORDER BY
  NOAFFAIRE

cantador

Merci cs_cantador 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de cs_cantador
cs_cantador 4996 Messages postés dimanche 26 février 2006Date d'inscription 27 mars 2018 Dernière intervention - 14 août 2008 à 19:32
0
Merci
bonsoir,
j'ai essayer le select like

C'est effectivement ce qu'il faut faire.
Reste à mettre en place les bonnes jointures et les bonnes syntaxes..

cantador
Commenter la réponse de cs_cantador
cs_tgr74 23 Messages postés jeudi 22 mars 2007Date d'inscription 26 août 2009 Dernière intervention - 18 août 2008 à 10:28
0
Merci
bonjour cantador,


j'ai effectivement essayé le select like, mais le resultat n'est pas celui escompté. Le problème est que le paramètre n'est pas connu à l'avance. voici la requete que j'ai essaye dans l'evenèment onchange(delphi) :


select * FICHIER_ADRESSE a, PERSONNE_EVENEMENT b, TYPE_EVENEMENT c
Where a.ID_PERSONNE=b.ID_PERSONNE
And  c.ID_EVENEMENT=b.ID_EVENEMENT
And OBJET_EVENEMENT LIKE quotestr(EditObjet.text+'%')

Tgr74
Commenter la réponse de cs_tgr74
cs_cantador 4996 Messages postés dimanche 26 février 2006Date d'inscription 27 mars 2018 Dernière intervention - 24 août 2008 à 14:52
0
Merci
...que j'ai essaye dans l'evenèment onchange(delphi)...


l'erreur est ici..

il ne faut surtout pas mettre cette procédure sur un ONCHANGE.
il faut que tu te débrouilles pour la lancer une fois la zone
EditObjet.text entièrement remplie correctement par l'utilisateur.

cantador
Commenter la réponse de cs_cantador
cs_tgr74 23 Messages postés jeudi 22 mars 2007Date d'inscription 26 août 2009 Dernière intervention - 25 août 2008 à 10:40
0
Merci
Après plusieurs reflexion et avec l'exemple de firebird que tu m'as proposé, j'ai eu à remplacer la constante "BETONS" par EditObjet.text  et j'ai ceci :
select * FICHIER_ADRESSE a, PERSONNE_EVENEMENT b, TYPE_EVENEMENT c
Where a.ID_PERSONNE=b.ID_PERSONNE
And  c.ID_EVENEMENT=b.ID_EVENEMENT
And OBJET_EVENEMENT LIKE quotestr('%'+EditObjet.text+'%')

le résulat obtenu m'a donné satisfaction.
merci pour l'aide..

TgrSoft
Commenter la réponse de cs_tgr74

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.