Problème requete SQL date between

Résolu
laurentsimon Messages postés 18 Date d'inscription dimanche 20 janvier 2008 Statut Membre Dernière intervention 12 avril 2008 - 20 janv. 2008 à 11:24
laurentsimon Messages postés 18 Date d'inscription dimanche 20 janvier 2008 Statut Membre Dernière intervention 12 avril 2008 - 13 févr. 2008 à 16:53
Bonjour à tous, j'ai un problème sur une requete et je ne trouve pas la solution. J'ai chercher sur le site mais je n'ai pas trouvé la solution...

Cette requete ne retourne rien alors qu'il y a des enregistrements à retourner :

RecTemp.Open ("SELECT TEMP.DATE_OPE, TEMP.SOCIETE, TEMP.ETAT, TEMP.[CLIENT/FRN], TEMP.LIBELLE, TEMP.NUM_FACT, TEMP.DEBIT, TEMP.CREDIT, TEMP.SOLDE " _
                            & " FROM TEMP " _
                            & " WHERE (((TEMP.DATE_OPE) BETWEEN #" & DateDebut & "# AND #" & DateFin & "#)) " _
                            & " ORDER BY TEMP.DATE_OPE, TEMP.SOLDE"), CnnBdd

DateDebut et DateFin sont 2 variables Date nourries par un DTPicker.

Ne n'y comprend plus rien...

Merci beaucoup pour votre aide.

20 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
20 janv. 2008 à 18:17
Salut
(Ouf, enfin une question qui ne porte pas sur les # d'encadrement des dates)

Question : Ton champ "TEMP.DATE_OPE" est-il bien déclaré en type "Date Générale" dans ta DB ?
Question : Quelle format de DB : Access ?
C'est surement dû au fait que les dates stockées sous Access le sont sous le format américain, c'est à dire Mois/Jour/Année
Pour ma part, j'ai résolu le problème en demandant à Access de transformer la date en utilisant DateValue :
Essaye ça :
   & " WHERE [TEMP.DATE_OPE] BETWEEN " & _
                 "DateValue('" & DateDebut & "') AND " & _
                 "DateValue('" & DateFin & "') " _
Tu noteras que DateValue est placé à l'intérieur des " et la fonction sera calculée par Access, pas par ton programme VB.

PS : L'abus de parenthèses est nuisible à la clarté (Jack, tome II, verset 4012)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
laurentsimon Messages postés 18 Date d'inscription dimanche 20 janvier 2008 Statut Membre Dernière intervention 12 avril 2008
29 janv. 2008 à 15:02
J'ai trouvé...

Le type de mes champs numériques de ma BDD Access n'étaient pas bien déclarés.

La solution : Réel Double à 2 décimales...

Allez savoir pourquoi?!
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
20 janv. 2008 à 22:43
encore et toujours les memes erreurs, au moins une fois par jour...
ca devient fatiguant...
le forum dispose d'une fonction de recherche, tu sais ?

Les dates dans les requêtes se formattent ainsi, comme l'a dit Jack
MM/DD/YYYY
0
laurentsimon Messages postés 18 Date d'inscription dimanche 20 janvier 2008 Statut Membre Dernière intervention 12 avril 2008
21 janv. 2008 à 10:34
Merci beaucoup pour ta réponse jack.

En fait j'ai formaté mon champ date dans la base de données en format date agrégée.

Le problème était bien là !

Merci beaucoup.
0

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

Posez votre question
laurentsimon Messages postés 18 Date d'inscription dimanche 20 janvier 2008 Statut Membre Dernière intervention 12 avril 2008
24 janv. 2008 à 19:48
Rebonjour, j'ai un autre petit problème :

dans mon programme, je calcule des soldes de banque avec des écritures bancaires.

Lorsque je le programme calcule, à chaque ligne j'ai des variations de 0,01 ? maximum. Je ne comprends pas. Les valeurs entrées (débit, crédit) sont à 2 décimales.

D'où peut venir le problème? Mes champs de ma BDD doivent être de quel type?

Merci beaucoup de votre aide.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
24 janv. 2008 à 21:49
je mettrais mes variables en Single
pour la bdd, je ne pense pas qu'il y ait 36 solutions
0
laurentsimon Messages postés 18 Date d'inscription dimanche 20 janvier 2008 Statut Membre Dernière intervention 12 avril 2008
24 janv. 2008 à 22:00
Merci pour ta réponse rapide.

Je vais tester demain matin.
0
laurentsimon Messages postés 18 Date d'inscription dimanche 20 janvier 2008 Statut Membre Dernière intervention 12 avril 2008
25 janv. 2008 à 06:42
En single ça ne marche toujours pas.

Je ne sais pas d'ou peut venir le problème.

Ce ne sont pourtant que des additions et soustractions de chiffres à 2 décimales...
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
25 janv. 2008 à 08:48
pourrais tu reexpliquer précisément le soucis que tu as ? (avec du code, peut etre)
0
laurentsimon Messages postés 18 Date d'inscription dimanche 20 janvier 2008 Statut Membre Dernière intervention 12 avril 2008
25 janv. 2008 à 10:32
RecTemp.MoveFirst
While Not RecTemp.EOF
RecVisu.AddNew
RecVisu![SOCIETE] = RecTemp![SOCIETE]
RecVisu![CLIENT/FRN] = RecTemp![CLIENT/FRN]
RecVisu![LIBELLE] = RecTemp![LIBELLE]
RecVisu![NUM_FACT] = RecTemp![NUM_FACT]
RecVisu![CREDIT] = RecTemp![CREDIT]
RecVisu![DEBIT] = RecTemp![DEBIT]
RecVisu![DATE_OPE] = RecTemp![DATE_OPE]
RecVisu![ETAT] = RecTemp![ETAT]
SolSocSelCon = SolSocSelCon + RecTemp![CREDIT] - RecTemp![DEBIT]
RecVisu![Solde] = SolSocSelCon
RecVisu.Update
RecTemp.MoveNext
Wend

La variable SolSocSelcon est définie en sigle (comme tu m'as dis).
Tout le reste est des champs de la base de données Access.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
25 janv. 2008 à 10:34
pas sur que ce soit indispensable de stocker le solde, si ? (ca se recalcule facilement)
0
laurentsimon Messages postés 18 Date d'inscription dimanche 20 janvier 2008 Statut Membre Dernière intervention 12 avril 2008
29 janv. 2008 à 09:25
J'ai toujours le même problème !

On "dirait" que ce phénomène apparaît lorsque mon recordset a un nombre conséquent d'enregistrements...

Je n'y comprend plus rien...
0
laurentsimon Messages postés 18 Date d'inscription dimanche 20 janvier 2008 Statut Membre Dernière intervention 12 avril 2008
29 janv. 2008 à 15:02
Merci tout de même à tous !
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
29 janv. 2008 à 15:13
c'était déclaré comment ?
0
laurentsimon Messages postés 18 Date d'inscription dimanche 20 janvier 2008 Statut Membre Dernière intervention 12 avril 2008
8 févr. 2008 à 13:43
C'était déclaré en réel simple et décimale Auto.

J'ai un autre problème avec cette requête :

RecCon.Open ("SELECT * FROM TRESORERIE WHERE [DATE_OPE] < #" & Date & "# AND [ETAT] = 'P' ORDER BY [SOCIETE], [DATE_OPE]"), CnnBdd

La comparaison ne se fait pas !

J'ai bon tourner...???

Merci.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
8 févr. 2008 à 13:58
YYYY/MM/DD

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
laurentsimon Messages postés 18 Date d'inscription dimanche 20 janvier 2008 Statut Membre Dernière intervention 12 avril 2008
8 févr. 2008 à 14:15
Je dois mettre ma date en format YYY/MM/DD.

C'est ça?
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
8 févr. 2008 à 14:33
essaye, tu seras fixe :p

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
laurentsimon Messages postés 18 Date d'inscription dimanche 20 janvier 2008 Statut Membre Dernière intervention 12 avril 2008
8 févr. 2008 à 14:52
Trouvé !

Merci Renfield.

C'était YYYY/DD/MM...
0
laurentsimon Messages postés 18 Date d'inscription dimanche 20 janvier 2008 Statut Membre Dernière intervention 12 avril 2008
13 févr. 2008 à 16:53
Bonjour,


Je souhaiterai savoir s'il il existe une fonction qui indique qu'un
datagrid a été mis à jour par l'utilisateur (si l'on a modifié un
enregistrement).


Merci.
0
Rejoignez-nous