ACCESS97 - Mise en forme Conditionnelle

Résolu
Gabof Messages postés 102 Statut Membre -  
Gabof Messages postés 102 Statut Membre -
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.
Configuration: Windows XP
Internet Explorer 6.0

5 réponses

  1. Frappe Misere Messages postés 2702 Statut Membre 568
     
    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
    1. Gabof Messages postés 102 Statut Membre
       
      Yahooooooo !!! Génial, Fantastique...ça marche
      Un grand grand merci

      Comment dois-je faire pour cloturer la discussion
      0
  2. Frappe Misere Messages postés 2702 Statut Membre 568
     
    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
    1. Gabof Messages postés 102 Statut Membre
       
      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
  3. Frappe Misere Messages postés 2702 Statut Membre 568
     
    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
    1. Gabof Messages postés 102 Statut Membre
       
      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
  4. Frappe Misere Messages postés 2702 Statut Membre 568
     
    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
    1. Gabof Messages postés 102 Statut Membre
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Frappe Misere Messages postés 2702 Statut Membre 568
     
    tu inverses les 2 là :)
    0
    1. Gabof Messages postés 102 Statut Membre
       
      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
      1. Gabof Messages postés 102 Statut Membre > Gabof Messages postés 102 Statut Membre
         
        A moins que cela viennent du prefixe Me.
        Que veut dire ce préfixe Me ?
        0