andyajram
Messages postés155Date d'inscriptionvendredi 24 mai 2013StatutMembreDernière intervention 8 avril 2020
-
Modifié le 13 févr. 2018 à 17:18
andyajram
Messages postés155Date d'inscriptionvendredi 24 mai 2013StatutMembreDernière intervention 8 avril 2020
-
13 févr. 2018 à 23:50
Bonjour, j'ai cette requête pour extraire des données
"Select ID as Num_Ordre,Date as Date_Création,Nom,Prenom AS Prénom,Fonction,Societe AS Société, Objet AS Objet_Déplacement,Banque,Point_Cap,Description,Region AS Région,Date_Arr As Date_Arrivée, Date_Ret AS Date_Retour from Fiche_Mission where Date_Arr like '" & TextBox1.Text & "' or Banque like '" & TextBox3.Text & "' or Objet like '" & TextBox4.Text & "' or Point_Cap like '" & TextBox5.Text & "' or Region like '" & TextBox6.Text & "' or Nom like '%" & TextBox2.Text & "%' "
, ensuite je cherche ce que je veux à travers un textbox , les conditions étaient bonne jusqu'a ce que j'ai ajouté
or Nom like '%" & TextBox2.Text & "%'
alors là aucune recherche ne marche a part la recherche par Nom ce que j'ai ajouté a la fin (le but de cette dernière condition c'est que je puisse chercher le nom par juste une lettre ou deux ) , est-ce-que quelqu'un connait comment faire pour garder la recherche par Nom et en même temps que les autres conditions marche aussi ??
Petite remarque : tu devrais ajouter des noms plus explicites à tes champs textes.
Si je comprends ta requête tu cherche soit une fiche mission avec soit la date d'arrivée, soit par la banque soit par l'Objet soit par le point cap soit par région soit par le nom.
Alors qu'arrive t-il si un utilisateur saisi à la fois une date d'arrivée et un nom ?
--
andyajram
Messages postés155Date d'inscriptionvendredi 24 mai 2013StatutMembreDernière intervention 8 avril 20201 13 févr. 2018 à 22:12
Salut, au début j'avais juste deux critères de recherche , la date et le Nom et ça marché bien , après on m'a demandé d'ajouter les autres critères et que la condition sur le Nom soit juste en entrant la première lettre du Nom on doit avoir les noms qui commencent ou qui contienne cette lettre du coup j'ai ajouté le %% pour le nom , et depuis aucun critère de recherche ne marche a part le Nom , pour répondre a ta question qu'est-ce-qui se passe si on entre deux critères a la fois , ça donne un résultat aléatoire ou bien ça applique l'un des critères en déclinant l'autre , maintenant j'ai fais une autre solution au lieu d'un seul bouton recherche , j'ai remplacé chaque label de Textbox par un LinkLabel du coup chaque Link labe je lui ai donné sa requête avec le Where , je sais que c'est pas très joli ni pratique , mais c'est ce que j'ai pu faire jusqu'a maintenant , en attendant d'autres solutions
jordane45
Messages postés37722Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention24 septembre 2023342 13 févr. 2018 à 23:44
Bonjour,
Première chose à savoir : Sur quel SGBD travailles tu ? Sql Server ? Mysql ? Access ? autre ?
Ensuite .. pourquoi ne "construits" tu pas ta requête en fonction des champs remplis ou non?
Par exemple un truc du genre :
condition = ""
requete = "SELECT ID as Num_Ordre,Date as Date_Création,Nom,Prenom AS Prénom,Fonction,Societe AS Société, Objet AS Objet_Déplacement,Banque,Point_Cap,Description,Region AS Région,Date_Arr As Date_Arrivée,
Date_Ret AS Date_Retour
FROM Fiche_Mission
WHERE "
if TextBox1.Text <>"" Then
requete = requete & " Date_Arr ='" & TextBox1.Text & "' "
condition = " OR "
End If
if TextBox3.Text <>"" Then
requete = requete & condition & " Banque ='" & TextBox3.Text & "' "
condition = " OR "
End If
if TextBox4.Text <>"" Then
requete = requete & condition & " Objet ='" & TextBox4.Text & "' "
condition = " OR "
End If
if TextBox5.Text <>"" Then
requete = requete & condition & " Point_Cap ='" & TextBox5.Text & "' "
condition = " OR "
End If
if TextBox6.Text <>"" Then
requete = requete & condition & " Region ='" & TextBox6.Text & "'' "
condition = " OR "
End If
if TextBox2.Text <>"" Then
requete = requete & condition & " Nom like '%" & TextBox2.Text & "%' "
End If
13 févr. 2018 à 22:12