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.
soucis avec dategadget et parsedate
Re: soucis avec dategadget et parsedate
Bonjour,
Tu veux bien nous donner un bout de code stp ?
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
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳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
Re: soucis avec dategadget et parsedate
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:
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:
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:

j'avais ça:
Code : Tout sélectionner
date$=GetGadgetState(#gadget_date1) ;lecture DateGadget
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
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")
