begin process at 2012 05 27 04:32:37
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

Access

 > 

Requêtes

 > 

Requête SQL avec LIKE


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Requête SQL avec LIKE

jeudi 6 septembre 2007 à 09:10:25 | Requête SQL avec LIKE

monaco63

Bonjour,
Je souhaiterais savoir comment faire pour rechercher une partie d'une chaîne de caractères, je m'explique :
je dispose de 2 tables ou il y a des enregistrements (nom, prenom, adresse, etc.)
      - ma 1ère table comprend un enregistrement tel que TOTO pour le nom
      - ma 2ème table comprend un enregistrement tel que M. TOTO pour le nom (c'est la même personne)

quand j'exécute le code ci-dessous :
il ne me trouve pas M. TOTO à cause du M. pour les monsieur, (j'ai également Mlle. Mme.)
je ne peux pas changer la 2ème table pour ceux qui vont me dire enlève M. ou Mme. ou encore Mlle.

Set DB1 = DBEngine(0)(0)
    Set rsNewResponsable = DB1.OpenRecordset("SELECT * FROM PVHT_VH")
    Set rsNewResponsable2 = DB1.OpenRecordset("SELECT * FROM PVHT_RESP")
       
    rsNewResponsable.MoveFirst
    rsNewResponsable2.MoveFirst
   
    'Pour la table PVHT_RESP
    Do Until rsNewResponsable2.EOF
        'Si le champ de la table PVHT_RESP correspond
        If Trim(lsAncienResponsable) = Trim(rsNewResponsable2.FindFirst.Fields("RESPONSABLE")) Then
            rsNewResponsable2.EDIT
            rsNewResponsable2.Fields("RESPONS_SITE") = RESPONSABLE.Text
            rsNewResponsable2.Update
            Exit Do
           
        End If
        rsNewResponsable2.MoveNext
    Loop

J'ai donc voulu changer ma requête intitulée rsNewResponsable2 par celle-ci

Set rsNewResponsable2 = DB1.OpenRecordset("SELECT * FROM PVHT_RESP WHERE RESPONSABLE LIKE ' & %lsAncienResponsable &% '")
Le problème est que mon application plante car il me dit que je n'ai aucun enregistrement en cours.

Si quelqu'un peut m'aider, merci par avance.
jeudi 6 septembre 2007 à 23:00:06 | Re : Requête SQL avec LIKE

nhervagault

Administrateur CodeS-SourceS
salut ta requete semble fausse "SELECT * FROM PVHT_RESP WHERE RESPONSABLE LIKE '%" & lsAncienResponsable & "% '" Cette requete me semble mieux construite?? Attention aux espaces entre ' et % % et " Et lsAncienResponsable ne doit pas appartenir la requete c'est une variable, sinon access cherchera les enregistrements avec lsAncienResponsable comme responsable et c'est normal qu'il en trouvera jamais Tu pourquoi tu ne mettrais pas une colonne calculée a ta table pour gérer ta table. Alter table x add c varchar (50) update x set c= trim(replace(replace(replace(n,'M.',''),'mme',''),'mlle','')) c'est pas sur que ca fonctionne. Normalament pour bien faire tu devrais mettre une foreign key technique et non fonctionnelle. Genre un entier auto incrémenté. Et liée les tables entre elles.
vendredi 7 septembre 2007 à 15:31:02 | Re : Requête SQL avec LIKE

monaco63

Salut, ta requete ne fonctionne pas et elle est identique à la mienne, il me dit que je n'ai pas d'enregistrement.
Mon boss souhaite que je fasse une requete comme ça avec le LIKE.
Peux tu m'aider un peu plus merci

vendredi 7 septembre 2007 à 15:45:50 | Re : Requête SQL avec LIKE

nhervagault

Administrateur CodeS-SourceS
Salut As tu testé la requete dans access dans un premier temps. C'est a dire avec des valeur fixe. Exemple SELECT * FROM PVHT_RESP WHERE RESPONSABLE LIKE '%Truc%' pour monsieur truc Si cette requete ne fonctionne pas il faut voir la cause. Si cette requete fonctionne mais en dur dans ton code Si elle fonctionne alors remplace truc par une valuer que tu effectue en dur Si ca fonctionne alors mais ta variable de fadon dynamique. Il faut y aller par étape, tu ne trouves pas d'ou vient le probleme. Il y a surement une cause, que tu ne vois pas car tu dois etre trop axé sur une mauvaise recherche. Bon courage.
vendredi 7 septembre 2007 à 16:02:40 | Re : Requête SQL avec LIKE

monaco63

J'ai testé ma requête dans ACCESS et elle fonctionne.
Quand je la met dans mon code VB en laissant la valeur en dur cela ne fonctionne plus "aucun enregistrement".
J'ai vu sur un site Internet que si les % ne fonctionnaient pas il fallait les remplacer par des *.
Je vais essayer avec des *
vendredi 7 septembre 2007 à 16:07:48 | Re : Requête SQL avec LIKE

monaco63

Cela ne fonctionne toujours pas meme avec les *.
Je ne vois pas d'ou vient le problème (ça m'énerve)
vendredi 7 septembre 2007 à 16:08:18 | Re : Requête SQL avec LIKE

nhervagault

Administrateur CodeS-SourceS
Réponse acceptée !
Oui, Je crois que tu dois etre sur une bonne piste. http://www.developpez.net/forums/archive/index.php/t-2009.html Ca dépend si tu est en ADO ou en DAO, a apparament c'est tu DAO que tu fais, ca doit daté de 10 ans cette techno. ADO a remplacé depuis VB5 ou VB6 Et meme maintenant c'est ADO.NET Bon courage
mercredi 12 septembre 2007 à 14:09:33 | Re : Requête SQL avec LIKE

monaco63

Réponse acceptée !
C'est bon je viens de trouver la solution à mon petit problème voici la requête SQL correcte :
Set rsNewResponsable2 = DB1.OpenRecordset("SELECT * FROM PVHT_RESP WHERE UCase(RESPONSABLE) LIKE '*" & UCase(lsAncienResponsable) & "*' ")

 Merci pour ton adresse Internet nhervagault


Cette discussion est classée dans : table, db1, resp, rsnewresponsable2, pvht


Répondre à ce message

Sujets en rapport avec ce message

pk particuliere [ par jimmy69 ] Bonjour a tous,Ravi de savoir que le reseaux code sources s'agrandit => tant mieux !Voila j'ai besoin de vous j'ai un p'tit stress !Je suis sous sql s Nom de table !? [ par jimmy69 ] Bonjour a tous,Je suis en train de realiser un p'tit projet en php avec sql serveur 2000 !J'ai une p'tite question a vous poser !je suis en train de c Trigger [ par frop01 ] Salut,J'ai une table Categorie (Code_cat, Libelle) et une autre table sous_categorie (code_scat, code_cat, libelle)Je voudrais créer un déclencheur qu delete et contrainte d'integrite ... [ par jimmy69 ] Bonjour a tous,Voila je dois realiser un projet sous sql serveur et un langage de script web ...j'en suis a l'analyse ...pas facile !bref, je vous exp Procedure exportant une table en excel [ par karn ] Bonjour,est 'il avec possible avec une procedure stocker d'exporter une table au format excel? analyse entite relation [ par jimmy69 ] bonjour a tous,Voila j'ai quelques problemes au sujet de mon analyse ....alors je me tourne vers vous !je vous explique:je dois realiser un intranet p sql serveur et not null [ par jimmy69 ] Bonjour,Je debute sous sql serveur et bon j'ai un stress !J'ai cree une table que voici CREATE TABLE T_personnes ( pktest INTEGER IDENTITY(0,1) NOT probleme de comparaison de table [ par ehmarc ] SalutJe suis sous MySQL voici ma requetejai deux table t1 et t2 qui ont en gros une soixantaine d'entrer chacunneje veut faire ressortir les champ qui if dans une procédure stocké ? [ par jesusonline ] Bonjour, je ne connais pas encore SQLj'ai une table articles qui a un champ ID et je voudrais une fonction stocké qui prend en paramètre un ID et qui REQUETEAJOUT DE TABLE [ par sevajol ] Quelle requete utilié pour obtenir les enregistrement contenus dans 2 table distinctes ( Type et nb de champs identique)ALX34


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,794 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales