Rechercher : dans
Par :

Message d'avertissement avec access

Dernière réponse le 21 déc 2004 à 11:17:01 Danièle, le 9 déc 2004 à 08:22:00 
 Signaler ce message aux modérateurs

Bonjour,
J'ai une date d'échéance dans mon formulaire access. J'aimerais qu'un mois avant l'échéance de cette date vienne un message d'avertissement ou une couleur rouge dans mon contrôle.Quelqu'un peut-il m'aider? Faut-il ajouter une macro? Merci beaucoup, beaucoup....

Meilleures réponses pour « Message d'avertissement avec access » dans :
Désactiver le Centre de sécurité de Windows XP VoirPréambule Avec le Service Pack 2 (SP2) de Windows XP, est apparu un nouvel outil : le Centre de sécurité. Ce dernier est maintenant présent dans les systèmes d'exploitation Windows XP et Windows Vista. Le SP2 est axé sur l'amélioration de la...
[Outlook] Réponse du serveur : Erreur 554 - Relay Access denied VoirVotre client de messagerie vous affiche l'erreur suivante : Erreur 554 - Relay Access Denied Ce problème est lié à l'utilisation d'un serveur de courrier sortant (serveur SMTP) sur un domaine n'appartenant pas au fournisseur d'accès. En effet, afin...
Access 97 sous XP - Mémoire insuffisante VoirProblème Solution Problème Le message "mémoire insuffisante" apparaît lorsque l'on essaie de lancer Access 97 sous Windows XP suite à l'installation d'Access ou du pack Office 97. Ne changez rien à votre configuration matérielle, le...

1

zenon, le 9 déc 2004 à 09:38:53

Comment est affiché ton formulaire?

En mode simple ou continu?
As-tu un en-tête?

Répondre à zenon

2

Danièle, le 9 déc 2004 à 11:30:43

Merci pour la réponse,
Mon formulaire est en mode simple. L'entête est Fiche patient
A +

Répondre à Danièle

3

zenon, le 9 déc 2004 à 12:27:12

Il y a plusieurs solutions possibles. tout dépend du mode de fonctionnement que tu souhaites.

Tu peux changer la couleur du champ Date à l'ouverture du formulaire mais cela ne fonctionne évidemment que si tu consultes l'enregistrement en cause ou bien vérifier si des enregistrements ont atteint l'échéance et les afficher ensemble. Je pense que cette solution est préférable.

Dans la première solution, on peut ajouter une procédure événementielle à la propriété sur réception focus, par exemple

If Date() - [NomDuContrôleDate] < 30 Then
[NomDuContrôleDate].BackColor = 250
End IF

Répondre à zenon

4

Danièle, le 9 déc 2004 à 13:38:17

Merci,
J'ai donc ajouter la procédure événementielle à la propriété sur réception focus. J'obtiens un message d'erreur: "La macro ou son groupe de macros n'esxite pas ou la macro est nouvelle mais n'a pas été enregistrée. Lorsque vous entrez la syntaxe nomgroupememacro.nommacro dans un argument, vous devez spécifier le nom sous lequel le groupe de macros de la macro a été enregistré la dernière fois....)
Mon contrôle basé sur ma table est un champ date/heure. Est-ce que je dois remplacer NomDuContrôle par le nom de MON contrôle, c'est-à-dire EchéanceTraitement???
Tous les enregistrements qui ont atteint l'échéance devraient être affichés....
Je suis un peu paumée là...

Répondre à Danièle

5

zenon, le 9 déc 2004 à 21:16:46

Je me suis mal expliqué.

J'imagine que tu as tapé directement le texte dans la ligne correspondante des propriétés et access essaie de se référer à une macro.

Il faut cliquer à droite sur les trois petits points et choisir Procédure événementielle.
La fenêtre VB s'ouvre avec le point d'insertion positionné automatiquement sur le ligne où il faut taper le code que je te propose.
Il faut remplacer les termes que j'utilise par le vrai nom de tes propres contrôles. Les crochets ([]) ne sont indispensables que si les noms de tes champs comportent des espaces ou des caractères réservés.
Essaie et tiens-moi au courant. Je n'ai pas testé si l'affichage change au changement d'enregistrement.

Désolé...

Répondre à zenon

6

Danièle, le 10 déc 2004 à 20:15:40

Salut,
J'ai donc placé ta formule sous procédure événementielle, ce qui donne ceci: If Date() - [DateEchéance] < 30 Then
[DateEchéance].BackColor = 250
End IF.
Le problème maintenant, c'est que quand je clique dans le contrôle de mon formulaire, il devient effectivement rouge, mais lorsque je passe à un autre enregistrement, peu importe la date entrée pour EchéanceTraitement, il sont tous rouge.
Réception focus? Pourquoi pas après MJ ou Sur clic?????
On y est presque, courage.
A +

Répondre à Danièle

7

zenon, le 11 déc 2004 à 14:33:51

A nouveau, désolé...

Effectivement il vaut peut-être choisir une autre propriété.

Mais surtout, j'ai oublié une partie du code :

If Date() - [NomDuContrôleDate] < 30 Then
[NomDuContrôleDate].BackColor = 250
Else [NomDuContrôleDate].Backcolor = 16777215 (ou la couleur souhaitée)
End IF

Bon travail.

Répondre à zenon

8

Danièle, le 20 déc 2004 à 11:21:48

Salut,
Non, non, je ne t'ai pas oublié. Mais, il y a beaucoup, voire même un peu trop.
CA MARCHE!!!
Le fait que le contrôle avec une date 2005 vienne rouge aussi provient du fait que nous sommes encore en 2004?
C'est le seul petit inconvénient de la chose. Car mon contrôle avec une date sur l'année 2005 est également rouge. J'ai essayé de même l'horloge de mon ordinateur sur janvier 2005. Mais ça ne marche pas....
Merci encore
Danièle

Répondre à Danièle

9

zenon, le 20 déc 2004 à 16:52:35

Décidément ma distraction ne s'améliore pas...

If Date() - [NomDuContrôleDate] Between 0 AND 30 Then
[NomDuContrôleDate].BackColor = 250
Else [NomDuContrôleDate].Backcolor = 16777215 (ou la couleur souhaitée)
End IF

On y arrivera...

Répondre à zenon

10

Danièle, le 20 déc 2004 à 17:59:30

On y arrivera.... pas
Between n'est pas accepté. La machine demande Goto ou Then.
If Date(): la machine annule les (). Mes dates d'échéance peuvent être n'importe quand...

Répondre à Danièle

11

zenon, le 20 déc 2004 à 23:23:22

Mais si... enfin j'espère!

Sur activation:

If Date - [NomDuContrôleDate] < 30 And Date - [NomDuContrôleDate] > 0 Then
[NomDuContrôleDate].BackColor = 250
Else [NomDuContrôleDate].Backcolor = 16777215 (ou la couleur souhaitée)
End IF
End Sub

Ca marche?

(je ne sais pas pourquoi Between ou Entre ne sont pas acceptés)

Répondre à zenon

12

 Danièle, le 21 déc 2004 à 11:17:01

OUAIS!!!! Super!!!! CA MARCHE!!! Merci beaucoup, beaucoup. Je te souhaite de bonnes fêtes de fin d'année et à bientôt.
Danièle

Répondre à Danièle