cs_tgr74
Messages postés23Date d'inscriptionjeudi 22 mars 2007StatutMembreDernière intervention26 août 2009
-
14 août 2008 à 18:26
cs_tgr74
Messages postés23Date d'inscriptionjeudi 22 mars 2007StatutMembreDernière intervention26 août 2009
-
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
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 14 août 2008 à 19:44
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%'))
cs_tgr74
Messages postés23Date d'inscriptionjeudi 22 mars 2007StatutMembreDernière intervention26 août 2009 18 août 2008 à 10:28
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+'%')
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 24 août 2008 à 14:52
...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
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_tgr74
Messages postés23Date d'inscriptionjeudi 22 mars 2007StatutMembreDernière intervention26 août 2009 25 août 2008 à 10:40
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..