2009-11-04 3 views
1

J'ai créé deux rapports dans Access 2007 qui sont pratiquement identiques à l'exception de la source de données. Dans les deux, je l'ai mis en place la mise en forme conditionnelle sur un champ pour faire la police en italique lorsqueMise en forme conditionnelle dans Access 2007 Rapport

Expression is [Status]="Holding" 

Dans un des rapports, la mise en forme conditionnelle est appliquée et dans l'autre il n'est pas. J'ai même essayé de le définir à

Expression is [Status]=[Status] 

mais le formatage conditionnel n'est toujours pas appliqué. Des idées sur ce qui ne va pas?

+0

est-ce que cela doit être enveloppé entre parenthèses? –

+0

Si cela fonctionne dans l'un et pas dans l'autre, êtes-vous sûr que l'autre source de données a des valeurs "Holding"? Pouvez-vous tester cela. – CaRDiaK

+0

@Pace Oui, les deux sources de données ont "Holding" en elles. Lorsque je crée une requête qui filtre les lignes avec [Status] = "Holding", plusieurs lignes sont renvoyées. –

Répondre

1

J'ai effacé le formatage conditionnel de toutes les zones de texte où il a été défini. Je puis de nouveau définir le formatage conditionnel à

Expression is [Status]="Holding" 

Cette fois, cela a fonctionné! Très étrange, mais au moins ça marche maintenant.

+0

Si vous copiez la mise en forme conditionnelle du formulaire Status = "Holding", cela fonctionnera dans l'original, mais sera remplacé par "Status" = "Holding" dans la destination à laquelle vous copiez. Vous devez mettre explicitement entre crochets les références champ/contrôle. J'ai appris cela la semaine dernière, car je n'ai pas beaucoup utilisé le formatage conditionnel. Je pense honnêtement que c'est une jolie fonctionnalité à moitié cuite qui doit être révisée pour être aussi utile qu'elle devrait l'être. Les problèmes de peinture d'écran sont également assez ennuyeux et peu professionnel, mais, malheureusement, c'est la seule façon d'accomplir certaines choses. –

0

Je trouve cet extrait utile sur le Office website:

Avant de commencer Lorsque vous utilisez une expression pour appliquer la mise en forme conditionnelle, vous devez vous assurer que> les contrôles étant formatés ne pas utiliser le même noms comme l'un des champs de l'enregistrement sous-jacent du formulaire ou du rapport source . Si vous faites référence à un champ dans une expression et qu'il existe un contrôle par le même nom sur le formulaire ou le rapport, Access ne peut pas déterminer si vous faites référence au contrôle ou au champ. Pour cette raison, Access ne peut pas évaluer l'expression. Par conséquent, la mise en forme conditionnelle n'est pas appliquée et le contrôle apparaît avec sa mise en forme par défaut. Chaque fois que vous ajoutez des expressions à un formulaire ou un rapport , il est très important de renommer les contrôles dont les noms entrent en conflit avec les noms de champ utilisés dans les expressions.

0

Soyez également prudent avec la propriété 'BackStyle' du contrôle. Si vous utilisez un assistant de formulaire et un gabarit de style par défaut, le backstyle peut être transparent - ce qui signifie que la mise en forme conditionnelle avec une backcolor ne fait rien.

Questions connexes