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

Windows Forms Discussion :

[VB.NET]Requete SELECT avec un Like


Sujet :

Windows Forms

  1. #1
    Membre habitué
    Inscrit en
    Novembre 2003
    Messages
    533
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Novembre 2003
    Messages : 533
    Points : 180
    Points
    180
    Par défaut [VB.NET]Requete SELECT avec un Like
    Bonjour,

    J'ai un petit soucis. Lorsque je fais une requete select sur une base de données access, tout fonctionne. Et dès que j'insère un like dans ma requete, il me fait une erreur comme quoi il ne retourne pas d'enregistrement. Or, j'ai controler ma requete dans access et tout fonctionne, il m'affiche correctement le résultat. Alors je vous vraiment pas ce que je pourrait faire.

    Voici le code que j'utilise.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    resultat = requete_base("SELECT Sum(rel_personne_periode.solde_personne_periode) AS somme FROM tbl_plan_roulement INNER JOIN (tbl_categorie_temps INNER JOIN (tbl_periode INNER JOIN rel_personne_periode ON tbl_periode.id_periode = rel_personne_periode.id_periode) ON tbl_categorie_temps.id_categorie_temps = rel_personne_periode.id_categorie_temps) ON tbl_plan_roulement.id_plan_roulement = rel_personne_periode.id_plan_roulement WHERE (tbl_periode.description_periode='" & periode & "') AND (tbl_categorie_temps.description_categorie_temps='SOLHORAI') AND (tbl_plan_roulement.description_plan_roulement LIKE ('A*'))")
    Return resultat.Tables(0).Rows(0).Item(0)
    
    Fonction requete_base
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    PublicFunction requete_base(ByVal requete AsString) As DataSet
    Dim MyAdapter AsNew OleDbDataAdapter
    Dim MyDataSet AsNew DataSet
    Dim commande As OleDbCommand
    Try
    commande = New OleDbCommand(requete, connexion)
    MyAdapter.SelectCommand = commande
    MyDataSet.Clear()
    MyAdapter.Fill(MyDataSet)
    Return MyDataSet
    Catch ex As Exception
    MessageBox.Show("La réception des données de la base de données à échoué." & vbCrLf & vbCrLf & "Erreur : " & ex.Message)
    ReturnNew DataSet
    EndTry
    EndFunction
    
    Merci d'avance pour votre aide

  2. #2
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    à première vue, ça a l'air correct.. c'est bizarre...

    controle bien si ta variable contient bien une donnée...

    et essaie d'enlever les paranthèses... à

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 238
    Points : 269
    Points
    269
    Par défaut
    Le code VB a l'air correct, d'autant plus si il marche sans "LIKE".
    Je pense en revanche qu'il doit falloir enlever les parenthèses autour du 'A*' pour voir si ta requete passe.

  4. #4
    Membre habitué
    Inscrit en
    Novembre 2003
    Messages
    533
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Novembre 2003
    Messages : 533
    Points : 180
    Points
    180
    Par défaut
    Ah ben c'est bon, je viens de trouver la solution. Vraiment trop spécial...

    Alors il faut mettre un % à la place du *

    Voilà, en espérant que ça pourra aider a qqlqu'un d'autre

    Merci quand même pour votre aide.

    Bye

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 68
    Points : 43
    Points
    43
    Par défaut
    J'ai exactement le meme problème que toi, exepter que moi dans mon LIKE j'utilise des '?' (LIKE '??1?'). J'ai essayer de remplacer les '?' par des '#' et sous c# ca ne marche toujours pas, aucun résultat n'est trouvé.

    Alors que sous access les '?' ou les '#' marche correctement tout les deux, et me trouve des enregistrements.

    Qqun a une idée ?

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 25
    Points : 21
    Points
    21
    Par défaut ça vaut bien un merci
    Merci de l'info ça m'a épargné quelques efforts.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requete SELECT avec LIKE et =
    Par yasoft dans le forum Requêtes
    Réponses: 10
    Dernier message: 07/09/2009, 00h46
  2. Réponses: 4
    Dernier message: 20/06/2006, 11h02
  3. probleme requete select avec 2 colonnes
    Par cricri45000 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 21/04/2005, 10h39
  4. requete select avec AS remplacement de valeur
    Par pi3141563 dans le forum Requêtes
    Réponses: 3
    Dernier message: 17/04/2004, 22h15
  5. requete SELECT avec un nombre constant
    Par gurumeditation dans le forum Requêtes
    Réponses: 3
    Dernier message: 04/07/2003, 20h04

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