VOUDRAIS ALARME SUR REQUETE ACCESS

lahyenne Messages postés 135 Statut Membre -  
 ben 27 -
bonjour a tous

voila j'aurais une petite question a vous poser, sur une requete access j'ai un champs "date" qui correspond a la date de remise a niveau pour une formation, certaine formation doivent etre effectuee tous les ans, comment puis je faire en sorte que passer cette date j'ai un message pour tel ou tel gas qui doit partir en formation, si possible? si oui je dois mettre cette alarme dans le formulaire ou la macro?
merci d'avance

Les goëlans volent bas aujourd'hui, c'est un signe...
a+
lahyenne
A voir également:

10 réponses

Utilisateur anonyme
 
Salut,

Bien le plus simple, c'est de le faire dans ton form.

Un truc du genre :

sub Form_current()

if date_de_formation<=date()

msgbox "blablabla"

end if

end sub()


@+
0
lahyenne Messages postés 135 Statut Membre 1
 
merci enormement HDU
j'applique de ce pas le code et je te tiens au courant
merci encore

Les goëlans volent bas aujourd'hui, c'est un signe...
a+
lahyenne
0
lahyenne Messages postés 135 Statut Membre 1
 
c'est encore moi et j'ai encore une petite question :
je doit ecrire le code sur le bouton qui va appeler ma requete ou dans le formulaire lui meme, je doit etre trop cruche je n'arrive pas a faire fonctionner ton code
merci d'avance

Les goëlans volent bas aujourd'hui, c'est un signe...
a+
lahyenne
0
Utilisateur anonyme
 
Bien tout dépend en fait, détailles un peu plus.

Je pensais que ton form était basé sur une requête, et que pour l'enregistrement courant affiché sur le formulaire, tu voulais qu'il y ait un message qui te dise "attention..........".

Dis exactement ce que tu as, et ce que tu veux faire.

@+
0
zenon Messages postés 729 Statut Membre 180
 
Tout dépend comment tu souhaites que ton appli fonctionne

Il ne me semble pas utile de lier cet avertissement à l'ouverture de ta requête puisque cette dernière va de toute manière te les montrer.

Ce serait plus utile d'être averti sur un formulaire d'accueil.

Tu pourrais créer une étiquette qui ne deviendrait visible que s'il existe des enregistrements dans ta requête (des employés pas en ordre).

Sur ouverture du formulaire:
Sub ...
Echo False 'gèle l'écran en attendant l'exécution du code'
DoCmd.OpenQuery ,"NomDeTaRequête",,"NomDuContrôleDate< Date()-365" 'renvoie les employés pas en ordre'
If IsNull(NomDuContrôleDate) Then
DoCmd.Close,"NomDeTaRequête" 'rien ne se passe'
Else
BoutonDeCommande.Visible= True
DoCmd.Close,"NomDeTaRequête"
End If
Echo True
End Sub

Ca devrait marcher...

Tu peux aussi lier ce code à un bouton de commande qui te permet d'exécuter la requête puis d'imprimer un rappel pour les employés concernés...

N'oublie pas de définir la propriété "Visible" du contrôle ou du bouton sur "non" lors de la création du formulaire.

@+
0

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

Posez votre question
lahyenne Messages postés 135 Statut Membre 1
 
merci les gas
en fait j'ai tout d'abord une requete avec dedans un champs date. dans un formulaire j'ai un bouton qui fait appel a cette requete.cette requete sert a me donner entre autre la date de la dernière remise a niveau de tel ou tel specialite pour chaque personne.les personnes doivent se recycler admettons tous les ans pour cette specialite. j'aurait voulu creer une espece "d'alarme" qui indique a l'utilisateur de ce bouton les nom des personnes qui ont depassé la date pour les recyclages sous forme de msgbox(ce qui va etre dur car une specialite peut avoir jusqu'a 3000 personnes, alors s'il y en 50 qui ne sont pas a jour ca va faire beaucoup de msgbox, mais peut etre que ces noms aurait pu apparaitre en rouge dans le resultat de la requete. je ne sais pas si c'est possible j'espere avoir ete un peu plus clair ce coup ci mais je vous remercie deja beaucoups pour votre temps

merci d'avance
a bientot
lahyenne

Les goëlans volent bas aujourd'hui, c'est un signe...
a+
0
Utilisateur anonyme
 
