IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

Requête SQL "Mot dans Mot"


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    246
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 246
    Points : 67
    Points
    67
    Par défaut Requête SQL "Mot dans Mot"
    Bonjour,

    Je cherche à extraire d'une table certains mots appartenant à d'autres c'est-à-dire que je voudrais par exemple extraire le mot AVOIR qui viendrait du mot VOIR.
    Donc je recherche des mots inconnus au départ qui sont liés à d'autres.

    Je ne peux pas écrire SELECT MOT LIKE '%VOIR' comme je ne sais pas encore si AVOIR existe.
    Lorsque je fais une boucle pour rechercher ces mots ça prend un temps fou c'est pourquoi j'essayais d'améliorer cette requête.

    En espérant avoir été clair merci de votre aide.

    BB

  2. #2
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    Tu peux utiliser soit une requête parametrée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select MOT Like "*" & [Saisir le mot recherché] & "*" .....
    Bonne continuation
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    246
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 246
    Points : 67
    Points
    67
    Par défaut
    Merci Jeannot,

    À moins que je n'ai pas compris ce que tu proposes mais je ne connais pas encore le mot à saisir en fait.
    Justement je voudrais trouver tous les mots par exemple de 4 lettres dont les 3 dernières lettres correspondent à un mot existant.
    La table comprend donc tous ces mots de 3 et 4 lettres et il faut trouver les 3 lettres inclus dans les 4 lettres.

    ex:
    BAT ABAT
    BEE ABEE
    BER ABER
    FIN AFIN ...

    Un truc un peu du genre: Select * FROM DICO WHERE MOT = 'A' & *

    Cordialement.

    BB

  4. #4
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    Je te joins une petite base exemple.

    Bonne continuation
    Fichiers attachés Fichiers attachés
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    246
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 246
    Points : 67
    Points
    67
    Par défaut
    Bonjour Jeannot,

    Ou alors je ne comprends pas la relation entre ton exemple et mon problème mais en fait je ne connais pas au départ "Saisir Tout ou partie du nom de l'auteur" comme justement je recherche des mots inclus dans d'autres.

    Voilà où j'en suis.

    Cordialement.

    BB

  6. #6
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    En fait l'exemple que je te mets correspond exactement à ce que tu veux réaliser c'est à dire récupérer tout les mots contenant l'expression que tu auras tapée.
    Si tu reprends la requête en mode création tu verras que sous le champ [NomAuteur], dans la zone critère, j'y ai mis un paramètre.
    Ce paramètre se distingue par l'expression [expression]. L'objet de cette expression est d'indiquer à l'utilisateur de la requête quelle type d'info il doit saisir.

    Ainsi le critère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Comme "*" & [Saisir tout ou partie du nom de l'auteur] & "*"
    qui se traduit en SQL par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Like "*" & [Saisir tout ou partie du nom de l'auteur] & "*"
    permet, lors de l'ouverture de la requête, d'ouvrir une boite de dialogue et de demander à l'utilisateur de ne saisir qu'une partie d'un nom d'auteur. La requête retournera comme résultat tous les noms d'auteurs (Dans l'exemple que je t'ai joint) contenant l'expression saisie.
    Ainsi, si tu tapes "AU", la requête te retournes :
    RIMBAUD
    GAUTIER

    Ce qui correspond tout à fait à ce que tu recherche. maintenant, il faut adapter à ton cas précis. Tu remplaces l'expression "Saisir tout ou partie du nom de l'auteur" par une autre qui sera suffisamment explicite pour ton utilisateur lui indiquant le type de d'info qu'il doit saisir. Soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Like "*" & [Met ici ton expression destinée à ton utilisateur] & "*"
    Bonne continuation
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    246
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 246
    Points : 67
    Points
    67
    Par défaut
    Bonjour Jeannot,

    je comprends bien ce que tu fais mais ce que je voudrais faire c'est trouver tous les mots qui appartiennent à d'autres
    comme BAT appartient à ABAT...
    Je ne veux pas saisir de mots à rechercher.
    Cette requête serait peut-être un peu tordue mais pourquoi pas.

    Cordialement.

    BB

  8. #8
    Membre à l'essai
    Homme Profil pro
    Support technico réglementaire
    Inscrit en
    Juin 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Support technico réglementaire
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2013
    Messages : 12
    Points : 24
    Points
    24
    Par défaut
    Bonjour BBouille

    Si je comprends bien, tu dispose d'une table qui contient des mots de 3 et 4 lettres et tu cherches à isoler TOUS les mots de 3 lettres qui figurent intégralement dans les mots de 4 lettres.
    Ai-je bien compris ?

    Si c'est le cas, la solution consiste à écrire une procédure qui parcourra les mots de 3 lettres et identifiera ceux qui sont contenus dans les mots de 4 lettres.
    Confirmes moi que c'est bien ce que tu veux et je te fournirai la procédure qui convient. (joins ta table si tu veux que la routine corresponde EXACTEMENT à ton besoin).

Discussions similaires

  1. Requête SQL (simple) pour remplacer mot
    Par Ninette85 dans le forum Langage SQL
    Réponses: 16
    Dernier message: 17/03/2011, 18h13
  2. [Toutes versions] Requête SQL avec Simples et Doubles Quotes
    Par Roums dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 25/03/2010, 10h00
  3. Avancer mot par mot dans une chaîne
    Par rambc dans le forum Général Python
    Réponses: 18
    Dernier message: 03/05/2009, 20h08
  4. Coiper requête SQL sur BD1 dans TableX de BD2
    Par Mymi dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 14/12/2006, 22h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo