OVH Cloud OVH Cloud

variable dynamique dans formatage état

4 réponses
Avatar
Jiveday
Bonjour,
dans détail d'un état au formatage, j'aurais voulu remplacer par une boucle,
la répétition d'une même opération (mise en relief de la valeur la plus
élevée d'une colonne) pour une vingtaine de colonnes nommées E01 à E20 (voir
code ci-dessous).
Mais alors que TDF2 fonctionne pour l'instruction DMax, le programme m'affiche
"membre de méthode ou de données introuvable" lors de l'utilisation de TDF2
pour la mise en gras.
Existe-t-il une solution ?
Merci d'avance

'boucle
n = 0
While n < 20
n = n + 1
TDF2 = "E" & Right("0" & LTrim(Str(n)), 2)
TDF1 = DMax(TDF2, "tdf2résultats")
TDF3 = Val(TDF2)

If TDF3 = TDF1 Then
Me.TDF2.FontBold = True 'ne fonctionne pas
Else
Me.TDF2.FontBold = False
End If
Wend

'répétition pour les rubriques de E01 à E20
TDF1 = DMax("E01", "tdf2résultats")
If Me!E01 = TDF1 Then
Me!E01.FontBold = True
Me!E01.FontUnderline = True
Else
Me!E01.FontBold = False
Me!E01.FontUnderline = False
End If

TDF1 = DMax("E02", "tdf2résultats")
If Me!E02 = TDF1 Then
Me!E02.FontBold = True
Me!E02.FontUnderline = True
Else
Me!E02.FontBold = False
Me!E02.FontUnderline = False
End If

etc...

4 réponses

Avatar
3stone
salut,

"Jiveday"
| dans détail d'un état au formatage, j'aurais voulu remplacer par une boucle,
| la répétition d'une même opération (mise en relief de la valeur la plus
| élevée d'une colonne) pour une vingtaine de colonnes nommées E01 à E20 (voir
| code ci-dessous).
| Mais alors que TDF2 fonctionne pour l'instruction DMax, le programme m'affiche
| "membre de méthode ou de données introuvable" lors de l'utilisation de TDF2
| pour la mise en gras.


pas compris... mais, dans ton utilisation de DMax() , la première est fausse!
il manque les guillemets à TDF2


TDF1 = DMax(TDF2, "tdf2résultats")

TDF1 = DMax("E01", "tdf2résultats")



Et, je présume que tu sais que les paramètres des fonctions de domaine,
s'adressent à une table ou requête et un champ de cette table.

TDF2 doit être un champ de la table ou requête "tdf2résultats"


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Jiveday
Bonjour

un grand merci de te pencher ainsi sur tous nos problèmes.

mais, dans ton utilisation de DMax() , la première est fausse!
il manque les guillemets à TDF2 : TDF1 = DMax(TDF2, "tdf2résultats")


Cette partie fonctionne parfaitement : la boucle du programme va chercher à
chaque itération en adressage indirect le champ mentionné par la variable
TDF2 (E01 puis E02,E03, etc...)

les paramètres des fonctions de domaine s'adressent à une table ou requête et un champ de cette table. TDF1 = DMax("E01", "tdf2résultats")
TDF2 doit être un champ de la table ou requête "tdf2résultats"


le contenu de TDF2 est un champ de la table "tdf2résultats" et j'ai retesté,
cela fonctionne.

pas compris...>
NOM E01 E02 E03 … E20


Nom1 17 17 16 32
Nom2 9 34 16 5
Nom3 0 43 7 0

je voulais en adressage indirect via une boucle mettre en évidence (gras,
couleur, ...) le nombre le plus élevé de chacune des colonnes : 17 dans la
colonne E01, 43 dans E02, et 16 (2 fois) dans E03,..., pour ne pas devoir
répéter 20 fois les mêmes instructions.
Ce que j'ai fini par faire mais je reste intéressé par l'adressage indirect !
Comment mettre en gras le contenu d'un champ dont le nom est fourni par une
variable ? me!E01.fontbold=true OK mais
me!(le champ mentionné par une variable).fontbold=true est-ce possible ?

Merci pour ton aide
--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw





Avatar
3stone
Salut,

"Jiveday"
[...]
| Ce que j'ai fini par faire mais je reste intéressé par l'adressage indirect !
| Comment mettre en gras le contenu d'un champ dont le nom est fourni par une
| variable ? me!E01.fontbold=true OK mais
| me!(le champ mentionné par une variable).fontbold=true est-ce possible ?


ecris le comme ceci :

Me(E01).FontBold = True



--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Jiveday
Bonjour et un grand merci.
Cela fonctionne parfaitement.
Cela me sera très utile pour des tableaux statistiques.

A+


Salut,

"Jiveday"
[...]
| Ce que j'ai fini par faire mais je reste intéressé par l'adressage indirect !
| Comment mettre en gras le contenu d'un champ dont le nom est fourni par une
| variable ? me!E01.fontbold=true OK mais
| me!(le champ mentionné par une variable).fontbold=true est-ce possible ?


ecris le comme ceci :

Me(E01).FontBold = True



--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw