pulpul74
Messages postés77Date d'inscriptionjeudi 11 octobre 2007StatutMembreDernière intervention27 septembre 2010
-
1 févr. 2008 à 10:53
pulpul74
Messages postés77Date d'inscriptionjeudi 11 octobre 2007StatutMembreDernière intervention27 septembre 2010
-
5 févr. 2008 à 09:05
Bonjour.
Je fais actuellement un projet de gestion d'une base de donnée. Dans ce programme, j'affiche le nom d'élément sortie ou rentré suivant une date précise, que l'utilisateur peut choisir. Jusqu'a aujourd'hui (01/02/2008), tou marchait bien, les objets s'affichaient bien, mais aujourd'hui.... j'ai un tas de bug...
voici mon code:
date_ref = DateAdd("m", -(mois), Date)'calcul de la date repère, on remonte le temps suivant le nombre de mois choisit par l'utilisateur
str_SQL "SELECT Nom_objet.Nom, Statut.N°, Statut.Statut, Statut.Date_rentree, Statut.Date_sortie FROM Nom_objet INNER JOIN Statut ON Nom_objet.N° Statut.N° Where (((Statut.Statut) = " & stat & ") And ((" & date_aprendrencompte & ") <= #" & date_ref & "#)) ORDER BY " & str_tri
Impression.Data1.RecordSource = str_SQL
Impression.Data1.Refresh
bon stat est le statut choisit par l'utilisateur (rentré, sortie ou perdu),date_aprendrencompte c'est quelle date de la base de donnée on compare (celle de sortie ou de rentré de l'objet), et la date_ref est la date de comparaison que l'utilisateur choisit.
Que je rentre n'importe quelle date, il y a des objets qui ne s'afficheront pas, alors qu'il le devrait. Dans Access directement, ca marche, mais pas là. Que faire?
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 4 févr. 2008 à 15:09
Salut,
A mon avis il faut revoir ta méthode de calcul.
date_ref = DateAdd("m", -(mois), Date)'calcul de la date repère
le problème se situe probablement là.
Essaies d' appliquer, sur le papier, cette formule à des exemples concrets.
<hr />
... Il y' en a même qui m' ont vu voler.
<hr />
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 1 févr. 2008 à 14:49
Bonjour ,
As_ tu regardé dans quel format sont enregistrées les dates dans Access.En "DD/MM/YYYY" ou en "MM/DD/YYYY" ?
En tout cas voici comment moi je compare mes dates :
Je transforme la date en String en concaténant dans un format précis,l' année puis le mois
puis le jour.
pulpul74
Messages postés77Date d'inscriptionjeudi 11 octobre 2007StatutMembreDernière intervention27 septembre 2010 1 févr. 2008 à 15:01
Le format est bien en JJ/MM/AAAA.
Par contre moi je me demande si ce n'est pas un problème avec le mois de février 2008, vu qu'on est en bissextile ou autre... Parce que quand je change la date systeme et que je met une date avant celle d'aujourd'hui, tout marche bien; qd je met une date supèrieur à aujourd'hui, dés que mon champ de recherche dans mon programme arrive au mois de février 2008, bug!
Alors je sais pas comment faire, d'autant que comme je l'ai dit, dans Access directement, ca marche...
LIBRE_MAX
Messages postés1402Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 7 octobre 20126 1 févr. 2008 à 15:13
Si les dates antérieures sont enregistrées et validées,
c' est qu 'i n' y a pas de 29/02/2007. par exemple.
Si tu entres 29/02/2008 , la date est balide.
De plus 01/02/... est correcte indépendement de l' année.
<hr />
... Il y' en a même qui m' ont vu voler.
<hr />
Vous n’avez pas trouvé la réponse que vous recherchez ?
pulpul74
Messages postés77Date d'inscriptionjeudi 11 octobre 2007StatutMembreDernière intervention27 septembre 2010 1 févr. 2008 à 16:41
Lorsque je fait un deboggage, la date de comparaison est bien 01/02/2008. Le problème ce montre aussi si je fait un recul de + de 1mois, la date de comparaison est valide, mais je n'ai aucun obet dans la base créé. quand je recul de 1 mois, c'est bon, mais ensuite quand je compare avec la date d'aujourd'hui, ba il ne me trouve plus rien.
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 2 févr. 2008 à 14:03
salut,
à tout hasard...
la base sur laquelle tu travailles n'est pas nommée en fonction du mois?
genre tu vérifies actuellement une base de janvier alors que c'est férvrier, base non créée, trop de "on error resume next" pour le voir ?
il faudrait isoler ce qui a changé (pc ?) depuis ta dernière utilisation...
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
pulpul74
Messages postés77Date d'inscriptionjeudi 11 octobre 2007StatutMembreDernière intervention27 septembre 2010 4 févr. 2008 à 08:48
Je vais tester ta méthode Libre_max.
Sinon pour répondre à tes question PCPT, la base n'est pas nommé par rapport aux mois, et le pc sur lequel je travaille n'a pas changer, j'ai essayer de le tester chez moi mais j'ai un problème de "pilote ISAM introuvable",docn faut que je règle ca. Je vous tiens au courant
pulpul74
Messages postés77Date d'inscriptionjeudi 11 octobre 2007StatutMembreDernière intervention27 septembre 2010 4 févr. 2008 à 11:01
Bon pour tes méthode Libre_max, ca n'a pas marché, ca me fait la même chose.
Je n'arrive pas vraiment à comprendre le truc, si j'appelle une requete qui prend les objet ayant une date infèrieur au 04/12/2007, il me renvoit rien (sachant que j'ai des objets datés du 06/2007 par exemple), et si je revient de seulement 1 mois (04/01/2008 donc) il me renvoit tous les objets, sachant que certains sont daté du 01/02/2008.... j'y comprend rien....
Alors je me pose des questions: j'ai 6 objets data sur différente form, elle tape toute dans la base de donné, pourraient-elles interférer les unes avec les autres? mais ca me parait bizard, car le problème est le même quel que soit la situation, et le problème est survenue d'un coup.
autre question: le fait que mes date dans ma BDD soit au format date/heure est il important, je compare dans ma requete avec une variable string(mais si je change en date, le problème persiste)?
pulpul74
Messages postés77Date d'inscriptionjeudi 11 octobre 2007StatutMembreDernière intervention27 septembre 2010 5 févr. 2008 à 09:05
Bon ok mon problème vient bien de là!!!
Non pas que date_ref soit mal orthographié (aujourd'hui, j'ai bien 05/02/2008), mais dans ma requête, il ne compare que le mois et l'année. Par exemple, si je rentre "05/02/2008" dans date_ref, il me donne toutes les dates infèrieur au 05/2008!
Alors comment changer le format(pourtant il m'avait l'air bon), ou est ce que ca vient de ma requete tout simplement?
Ce que je comprend pas, c'est que avant tout marché bien, et maintenant ba ca bug... peut etre parce que j'avais des dates >12 (comme le 25/01/2008), donc comme le jour était invalide pour lui (elle ne correspond à aucun mois), il me prennais bien le mois.