Intercepter le changement de la date

Résolu
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 - 10 juil. 2007 à 10:13
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 - 10 juil. 2007 à 17:31
Bonjour cher amis,

je veux intercepter le passage au jour suivant pour l'explorer dans mon application (des enregistrements dans une base Access vont être mise à jour).

Des idées ? Merci d'avance

10 réponses

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
10 juil. 2007 à 10:17
Salut,

Je dirais qu'il faudrait faire une comparaison de date, avec la date dans ta base et la date actuelle...Voir aussi du côté de : Datediff

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
3
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
10 juil. 2007 à 16:08
Re bonjour,

Nullement besoin d'utiliser pour celà l'API de Windows !
une toute petite application qui :
- enregistre la date toto de la dernière opération consduite dans un fichier texte
- lit la date système à son ouverture ainsi que le fichier texte qui contient toto
 - compare la date du jour à la date système et calcule (par utilisation de Datediff), le nombre N de jours écoulé
- si N est supérioeur ou égal à ta limite :
     - lance l'opération
     - inscrit la date du jour dans ton fichier texte
     - ferme l'appli.

- de mettre cette application dans le startup de Windows (elle se lancera ainsi à chaque démarrage).

Il est clair que celà t'évitera d'avoir une application "tournant" en permanence, mais à condition de fermer Windows chaque soir, ce qui est en général recommandé pour des raisons de sécurité.
3
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
10 juil. 2007 à 11:12
Bonjour,

ce qui me gêne, c'est l'absence de précision de cette formulation :
"des enregistrements dans une base Access vont être mise à jour"
Sans que l'on sache exactement :
- ce qu'est cette mise à jour
- si elle est faite par l'application en cours ou s'il s'agit d'une opération (à définir) à lancer (une autre application donc... (et on pense alors aux tâches planifiées)...
A préciser, donc...
0
cs_lermite222 Messages postés 492 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 2 juillet 2012 4
10 juil. 2007 à 14:18
bonjour,
Placer un timer sur l'appli avec un delais de 10000 (pour toutes les 10 secondes, ou 60000 pour tester toutes les minutes.)
Déclarer un variable publique, par ex: Date_Old as date (ou as long ou as string)
Quand l'appli est "loadée" mettre Date_Old = date
dans le timer mettre
 if Date_Old < Date then
'Faire les actions souhaitées CF: jfmmarque
 date_old = date
end if
A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_lermite222 Messages postés 492 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 2 juillet 2012 4
10 juil. 2007 à 14:20
sorry pour l'égratignure de ton pseudo  jmfmarques 
A+
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
10 juil. 2007 à 14:38
Bonjour, Lermite,

Pas de problème en ce qui concerne mon pseudo (ce n'est jamais là un souci en ce qui me concerne).
Un souci par contre en ce qui concerne l'action à conduire, car mon petit doigt me dit qu'elle doit peut-être pouvoir être conduite en dehors même de son application.
Qu'entend-il donc par mise à jour des enregistrements dans une base Access ?
Cette mise à jour semblant être à prévoir une fois par jour (changement de date), je n'écarte pas du tout (bien au contraire) une opération lancée depuis une autre application que celle en cours (raison de mon invocation de l'utilisation des tâches planifiées).
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
10 juil. 2007 à 14:52
Salut,

Ah vi ça peut être plus simple de faire :

Démarrer -> panneau de configuration -> Taches planifiés -> Création d'une tache planifié.

On peut faire executer un programme tous les jours à une heure précise.
0
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 19
10 juil. 2007 à 15:36
Salut,

Désolé concernant la clarté de la question (vous avez totalement raison jmfmarques
).





Bon, la mise à jour dont je parle consiste à mettre la valeur 'En
Retard' dans le champ 'Statut' d'un enregistrement de la table
qui stocke les opérations d'emprunts de livres..., si
l'on dépasse la durée accordée (3 jours par défaut). La date de
l'opération et la durée sont stockées aussi...


Vous pouvez bien sûr me fournir milles solutions autres que celle-ci, mais veuillez accepter ma curiosité, et pardonner mon ignorance : Je
pense que le passage d'une date à la suivante entraine une "quelques
chose" (j'ai pensé à un message... ce qui m'oriente vers les API),
comment intercepter cette "quelque chose" alors ?
0
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 19
10 juil. 2007 à 15:44
Comparer une date sauvegardée(dans le registre par exemple...) à la date actuelle est une bonne idée


Exploreur


, mais vue que je débute récemment les API, j'ai voulu juste savoir si mon idée n'est pas totalement imaginaire
0
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 19
10 juil. 2007 à 17:31
Merci infiniment pour vos réponses,

Une idée pro de ta part




jmfmarques
0
Rejoignez-nous