Ouais, si t'as 300 personnes, vaut mieux créer un état qui t'affichera la liste des personnes non à jour.

Ta requête avec un champ date, elle sert à quoi ??

En fait, ce qu'il faudrait que tu nous dises, c'est la structure de ta base de données, tu dois avoir une table 'employé', as tu également une table 'specialite', une table 'remise a niveau' ?

Et quels qont les champs de ces tables (pas tous, mais uniquement ceux qui vont nous intéresser pour ton pb).

@+
0
lahyenne Messages postés 135 Statut Membre 1
 
exactement j'ai une table individu, table specialite et table niveau. ma requete utilise les champs N°_Individu; Nom_Centre;Code specialite; date(c'est la date d'aquisition de la specialite) et N°_Code et Lib_Code . le bouton permet de consulter la liste des individu qui ont tel ou tel specialite. il faut que les individus fasse des remises a niveau tous les ans pour certaine specialite, tous les 5 ans pour d'autre donc c'est pour ca que j'aurait voulu faire ressortir les gens qui n'etait pas a jour dans les remise a niveau car il n'est pas possible que les utilisatrices de l'application compare les dates une a une pour inscrire les gens qui ne sont pas a jour aux cours de formation
merci d'avance

Les goëlans volent bas aujourd'hui, c'est un signe...
a+
lahyenne
0
Utilisateur anonyme
 
OK, j'y vois déjà + clair !

J'imagine que dans ta table spécialité, tu as un champ 'duree' qui correspond à la durée de validité de chaque spécialité.

Ta requête pour lister toutes les individus dont une (ou plusieurs) spécialité est à remettre à niveau, va être :

SELECT individu.n°_individu, individu.nom_individu,...... niveau.date
FROM specialite RIGHT JOIN (individu LEFT JOIN niveau ON individu.n°_individu = niveau.n°_individu)
ON specialite.code_specialite = niveau.code_specialite)
WHERE datediff ("d",niveau.date,date()) >specialite.duree* 366
 ;



Tiens nous au courant !

@+
0
lahyenne Messages postés 135 Statut Membre 1 > Utilisateur anonyme
 
mercvi HDU
tu vas me trouver bizarre mais je n'ai pas de champs duree ca marcheras quand meme
merci pour votre aide

Les goëlans volent bas aujourd'hui, c'est un signe...
a+
lahyenne
0
Utilisateur anonyme > Utilisateur anonyme
 
T'as pas de champ durée ???

Tu veux différencier comment tes spécialités valables 1 an et celles valables 5 ans ???

En bref, un mec passe sa spécialité en 2002, nous sommes en 2004 : doit-il la repasser ou pas ? Si tu ne connais pas la durée, ça risque de se compliquer, non ??

@+
0
lahyenne Messages postés 135 Statut Membre 1 > Utilisateur anonyme
 
tu as raison ca va poser un serieux probleme
quoiqu'il n'y a que une specialite qui est valable 5 ans toute les autre ne sont valable que un an tu crois que je pourrait quand meme m'en sortir si je met a part la specialite valable 5ans et que meme sans champs duree je pourrait lui faire comprendre qu'elles sont otutes de un ans
merci pour ta patience

Les goëlans volent bas aujourd'hui, c'est un signe...
a+
lahyenne
0
Utilisateur anonyme
 
Y'a pas mal et bon courage.

@+
0
Laurence
 
Bonjour à tous,
J'ai une question :
J'aimerais faire une requete sur access de date à date. je sais qu'on doit y insérer ce genre de signe "<>" mais ma requete ne fonctionne pas. Si quelqu'un peut m'aider ca serait vraiment cool.

Merci par avance,
Laurence
0
zenon Messages postés 729 Statut Membre 180
 
Normalement tu devrais avoir une formule du genre:

SELECT... FROM... WHERE [TonChampDate] BETWEEN [DateDeDébut] AND [DateDeFin];
0
ben 27
 
Bonjour,
je cherche une solution pour créer une alrme sous acces. Je m'explique j'ai une base access dans la quelle sont inscrit des dates butoires et j'aimerais réaliser un systeme en parallele avec l'horloge windows qui pourrait m'avertir par un message quelconque (à l'ouverture de la base par exemple) que je suis a 10 jours de la date butoire. Si vous avez des idées a me soumettre n'hésitez pas merci.
0