ACCESS97 - Mise en forme Conditionnelle

Résolu/Fermé
Gabof Messages postés 94 Date d'inscription jeudi 19 janvier 2006 Statut Membre Dernière intervention 16 avril 2014 - 11 mars 2008 à 11:18
Gabof Messages postés 94 Date d'inscription jeudi 19 janvier 2006 Statut Membre Dernière intervention 16 avril 2014 - 12 mars 2008 à 09:05
Bonjour,
Je voudrais mettre une mise en forme conditionnelle dans un etat sous Access97
Je sais que cette option "directe" comme dans Access2000 n'existe pas mais je pense qu'il est possible de passer par le générateur d'expression, mais faut-il encore connaître l'expression à utiliser

Donc qui pourraît m'aider et me donner la formule à écrire et la marche à suivre pour que ma case Date que j'affiche soit rouge lorsque celle-ci est inférieure à la date du jour
Pouvez-vous m'indiquer les 2 commandes pour que soit le TEXTE soit rouge, soit le FOND soit rouge

Merci.

5 réponses

Frappe Misere Messages postés 2677 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 10 août 2011 568
11 mars 2008 à 17:03
non, me c'est la reference à l'objet en cours, içi c'est ton etat.
je crois plutot que ça vient du format date.
essaie ça :

If cdate(Me.date_limite) < Date Then
Me.datelim.ForeColor = 255
else
Me.datelim.ForeColor = 0 'pour etre sur que ça reste noir le reste du temps
endif
1
Gabof Messages postés 94 Date d'inscription jeudi 19 janvier 2006 Statut Membre Dernière intervention 16 avril 2014
12 mars 2008 à 09:05
Yahooooooo !!! Génial, Fantastique...ça marche
Un grand grand merci

Comment dois-je faire pour cloturer la discussion
0
Frappe Misere Messages postés 2677 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 10 août 2011 568
11 mars 2008 à 11:35
Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
Me.Texte0.ForeColor = 255
Me.Texte0.BackColor = 255
End Sub

là la case s'appelle texte0.
à toi d'ajouter la condition.
0
Gabof Messages postés 94 Date d'inscription jeudi 19 janvier 2006 Statut Membre Dernière intervention 16 avril 2014
11 mars 2008 à 13:16
Merci pour la réponse rapide
J'ai quand même 2 questions par rapport à cette expression
1- Où dois écrire cette expression ?
2- Je ne vois pas de termes lié à la date

Peut-être me suis-je mal exprimé
J'ai une date dans un champ (cette date est rentrée dans la base à l'aide d'un formulaire qui représente la fiche d'un produit et correspond à une date limite)
J'ai créé un etat qui reprends certains champs de chaque produit et j'aimerais que cette date s'affiche en rouge lorsqu'elle est inférieure à la date du jour

Merci.
0
Frappe Misere Messages postés 2677 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 10 août 2011 568
11 mars 2008 à 13:35
dans ton etet, tu fais un clix droit dans la partie detail, créer code.
là tu mets ton code en adaptant le mien.
ajoute ta condition et modifie le nom de la case suivant comment tu l as appelée.
0
Gabof Messages postés 94 Date d'inscription jeudi 19 janvier 2006 Statut Membre Dernière intervention 16 avril 2014
11 mars 2008 à 15:05
Ah ! j'avance petit à petit mais c'est pas encore ça, il faut dire que je suis très très novice sur le sujet
Bon j'ai bien trouvé l'emplacement du code et j'ai adapté le code mais toutes les dates sont rouges alors que je ne voudrais avoir en rouge que celles inférieures à la date du jour
Voila mon code
If Me.date_limite < Date Then Me.date_limite.ForeColor = 255

Il me manque peut-être une info au niveau de l'expression "Date" ou bien mon IF Then n'est pas correct
0
Frappe Misere Messages postés 2677 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 10 août 2011 568
11 mars 2008 à 15:09
fais bien la difference entre les appellations : nom de champ, nom de variable, nom de controle...
date limite c'est le nom du champs ou se trouve la donnée dans la table ou le nom du controle dans l'etat ?
le test "if" se fait avec le nom du champ et le then, sur le controle (la zone de texte).
0
Gabof Messages postés 94 Date d'inscription jeudi 19 janvier 2006 Statut Membre Dernière intervention 16 avril 2014
11 mars 2008 à 15:33
Quand je clique sur les propriétés du champ concerné
Le nom "Nom" était le même que le nom "source de contrôle" à savoir "date_limite"
J'ai donc modifié le nom "Nom" en "datelim"
et j'ai mis dans ma ligne de code : If Me.datelim <= Date Then Me.date_limite.ForeColor = 255
Mais là il n'y a plus rien qui fonctionne, le système m'indique une erreur de compilation
0

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

Posez votre question
Frappe Misere Messages postés 2677 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 10 août 2011 568
11 mars 2008 à 15:36
tu inverses les 2 là :)
0
Gabof Messages postés 94 Date d'inscription jeudi 19 janvier 2006 Statut Membre Dernière intervention 16 avril 2014
11 mars 2008 à 16:06
Voila ma nouvelle ligne de code : If Me.date_limite < Date Then Me.datelim.ForeColor = 255
Je n'ai plus d'erreur mais les dates sont toutes en rouge
donc pas de changement
0
Gabof Messages postés 94 Date d'inscription jeudi 19 janvier 2006 Statut Membre Dernière intervention 16 avril 2014 > Gabof Messages postés 94 Date d'inscription jeudi 19 janvier 2006 Statut Membre Dernière intervention 16 avril 2014
11 mars 2008 à 16:50
A moins que cela viennent du prefixe Me.
Que veut dire ce préfixe Me ?
0