cs_MohInfo
Messages postés58Date d'inscriptionmardi 24 avril 2007StatutMembreDernière intervention14 juin 2011
-
16 avril 2010 à 12:45
aminedelphi
Messages postés49Date d'inscriptionsamedi 26 janvier 2008StatutMembreDernière intervention 9 mars 2011
-
9 mars 2011 à 13:16
bonjou/Bonsoir a tous
je veux juste savoire ou se situe le probléme dans ce code
ThWilliam
Messages postés418Date d'inscriptionmardi 3 janvier 2006StatutMembreDernière intervention26 novembre 20134 16 avril 2010 à 18:29
Bonjour.
Tu fais une comparaison entre 2 dates converties en string.
DateToStr renvoie un string avec le format local utilisé --> '16/04/10'.
Ce qui fait que p.ex. '31/01/10' va être considéré comme supérieur à '16/04/10'. (31 > 16)
Il faut convertir la date au format année-mois-jour : soit 'yyyymmdd'.
FormatDateTime('yyyymmdd', DateTimePicker1.Date);
Puisque ton champ DateDinscription est du type caractères, tu dois d'abord le convertir en Date puis le reconvertir en string au bon format.
Pourquoi ne pas employer un champ de type Date ? C'est plus facile pour la comparaison.
cs_MohInfo
Messages postés58Date d'inscriptionmardi 24 avril 2007StatutMembreDernière intervention14 juin 2011 16 avril 2010 à 18:57
merci pour votre réponse
mais comment puis je convertir le champ DateDinscription dans la requéte SQL !!
----
quand je déclare le champ datedinscription de type date il m'affiche le date puis l'heur de coté,
c pour ça j'ai déclarer ce champ de type string puis j'ai met un mask de saisie pour n'accepte que le format date;
ThWilliam
Messages postés418Date d'inscriptionmardi 3 janvier 2006StatutMembreDernière intervention26 novembre 20134 17 avril 2010 à 09:40
Dans ton cas, le plus simple est de déclarer le champ datedinscription de type date.
Je n'ai jamais travaillé avec Ado, mais il doit y avoir un type qui ne prend en compte que la date et pas l'heure.
Sinon, tu formates le champ pour ne pas afficher l'heure.
tadlaoui7amel
Messages postés13Date d'inscriptionsamedi 17 avril 2010StatutMembreDernière intervention18 mai 2010 23 avril 2010 à 15:53
slt.tu peut le faire d'une manière plus facile. tu fait une requête Access avec les tables dont ta besoin.tu utilises deux 'DateTimePicker' avec un message dans un Label "veillez inserez une date entre :" .tu relis un ado table avec la table requte que ta créé. puis tu saisie ce code source dans un bouton 'OK' :
if datetimepicker1.date>datetimepicker2.Date then showmessage('veuillez inserez la date correctement')
else
adotable1.filtered:=true;
c mieux. j'espere que ca t'aidera
cs_MohInfo
Messages postés58Date d'inscriptionmardi 24 avril 2007StatutMembreDernière intervention14 juin 2011 23 avril 2010 à 16:44
merci tadlaoui7amel
mais moi je veux afficher le liste des inscrits entre deus dates distinctes pas dans une seule date
j'ai presque une semaine compléte de recherche de solution mais pas de solution jusqu'a présent
le problème c le type date moi j'ai déclarer le champ dateDinscription de type string puis j'ai mis un mask de saisie au format date jj-mm-aaaa
et je mis le champ de type date il m'affiche l'heure à coté de lui puis le filtrage ne march plus
I'm very tired
merci bien pour votre aide
aminedelphi
Messages postés49Date d'inscriptionsamedi 26 janvier 2008StatutMembreDernière intervention 9 mars 2011 9 mars 2011 à 13:11
pour une date
var
d : String;
begin
d:=FormatDateTime('mm/dd/yy', Calendar1.Date);
ADOQuery1.Active := false ;
ADOQuery1.SQL.Text := 'SELECT * FROM Ma_Table WHERE Ma_date= #'+d+'#';
ADOQuery1.Active := true ;
end;
ou bien pour deux date
var
d1,d2 : String;
begin
d1:=FormatDateTime('mm/dd/yy', Calendar1.Date);
d2:=FormatDateTime('mm/dd/yy', Calendar2.Date);
ADOQuery1.Active := false ;
ADOQuery1.SQL.Text := 'SELECT * FROM Ma_Table WHERE Ma_date between #' + d1 + '# AND #' +d2 + '#';
ADOQuery1.Active := true ;
end;