soucis avec dategadget et parsedate

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
cowpowah
Messages : 41
Inscription : mer. 02/juin/2010 12:41

soucis avec dategadget et parsedate

Message par cowpowah »

Bonjour,

J'ai un petit soucis avec les dates:

- je choisi une date avec un dategadget,
- je la stocke dans une base de données sous forme numérique (secondes depuis ../../1970)
- je l'affiche dans un comboboxgadget (format date: ../../....)
- je la repasse en numérique avec parsedate

et là le resultat ne correspond pas à la valeur dans la base de donnée!? Si bien que quand je fais une requete dans ma base, il me manque une entrée (SELECT entre 2 dates)

Apparemment dategadget utilise l'heure en cours et parsedate non...

Une idée de comment gérer ça pour que la selection dans la base de donnees se fasse correctement?

merci.
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: soucis avec dategadget et parsedate

Message par Ar-S »

Bonjour,
Tu veux bien nous donner un bout de code stp ?
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
cowpowah
Messages : 41
Inscription : mer. 02/juin/2010 12:41

Re: soucis avec dategadget et parsedate

Message par cowpowah »

J'ai réglé mon soucis en bidouillant, mais si il y a une méthode plus propre ça m'intéresse.

j'avais ça:

Code : Tout sélectionner

date$=GetGadgetState(#gadget_date1)  ;lecture DateGadget
qui me donnait la date sélectionnée dans #gadget_date1 (exprimé en secondes depuis le 01/01/1970) PLUS l'heure actuelle, ce qui faisait varier la date jusqu'a +86400 secondes en fonction de l'heure. Et ça me causait des soucis au niveau de la sélection dans la base de données...

Remplacé par ça:

Code : Tout sélectionner

datetemp$=FormatDate("%dd/%mm/%yyyy",GetGadgetState(#gadget_date1))      ;formatage date pour enlever les heures/min/secondes
date$=ParseDate("%dd/%mm/%yyyy",datetemp$)                               ;formatage date pour insert BDD
Et plus de soucis, j'ai des dates qui sont des multiple de 86400. Et je peux chercher dans la base de donnees à partir d'un ComboBoxGadget:

Code : Tout sélectionner

depuis$=ParseDate("%dd/%mm/%yyyy",GetGadgetText(#combo_depuis)) ;conversion texte combo --> date (valeur numerique)
...
DatabaseQuery(#BDD, "SELECT * FROM table1 WHERE date>="+depuis$+" ORDER BY date ASC")
:!:
Répondre