Probleme de condition dans mes requetes, :'( help [RESOLU] !! - SQL/NoSQL - Programmation
Marsh Posté le 30-05-2006 à 11:37:52
ta requête SQL elle ressemble à quoi, car en regardant ton code, ça me donne pas trop envie de déchiffrer le truc.
Sinon je suis persuadé qu'avec la requête on te donnera très vite la solution
Marsh Posté le 30-05-2006 à 11:45:58
ben, c'est du VBasic, mais mon probleme se situe à l'interieur, au niveau SQL ... :s
en gros je souhaite que selon les choix fais sur mon formulaire de gestion téléphonique( choix par date, par poste .... )
j'obtienne des requetes du style ( dans mon cas ici )
SELECT Poste, Service, Duree, Cout_TTC, Numero_Demande, Date FROM CONSOTEL Where CONSOTEL!Duree >= 20 And (CONSOTEL!Date >= #" & Me.txtRechDate & "# AND CONSOTEL!Date <= #" & Me.txtRechDate2 & "# )
txtRechDate et ...Date2 sont des zone de texte de type Date réduit ( 30-mai-2006 )
le probleme est que si je rentre dans ma premiere zone de texte : 01-mai-2006 et dans la seconde : 04-mai-2006
il en sort toute la liste ( 19336 colonnes .... ) au lieux de qq. unes :s alors que le code donne :
SELECT Poste, Service, Duree, Cout_TTC, Numero_Demande, Date FROM CONSOTEL Where CONSOTEL!Duree >= 20 And (CONSOTEL!Date >= #01-mai-2006# AND CONSOTEL!Date <= #04-mai-2006# )
je comprend plus rien merci d'avance et j'espere qu'il y a une solution ://
Marsh Posté le 30-05-2006 à 11:49:40
Utile BETWEEN
WHERE Date BETWEEN #01/05/2006# AND #04/05/2006#
Marsh Posté le 30-05-2006 à 13:44:21
non, toujours le meme probleme j'avais deja tester avec between, je viens de re essayer, et ca me fais le meme probleme
Marsh Posté le 30-05-2006 à 13:50:01
il ne doit pas trouver 01-mai-2006 ni 04-mai-2006
le >= sert à faire une comparaison sur les chiffres pas sur des textes.
Marsh Posté le 30-05-2006 à 13:59:25
justement, je voulais savoir, le type Date est bien considéré comme string ??
mais pourtant, quand je fais ... >= #03/03/2006# and CONSOTEL!Date <= #13/03/2006#
j'obtiens bien l'affichage compris entre ces deux dates ...
c'est pour ca que je saisi pas trop comment il arrive a le faire sur certaines dates et pas d'autres et le ' # ' identifie bien que c'est un type date .....
j'y suis deja depuis de bonnes heures, voir jour lol et quand je reviens sur ce probleme, j'y reste des plombes :s
Merci en tout cas de vos réponses ca m'aide a réfléchir autrement meme si j'ai du mal a comprendre ...
Marsh Posté le 30-05-2006 à 14:42:24
oui mais se sont des chiffres et 01-mai-2006 n'est pas dans le même format. Soit tu converti au bon format, soit tu trouve une autre solution.
Marsh Posté le 30-05-2006 à 15:15:25
pourrais tu m'orienter dans la convertion de format stp ??
car la, je crois que je nage dans le paté depuis hier aprem deja lol
en tout cas, je tenais a te remercier antho1983 pour tes réponses
Marsh Posté le 31-05-2006 à 08:51:04
Je pense que le probleme vient du fait que mes dates sont écrites en francais ... ( 08/01/2006 8 janvier 2006 ) et il les interprete a l'anglaise :s ( 01/08/2006 ) car quand je fais mes condition en écrivant a l'anglaise ... ca marche
maintenant reste a savoir comment transformer une date au format FR en format anglais .... autre probleme lol
Marsh Posté le 31-05-2006 à 09:06:26
regarde du coté de la fonction FORMAT si tu es sous Access, sinon un équivalent pour l'sgbd que tu utilises
Marsh Posté le 31-05-2006 à 09:56:28
2 zones de textes en Date, réduit
Une table avec un champ Date_tel format Date, réduit
je fais une recherche du 01/03/2006 au 04/03/2006 et il l'interprete :
Trier du 03/01/2006 au 03/04/2006 ........
c'est pas logique ... enfin, si les champs de saisie et les champs d'une table sont au meme format, pourquoi il complique la chose ... ??
merci en tout cas antho pour le lien, mais c'est du php la, et jfé un formulaire sous access 2000
Marsh Posté le 31-05-2006 à 11:17:30
[RESOLU] !!!
ca y est, je viens enfin de résoudre mon probleme !!!
:
SQL = SQL & "And (CONSOTEL!Date BETWEEN #" & Format(Me.txtRechDate, "mm/dd/yyyy" ) & "# AND #" & Format(Me.txtRechDate2, "mm/dd/yyyy" ) & "# )"
Merci a tous pour vos aides précieuses
Marsh Posté le 30-05-2006 à 10:24:37
Bonjour a tous, j'ai recour à votre savoir car j'ai un souci avec mon ptit code....
Voila je voudrai inserer une condition "if" au sein meme d'une requete sql.
du genre :
{ je souhaite avancer la date de 2 jours ( a cause du week end ) car sinon , ca m'affiche dans mon Me.lstResultats.RowSource = SQL toutes les dates de l'année et pas uniquement celle que j'ai choisi dans mes txtbox ( txtRechDate et txtRechDate2 ) par contre ce n'est pas tres efficace si un jour férié pointe son nez }
J'espere que vous comprenez mon probleme ...
je n'ai qu'une petite semaine de sql dans les jambes lol et j'aimerai terminer ce projet...
..sauf que je n'arrive pas trouver la solution, d'ailleur je ne sais même pas si c'est possible.
je vous remerci de vos reponses.
A tres vite
.:RavenShadoW:.
Message édité par RavenShadoW1 le 06-06-2006 à 11:27:07