VB.Net Acces Requête SQL problème de " ?

Résolu
cs_MagDix Messages postés 532 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 - 28 nov. 2009 à 02:21
cs_MagDix Messages postés 532 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 - 28 nov. 2009 à 20:18
Bonjour à tous...

J'utilise une requête SQL qui fonctionne très bien pour l'enssemble de ma bd

"Select * from Paiements Where Prix between " & txtRecherche.Text & "  And  " & txtRecherche2.Text & " "


J'aimerais utiliser cette même rerquête mais en sélectionnant tout les cellules vides d'une colonne avec la requête plus haut... Mais je n'y arrive....
Si quelqu'un peu me dire qu'est ce que je ne fait de pas correcte...


"select * from Paiements where Numero is null  AND between " & txtRecherche.Text & "  And  " & txtRecherche2.Text & " "

merci à vous

8 réponses

cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
28 nov. 2009 à 16:00
MagDix,

Ta requette (selon ton projet) devrait être :

select * from Paiements where (Numero is null OR Numero = '') AND (Prix between ... and ...)

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
3
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
28 nov. 2009 à 09:48
Salut,

Dans ta table, Numéro n'est pas forcément Null, il faut donc aussi tester si Numéro est = à ''



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
0
vblover Messages postés 57 Date d'inscription mardi 25 février 2003 Statut Membre Dernière intervention 27 janvier 2011
28 nov. 2009 à 11:53
select * from Paiements where Numero is < 0 OR Numero >=" & txtRecherche.Text & " And Numero <= " & txtRecherche2.Text


La logique est que dbnull ou blanc ont un code asci inferieur au code asci du zero (48)


vblover
0
cs_MagDix Messages postés 532 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
28 nov. 2009 à 12:49
bonjour à vous deux...

J'aimerais comprendre car là je suis perdu héhéhé

cboulas
Pourquoi si j'utilise un bouton checkbox pour faire afficher que les lignes de ma BD (dans mon datagridview) ou Numero (colonne de texte) vaut Null et tout est OK. Ca fonctionne très bien.

Maintenant que je veux utiliser un between pour un autre colonne (Colonne Prix) alors le Null ne fonctionne plus vraiment pour la colonne Numero.

Merci

vblover
Selon moi, ta requête me semble pas correct car je veux faire afficher toute les valeurs dans mon datagridview qui, à la colonne Numero est Null et toutes les valeurs (Prix) qui se situent entre X et Y
Si ta requête est OK

J'attends de vos nouvelles. Merci de votre aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vblover Messages postés 57 Date d'inscription mardi 25 février 2003 Statut Membre Dernière intervention 27 janvier 2011
28 nov. 2009 à 13:54
Bon j'ai suppose que tu travaillais avec une seule colone (champ). Avec deux champs la requete devient:

select * from Paiements where Numero is < 0 and Prix >=" & txtRecherche.Text & " And Prix <= " & txtRecherche2.Text

tu peux rendre la requete encore plus lisible (humainement parlant) en introduisant une paire de parentheses comme suit:

select * from Paiements where Numero is < 0 and (Prix >=" & txtRecherche.Text & " And Prix <= " & txtRecherche2.Text & ")"


vblover
0
cs_MagDix Messages postés 532 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
28 nov. 2009 à 14:13
vblover
Rebonjour la colonne Numero est en texte. Je ne veux pas faire de < et > c'est du texte.
cette colonne contient un numero de confirmation qui ressemble à cela 1234-5678.

Ma colonne Prix est du Numérique

Je veux faire apparaitre les colonne qui n'on pas de numéro (donc pas de numéro de confirmation) et de faire afficher les ligne qui ont un prix se situant entre X et Y

Regrade ma requête qui ne fonctionne pas mais qui est ce que je veux faire

"select * from Paiements where Numero is null  AND between " & txtRecherche.Text & "  And  " & txtRecherche2.Text & " "


En espérant avoir été plus claire....
0
vblover Messages postés 57 Date d'inscription mardi 25 février 2003 Statut Membre Dernière intervention 27 janvier 2011
28 nov. 2009 à 14:49
En tous cas il me semble que ta requete est fausse car il manque le nom du champ prix

select * from paiements where numero is null and prix between txtrecherche.text and txtrecherche2.text

Maintenant la facon dont tu poses ta question me pose probleme veux tu selectionner les lignes qui ont en meme temps le champ numero null (ou vide) et la valeur du prix incluse entre les valeurs txtrecherche.text et txtrecherche2.text?
vblover
0
cs_MagDix Messages postés 532 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
28 nov. 2009 à 20:18
J'ai la réponse

"select * from Paiements where Numero is null AND Prix between " & txtRecherche.Text & " And " & txtRecherche2.Text & " "


merci d'avoir essayé
0