Forum de discussion
Forum « Programmation ASP » (archives)
Re: Probleme sous ACCESS
Envoyé: 1er septembre 2003, 9h06 par Oznog
Tu va devoir faire une comparaison, entre deux dates, celle où tu a fait le changement (par exemple le 1er août) et la date du jour.
C'est dire que tu dois garder quelque part ton NUMÉRO, destiné à être incrémenté, MAIS aussi la DATE où ce numéro à été remit à zéro. Bon tu as le choix pour garder ces information, dans une variable APPICATION, dans une base de données (comme tweety dit), dans un fichier texte, voir CSV ou dans un XML ou même un cookies à la limite. Pue importe, je te laisse le choix
Ensuite, tu dois choisir comment et où mettre le code de la comparaison.
1. Sur chacune des page du site, c'est fonctionnel, peut être complexe à installer si ton site n'est pas bâti sur des gabarit ou "template". Mais son plus grand défaut est que la comparaison sera exécuté beaucoup troup souvent pour rien.
2. Utiliser le fichier global.asa et le comportement "Session_OnStart", c'est à dire une fois par session. Facile à installer, et fait la comparaison une seule fois par session.
3. Utiliser le fichier global.asa et le comportement "Application_OnStart", c'est à dire à chaque fois que le serveur démare. Facile à installer, et fait la comparaison très rarement. Le problème avec cette méthode est que si ton serveur reste ouvert entre le 25 août au 5 septembre, tu va attendre le 5 septembre avant de remettre ton NUMÉRO à zéro. Faut voir avec l'administrateur de ton serveur. Moi par exemple, le serveur repart 2 fois par jour. C'est donc la meilleurs méthode dans mon cas puisque la comparaison sera faite (exécuté) seulement deux fois par jour, ce qui est emplement suffisant.
Exemple de fichier global.asa (à déposer à la racine (root) du répertoire vrtuelle de ton site.
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Application_OnStart
' Exécuté quand le serveur part
END SUB
SUB Session_OnStart
' exécuté au début de chaque session
END SUB
SUB Session_OnEnd
' exécuté à la fin de chaque session
END SUB
SUB Application_OnEnd
' Exécuté quand le serveur ferme.
END SUB
</SCRIPT>
ATTENTION, si tu utiliser une variable APPLICATION à l'extérieur de la fonction "Application_OnStart" ou "Application_OnEnd", tu dois la barrer ou "locker" afin de t'assurer qu'une seule "session" la manipule. C'est une variable globale...
Application.lock
Application("maVariableGlobale")=...
Application.unlock
Ciao
Oznog
Réponses
|