Leader2000
Messages postés184Date d'inscriptionmercredi 24 mai 2006StatutMembreDernière intervention28 août 2015
-
24 juil. 2012 à 10:50
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 2021
-
2 août 2012 à 20:38
Salut!
J'ai avec moi une logique qui fonctionne bien. Mais sortant un tout petit peu de sa marge. Je m'explique:
j'ai deux TDateTimePickers sur mon 'form' ("maDate_system" et "Confirmation_date").
1)
Ma première logique marche bien. Voici ce que j'ai fait:
if maDate_system <= Confirmation_date then
begin
showMessage('Attention: la confirmation de votre date a expiré');
2)
Ma deuxième logique est erronée (elle ne marche pas!). Que veux-je faire?
J'aimerai utiliser un champ "date_confirmee" d'une table dans laquelle il y a differentes dates. Ex: 20.01.2012, 15.05.2012, 07.07.2012
Mon TDateTimePicker placé sur mon "form" appelé "maDate_system" est toujours actualisé dans l'évènement "OnShow" avec ce petit code maDate_system.DateTime:= date();
Et alors, j'essaie de dire si dans ma colonne "date_confirmee" se trouve une date supérieur ou égal à "maDate_system". Affiches-moi ce message 'Attention: la confirmation de votre date a expiré'.
voici mon code erroné qui a besoin d'une correction de votre part:
if qryTS_QS.Filter:='confirmation_date=' +dateTostr(confirmation?TS?QS.Date) = maDate_system.Date then
begin showMessage('Attention: la confirmation de votre date a expiré');
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202113 25 juil. 2012 à 14:54
On ne comprend rien sur la finalité à obtenir.
tu débarques avec ton petit texte tout tremblant et planté
et tu voudrais que l'on comprenne en un clic ta logique..
Il faut d'abord apprendre à bien expliquer les choses et faire en sorte de bien présenter le code.
Déjà, on ne met pas de procédure de filtrage dans un OnActivate :
c'est le pire des endroits !
Quant au reste on ne sait rien..
qui saisit ?
où ?
pour faire quoi ?
messages d'erreurs ?
ça devient énervant à la fin..
Pour un filtre, il le faut d'abord le fermer
le créer
et ensuite l'ouvrir
pierrotk10d
Messages postés110Date d'inscriptionmardi 13 novembre 2007StatutMembreDernière intervention 2 février 20243 24 juil. 2012 à 16:27
Bonjour,
Je ne comprend pas bien le filtre sur qry.... à quoi sert il?. Deuxiemement une fois la condition de filtre établie il faut mettre Filtred à True pour que ça marche.
Pour ma part quand je travaillait je préférait l'évenement OnFilterRecorde.
Pour comparer une date qui se trouve dans une table avec la date du jour (c'est ce que renvoi ton TDateTimePicker maDate_systeme si je ne me trompe) je mettrai dans un événement genre BeforeScroll ou AfterScroll de la table une comparaison de date comme dans ta solution N°1
Pourquoi faire compliqué quand on peut faire simple.
Leader2000
Messages postés184Date d'inscriptionmercredi 24 mai 2006StatutMembreDernière intervention28 août 2015 24 juil. 2012 à 16:50
Oui, c'est vous avez tous raison. Merci pour le conseil.
Mais mon problème est de faire simple bien sur. Mais comment??? J'ai deja fait un pas. J'ai besoin d'aide voilà pourquoi je viens ici...
Au fait, j'ai juste fait une comparaison-filtre (si je peux l'appeler ainsi) avec ma date sistème.
Dire: si ma date sistème est égal ou dépasse une des dates se trouvant dans le champ 'date_confirmee' de ma base de donnéee qu'il affiche: 'Attention: la confirmation de votre date a expiré'' à l'aide d'un showMessage
Developper est une dimension pour moi.
Leader2000
Vous n’avez pas trouvé la réponse que vous recherchez ?
Leader2000
Messages postés184Date d'inscriptionmercredi 24 mai 2006StatutMembreDernière intervention28 août 2015 25 juil. 2012 à 10:54
voici ce que je viens de faire. Mais il ne respecte pas.
Par exemple, si la date se trouvant dans mon TDateTimePicker est superieur à une des dates dans le champ 'confirmation_date'...
Et après avoir fait, il me filtre les donnés qu'il a trouvé (si il en trouve).
Procedure TTS_QS.FormActivate(Sender: TObject);
begin
if date_system.Date > qryTS_QS.FieldByName('confirmation_date').AsDateTime then
qryTS_QS.Filter:= FieldByName('confirmation_date').AsDateTime;
else end then
showMessage('Attention: la confirmation de votre date a expiré');
Leader2000
Messages postés184Date d'inscriptionmercredi 24 mai 2006StatutMembreDernière intervention28 août 2015 25 juil. 2012 à 12:07
Je suis dans un gros pétrin. Cette petite logique m'obstrue d'évoluer. Je ne peux rien faire... parce que le reste de ma prog depends du debloquage venant de votre part. J'arrive pas à évoluer. Prière de porter correction à mes codes s'il vous plait.
Leader2000
Messages postés184Date d'inscriptionmercredi 24 mai 2006StatutMembreDernière intervention28 août 2015 26 juil. 2012 à 08:55
Merci Cantador!
Je reconnais que ma reponse n'a pas été resolu totalement. Sauf en partie. Cela veut dire celle concernant le filtre.
La première question, les codes ont été donnés et j'ai essayé de m'expliquer. Mais apparement j'ai peut être pas été clair.
J'y reviens dans les prochaines minutes avec éclaircissement...
merci,
Developper est une dimension pour moi.
Leader2000
Leader2000
Messages postés184Date d'inscriptionmercredi 24 mai 2006StatutMembreDernière intervention28 août 2015 26 juil. 2012 à 09:45
Je m'explique en quelques mots avec precision.
A commencer, j'ai juste besoin dès l'ouverture de mon 'form', qu'il y est filtrage de deux dates: la date que je considere 'system' representée par un TDateTimePicker (maDate_system) et diverses dates déjà inserées se trouvant dans mon champ 'confirmation_date'. Ok, voici ma petite introduction.
1. J'ai pas mil codes écrits mes grands. C'est juste une seule ligne de code que j'ai mis dans l'evènement: OnShow.
2. voici le code:
if date_system.Date > qryTS_QS.FieldByName('confirmation_date').AsDateTime then
showMessage('Attention: la confirmation de votre date a expiré');
3. Que veux-je dans ce code?
si la date apparaissant dans maDate_system (TDateTimePicker) et supérieur à une des dates se trouvant dans le 'confirmation_date' affiche ce message 'Attention: la confirmation de votre date a expiré'.
Voilà tout. Juste ca. Si c'est pas toujours clair... Je serai certainement l'homme le plus incensé de la planète.