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

VB 6 et antérieur Discussion :

Problème de requete personnalisée


Sujet :

VB 6 et antérieur

  1. #1
    Débutant   Avatar de demando77
    Inscrit en
    Décembre 2007
    Messages
    263
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 263
    Points : 100
    Points
    100
    Par défaut Problème de requete personnalisée
    Slt!
    Je développe en VB 6.0 et j'aimerais créer ue requete du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM MATABLE WHERE nom="papa"
    alors que le mot papa n'est pas le contenu global du champs nom de la BD qui peut être par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "le papa retre très tard"
    .
    Donc à partir d'un mot seulement ou plusieurs, afficher tout les champs dont le contenu contient ce mot ou ces mots.
    Je pense pas que la clause where y peut quelque chose dans cette forme!!!

    Merci

    TM018
    Dans la vie, estimer 3 choses: le courage, la persévérance et l'humilité!!!
    Dans ce forum, ne pas oublier 3 choses: les balises Code, Quote et le Tag Résolu!!!

  2. #2
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Je pense que c'est ce que tu cherches :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM MATABLE WHERE nom LIKE '%PAPA%'
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  3. #3
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Tu peux séparer les mots de ce champ à l'aide d'une fonction Split et construire ta rêquête comme une chaîne de caractère dans une boucle qui parcourt le tableau de String obtenu par la fonction Split.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim requete As String, criteres() As String, i As Integer
    criteres() = Split(TonRecordset.TonChampNom)
    requete = "SELECT * FROM MATABLE WHERE nom="""
    For i = 0 to UBound(criteres) - 1
        requete = requete & criteres(i) & """ or nom="""
    Next i
    requete = requete & criteres(i) & """"

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    zaza ton code ne tient pas compte de combinaisons je pense.

    Non le plus simple c'est encore like et le caractère joker, "%" comme le suggère ohmonbeaubateausurlo ou "*" dans d'autres SGBD etc.

    attention, l'utilisation de like inhibe les indexs éventuels, donc si la table est costaud ça peut avoir un impact critique sur les perfs.

  5. #5
    Débutant   Avatar de demando77
    Inscrit en
    Décembre 2007
    Messages
    263
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 263
    Points : 100
    Points
    100
    Par défaut
    Citation Envoyé par Vld44 Voir le message
    zaza ton code ne tient pas compte de combinaisons je pense.

    Non le plus simple c'est encore like et le caractère joker, "%" comme le suggère ohmonbeaubateausurlo ou "*" dans d'autres SGBDetc.

    attention, l'utilisation de like inhibe les indexs éventuels, donc si la table est costaud ça peut avoir un impact critique sur les perfs.
    Je comprend pas trop ca, mais j'essaye avec like
    Dans la vie, estimer 3 choses: le courage, la persévérance et l'humilité!!!
    Dans ce forum, ne pas oublier 3 choses: les balises Code, Quote et le Tag Résolu!!!

  6. #6
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Le signe "%" est interprété comme un joker, c'est à dire que ta requête sélectionnera tout ce qui comporte "PAPA" par exemple dans le champ qui t'intéresse, quoiqu'il y ait avant ou après puisque je mettais "%PAPA%".
    Si cette explication te semble encore un peu confuse, cherche dans les tutos ou sur Google en tapant "SQL LIKE".
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 35
    Points : 31
    Points
    31
    Par défaut
    Hors sujet : va t-il aussi selectionner barbapapa par exemple avec %papa% ?

    je crois qu'on peut mais je sais plus c'est avec quel symbole

  8. #8
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Citation Envoyé par OhMonBato Voir le message
    ...ta requête sélectionnera tout ce qui comporte "PAPA"...
    Si tu peux répondre à la question "papa" est il contenu dans "barpapa", je pense que tu as la réponse.
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  9. #9
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Oui, oui, t'as raison, vld... faut dire (à ma défence) que je ne bidouille pas souvent dans le SQL (pas assez, malheureusement, les occasions manquent...).

Discussions similaires

  1. Problème de requete select personnalisée
    Par demando77 dans le forum Windows Forms
    Réponses: 10
    Dernier message: 08/06/2008, 21h00
  2. Problème sous requete MySQL
    Par gavelin dans le forum Langage SQL
    Réponses: 3
    Dernier message: 20/07/2004, 10h36
  3. Problème de Requete...
    Par sebiv dans le forum Langage SQL
    Réponses: 6
    Dernier message: 29/04/2004, 16h21
  4. Problème de requete avec Innodb
    Par silef dans le forum Requêtes
    Réponses: 3
    Dernier message: 14/04/2004, 12h54
  5. Problème de requete multis-selections
    Par tripper.dim dans le forum SQL
    Réponses: 9
    Dernier message: 03/09/2003, 13h08

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