VB.Net Requete SQL Recherche un chiffre dans ma BD Access
cs_MagDix
Messages postés531Date d'inscriptionlundi 5 juin 2006StatutMembreDernière intervention 6 octobre 2012
-
17 nov. 2009 à 19:42
cs_MagDix
Messages postés531Date d'inscriptionlundi 5 juin 2006StatutMembreDernière intervention 6 octobre 2012
-
18 nov. 2009 à 04:23
Bonjour
J'utilise Access avec VB.Net 2005
J'utilise un textbox pour faire une recherche de ma BD et les résultats s'affichent dans un DataGridView.
Je n'ai aucun problème pour utiliser cette façon de faire quand c'est du texte mais avec un nombre, ça se complique.
Voici ma requête.
ElseIf cbxRecherche.Text = "Prix" Then
RequeteSQL = "select Paiements.* from Paiements where Prix like %" & txtRecherche.Text & "% "
Ma colonne de ma BD Access est de type monétaire avec 2 chiffres après le décimal.
Si j'inscrit 4 dans mon Textbox je devrais voir tous les résultats qui ont le chiffre 4 dans mon DataGrid mais ca bug lorsque j'arrive sur mon DataAdpater.
cboulas
Messages postés2641Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention 8 janvier 201416 17 nov. 2009 à 20:28
Salut déjà les % sont bien utiliser pour le like mais le like ne s'utilise que sur du texte
Chris...
- La vérité n'est pas ailleurs, elle est sous le nez de chacun, quelques mouvements neuronale permettent de l'entrevoir -
MCPD (webform-winform) / MCSA / MCDST / MCT
cs_dimond
Messages postés21Date d'inscriptionmardi 12 avril 2005StatutMembreDernière intervention17 novembre 2009 17 nov. 2009 à 21:18
Le like marche bien pour les chiffre rien a voir avec le problème. le problème je pense ce trouve dans ta requette, tu concaténe prix avec txtRecherche.Text.
Paiements.* from Paiements where Prix like '%" & txtRecherche.Text & "%'"
essaie ça.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 17 nov. 2009 à 21:30
Salut
Un chiffre (prix) ne peut pas être "Like".
Il ne peut être que inférieur, égal ou supérieur.
Si c'est vraiment le test que tu veux faire (bizarre), il faut demander à SQL de convertir ton chiffre en texte pour pouvoir utiliser Like :
(syntaxe non garantie, c'est l'idée)
Where Convert(VarChar(), Prix) like '%" & txtRecherche.Text & "%'"
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
This SQL statement would return all suppliers whose name is 5 characters long, where the first two characters is 'Sm' and the last two characters is 'th'. For example, it could return suppliers whose name is 'Smith', 'Smyth', 'Smath', 'Smeth', etc.
Here is another example,
SELECT * FROM suppliers
WHERE account_number like '12317_';
You might find that you are looking for an account number, but you only have 5 of the 6 digits. The example above, would retrieve potentially 10 records back (where the missing value could equal anything from 0 to 9). For example, it could return suppliers whose account numbers are:
cs_dimond
Messages postés21Date d'inscriptionmardi 12 avril 2005StatutMembreDernière intervention17 novembre 2009 17 nov. 2009 à 21:58
Le problème viens en fait de la différence de typage entre ton Prix de ta requette select et le txtRecherche.Text de ta clause where. Il faut que les deux soit du même type.