|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Étudiant Inscription : juillet 2011 Messages : 16 ![]() |
Bonjour,
J'ai un petit soucis. Je souhaiterais que lorsque j'ouvre ma base access, un petit message ou un formulaire s'affiche en fonction d'une macro. Je m'explique : J'ai une table où plusieurs dates sont inscrites, par exemple, 20/07/2011, 30/07/2011 et 02/08/2011. Je souhaiterais que lorsque la dernière date de cette table (en l'occurence ici 02/08/2011) dépasse de X jours la date actuelle (lors de l'ouverture de la base) une petite fenetre s'ouvre avec un message à l'interieur, où on clique sur OK et cette fenetre disparait. Est ce qu'il est possible de créer un code, une macro pour réaliser ceci. Dans l'immédiat j'ai uniquement créé une requête qui me dit quel est la date la plus récente de ma table, mais après je ne sais pas comment faire Si quelqu'un peut m'aider, ça serait top ![]() Merci d'avance |
|
|
00
|
|
|
#2 | ||
|
Membre du Club
![]() Étudiant Inscription : juillet 2011 Messages : 47 ![]() |
Bonjour,
Sous access si tu appelles une macro AutoExec elle va s'exécuter à l'ouverture de ton application Access. Sachant que tu peut assigner à cette macro l'action RunCode (en vo) tu vas pouvoir exécuter du code à l'ouverture de ton appli. Tu vas donc pouvoir utiliser un code vba de ce style : Code :
|
||
|
|
00
|
|
|
#3 |
|
Membre actif
![]() Inscription : août 2006 Messages : 239 ![]() |
Hello,
tu peux effectivement passer par ta requête qui va comparer la date du jour avec ta DateX (ta date de référence). Dans une requete cela s'écrit en SQL Ça donnera quelque chose comme : Code :
VerifDate : IIf([DateX] + 7 >Date();"La date est passée de 7 jours";"Date Ok") En un mot si c'est une protection que tu veux faire cela est facilement contournable.
__________________
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici nous avons réuni théorie et pratique: Rien ne fonctionne ... et personne ne sait pourquoi ! Albert Einstein |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Étudiant Inscription : juillet 2011 Messages : 16 ![]() |
Ok dac, je vais essayer avec ces pistes, je vous tiens au courant.
Non c'est pas pour une protection, juste un message de rappel si jamais au bout de 7 jours une tache précise n'a pas été faite EDIT : Bon je vais essayer de partir sur la requête, la première solution j'arrive pas J'ai deja une macro Autoexec, donc à la suite des différentes opérations deja existantes je fais "Executercode", et la lorsque je clique en bas (sur les 3 "petits points") il m'ouvre un générateur d'expression... Alors que je souhaite inscrire du VBA.Par contre pour la requête, il y quelque chose que je dois mal faire, il me dit que la fonction If est non définie. (voir image jointe). Par contre dans le cas de la requête comment faire pour qu'elle s'ouvre au lancement de la base ? |
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Étudiant Inscription : juillet 2011 Messages : 47 ![]() |
On te demande simplement de choisir une fonction (vba) à exécuter.
Bien sûr, cette fonction doit être préalablement écrite dans un module. PS : je n'ai pas regardé ta pièce jointe mais déjà il s'agit de la fonction Iif et non if (if est un mot clé et non une fonction) |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Étudiant Inscription : juillet 2011 Messages : 16 ![]() |
Ah ok, autant pour moi, merci de ton aide, je vais réessayer ça.
Ah pardon, je pensais que c'était une faute de frappe de Seawolf |
|
|
00
|
|
|
#7 |
|
Membre actif
![]() Inscription : août 2006 Messages : 239 ![]() |
il faut que tu mette cela dans le champs, pas dans le critère, tu crée une nouvelle colenne à coté de celle de date et tu tapes le code :
Code :
VerifDate : IIf([DateX] + 7 >Date();"La date est passée de 7 jours";"Date Ok") Mais tu ferais mieux de le renommer. Sinon si tu continue ton développement ensuite sur un formulaire, en VBA, il risque de s'emmeler les pinceaux entre ton champ "Date" et la fonction Date. C'est pour cela que dans mon exemple je l'ai appelé "DateX".
__________________
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici nous avons réuni théorie et pratique: Rien ne fonctionne ... et personne ne sait pourquoi ! Albert Einstein |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Étudiant Inscription : juillet 2011 Messages : 16 ![]() |
Impec Seawolf, me reste plus qu'a réussir à ouvrir le formulaire associé à la requête lors de l'ouverture de la base (dans la macro Autoexec ça devrait pas poser trop de soucis) et ça va le faire, impeccable !
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com