IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Couleur sous condition d'un Etat à partir d'une requête analyse croisée [AC-2003]


Sujet :

IHM

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 99
    Points : 42
    Points
    42
    Par défaut Couleur sous condition d'un Etat à partir d'une requête analyse croisée
    Bonjour à tous et à toutes,

    Voilà, j'ai un petit problème car je chercher à utiliser un code couleur sous certaines conditions mais ça ne marche pas.

    J'ai crée un état sous forme de planning dans lequel j'aimerai afficher des couleurs. Cet état provient d'une requête analyse croisée dans laquelle j'ai:

    comme entete de ligne: "Année", "Semaine", "Noms", "Sigles" et "DernierDeHoraire"
    comme entete de colonne: "Jour" (il aparait donc Lu, Ma, Me, ..., Di)
    comme valeur: "Horaire1"

    Le planning est étalé sur 5 semaines.

    J'aimerai afficher une couleur grisée dans les cases vides pour les "Noms" dont le "DernierDeHoraire" est 7-320 et dont le "Sigle" est TECH et afficher une couleur blanche pour les même conditions mais dont le "DernierDeHoraire" est A-320.

    Le problème dans mon code c'est qu'il colorie les cases uniquement en fonction de la première semaine.

    Si par exemple, je choisi d'afficher les semaines 40,41,42,43 et 44 et que la personne est "7-320" alors Access coloriera toutes les autres cases d'une même ligne même si dans la semaine 42 la même personne est "A-320"

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Private Sub Détail_Print(Cancel As Integer, PrintCount As Integer)
    Dim S1 As Variant
    Dim S2 As Variant
    Dim S As Variant
     
    S1 = 40 
    S2 = 44
     
    For S = S1 To S2
     
    If (Me![Semaine] Like S) And (Me![DernierDeHoraire1] Like "7*") And IsNull(Me![A Lu] = True) And (Me![Cigles] Like "*T*") Then
    Me![A Lu].BackColor = 13685711
    ElseIf (Me![DernierDeHoraire1] Like "A*") And IsNull(Me![A Lu] = True) And (Me![Cigles] Like "*T*") Then
    Me![A Lu].BackColor = 16777215
    End If
     
    If (Me![Semaine] Like S) And (Me![DernierDeHoraire1] Like "7*") And IsNull(Me![B Ma] = True) And (Me![Cigles] Like "*T*")  Then
    Me![B Ma].BackColor = 13685711
    ElseIf (Me![DernierDeHoraire1] Like "A*") And IsNull(Me![B Ma] = True) And (Me![Cigles] Like "*T*") Then
    Me![B Ma].BackColor = 16777215
    End If
    .
    .
    .
    .
     
    Next S
     
    End Sub
    Quelqu'un a t-il une solution?
    Merci
    Will

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 348
    Points : 19 593
    Points
    19 593
    Billets dans le blog
    65
    Par défaut
    Salut,

    Cela ne va pas résoudre ton problème, mais il me semble qu'il te faut déjà remplacer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IsNull(Me![A Lu] = True)
    par

    A+

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 99
    Points : 42
    Points
    42
    Par défaut
    Ca n'a entraîné aucun changement :s
    Tu as une idée pour mon problème ?

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 348
    Points : 19 593
    Points
    19 593
    Billets dans le blog
    65
    Par défaut
    Salut,

    Pourquoi tu boucles de la semaine 40 à la semaine 44 sur l'évènement print de la section détail ?

    L'évènement print concerne un enregistrement, une ligne de ton état, donc une semaine précise identifié par le champ Semaine...

    Vérifie ce problème

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 99
    Points : 42
    Points
    42
    Par défaut
    Alors je t'explique comme j'ai procédé:

    J'ai crée un formulaire à partir duquel l'utilisateur rentre sa "Semaine Début" et "Semaine Fin"
    L'état peut afficher uniquement 5 semaines.

    Je clique ensuite sur un bouton pour mettre à jour ma requête pour qu'il sélectionne que les semaines prises en compte.
    Ensuite je clique sur un bouton qui m'ouvre l'Etat.

    Comment faire pour qu'il me grise uniquement les cases où une personne est "7-320" dans "DernierDeHoraire" ?

    Je te joins un Impr Ecran de mon état en mode création pour être plus précis.

    Mon problème étant toujours le fait que si la personne est "7-320" à la "Premeire Semaine" alors Access grisera tous les reste de la ligne en gris meme si à la 2eme semaine il n'est pas "7-320" :/

    En faisant uniquement çà, ca ne marche pas non plus:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    Private Sub Détail_Print(Cancel As Integer, PrintCount As Integer)
     
    If (Me![DernierDeHoraire1] Like "*7*") And IsNull(Me![A Lu] = True) And (Me![Cigles] Like "*T*") Then
    Me![A Lu].BackColor = 13685711
    End If
     
    If (Me![DernierDeHoraire1] Like "*7*") And IsNull(Me![B Ma] = True) And (Me![Cigles] Like "*T*") Then
    Me![B Ma].BackColor = 13685711
    End If
     
    If (Me![DernierDeHoraire1] Like "*7*") And IsNull(Me![C Me] = True) And (Me![Cigles] Like "*T*") Then
    Me![C Me].BackColor = 13685711
    End If
     
    If (Me![DernierDeHoraire1] Like "*7*") And IsNull(Me![D Je] = True) And (Me![Cigles] Like "*T*") Then
    Me![D Je].BackColor = 13685711
    End If
     
    If (Me![DernierDeHoraire1] Like "*7*") And IsNull(Me![E Ve] = True) And (Me![Cigles] Like "*T*") Then
    Me![E Ve].BackColor = 13685711
    End If
     
    If (Me![DernierDeHoraire1] Like "*7*") And IsNull(Me![F Sa] = True) And (Me![Cigles] Like "*T*") Then
    Me![F Sa].BackColor = 13685711
    End If
     
    If (Me![DernierDeHoraire1] Like "*7*") And IsNull(Me![G Di] = True) And (Me![Cigles] Like "*T*") Then
    Me![G Di].BackColor = 13685711
    End If
     
    End Sub
    Je bloque :/
    merci d'avance si tu peux m'éclairer d'avantage
    Images attachées Images attachées  

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 99
    Points : 42
    Points
    42
    Par défaut
    J'ai trouvé la solution héhé!
    Grace a mon Impr Ecran je me suis rendu compte que le contrôle DernierDeHoraire n'etait pas dans la section détail

    Merci User

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] Sous-etat à partir d'une requête croisée dynamique
    Par sig_riviere dans le forum VBA Access
    Réponses: 0
    Dernier message: 22/01/2015, 11h24
  2. [AC-2003] Créer une table à partir d'une requête Analyse croisée
    Par FouJP dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 17/05/2012, 11h46
  3. Réponses: 7
    Dernier message: 04/09/2011, 18h14
  4. [AC-2010] Etat automatique d'une requête analyse croisée
    Par benoit-ema dans le forum IHM
    Réponses: 8
    Dernier message: 03/09/2011, 11h29
  5. [AC-2000] Créer une table à partir d'une requête Analyse croisée
    Par Yokosuma dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 17/06/2009, 15h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo