SQ Help...

Signaler
Messages postés
6
Date d'inscription
jeudi 5 décembre 2002
Statut
Membre
Dernière intervention
27 mars 2003
-
Messages postés
73
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
2 octobre 2009
-
J'essaie de creer un generateur de requettes en SQl a partir d'une table definie seulement :

Si j'envoies ce type de requette :

SELECT * FROM rec WHERE (Debit > 10) AND (Credit < 100) AND (Date > 02/12/2002 ) OR (Date < 05/12/2002 ) ORDER BY Date

il m'affiche toute la table sans se soucier de savoir si les dates sont dans les limites imposées ou si les sommes repondent aux criteres.

Pour info : Date est au format texte;
Debit et Credit sont de type double;

La base a été cree avec MS Access 2000;

Voila si quelqu'un a une idee...

4 réponses

Messages postés
214
Date d'inscription
jeudi 21 mars 2002
Statut
Membre
Dernière intervention
14 mai 2004

Mets plus de paranthèses pour que ta requête soit bien correcte :

SELECT * FROM rec WHERE ( (Debit > 10) AND (Credit < 100) ) AND ( (Date > 02/12/2002 ) OR (Date < 05/12/2002 ) ) ORDER BY Date

Mais cela ne marchera sans doute pas puisque ton champs Date est de type Texte, il aurait mieux valut mettre type Date/Heure avec format abrégé car là s'il compare 03/09/2002 avec 02/12/2002, le premier sera supérieur car le code ascii de 3 est supérieure à 2 or le mois de septembre est inférieur. Là sans doute est ton problème. Si tu as la possbilité de modifier le type de ton champ Date, alors fais-le.

PS: il se peut que le mois vienne avant le jour dans une requête pour un champ de type Date

;) Bruto --- Le p'tit belge --- pour vous servir
Messages postés
949
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006

Faut pas mettre des ' ' entre tes dates ?
Messages postés
6
Date d'inscription
jeudi 5 décembre 2002
Statut
Membre
Dernière intervention
27 mars 2003

C'est pas bête les apostrophes. Je vais y penser ...
Quant au champs Date, c'est une solution que j'ai envisagé mais qui me demande une modif du programme mais je crois que je vais y arriver.

Voila et merci pour vos reponses.
Messages postés
73
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
2 octobre 2009

http://multibases.site.voila.fr
'pour les Date 8/1/1996 Mois/Jour/année


SELECT * FROM [rec] WHERE ((([rec].[Debit]) > 10)) And ((([rec].[Credit]) < 100)) And ((([rec].[Date]) Between #8/1/1996# And #8/1/1996#))

[mailto:paul.ablasou@wanadoo.fr mailto:paul.ablasou@wanadoo.fr]