OVH Cloud OVH Cloud

Tester toutes les occurences d'un champs

5 réponses
Avatar
Frédéric
BOnjour,

Petit probleme
Depuis le code VB d'un formulaire, je teste la valeur d'un champs du sous
formulaire pour pouvoir mettre son fond en rouge si valeur <0

Le probleme c'est qu'il ne me teste que la première occurence de mon champs,
or j'ai souvent 15 ou 20 enregistrement dans le détail de mon ss form :
Comment faire pour lui demander de regarder toutes les occurences et de
mettre le fond sur les lignes concernées ????

Merci bcp par avance.

Fred

If (Me![mon sous form].Form![nvstock].Value < 1) Then Me![mon sous
form].Form![nvstock].BackColor = 255 Else Me![mon sous
form].Form![nvstock].BackColor = 52479

5 réponses

Avatar
Raymond [mvp]
Bonjour.

tu es dans un sous-formulaire en affichage feuille de données ou tabulation.
Tu ne peux pas modifier par code toutes les lignes car physiquement il n'y a
qu'un seul contrôle affiché et tous les contrôles prennent la couleur du
contrôle actif.
les seules solutions:
si tu as une version 2000 & +, passer par la mise en forme conditionnelle,
ce cas fonctionne.
si autre version ou si la mise en forme conditionnelle ne convient pas,
voir:
http://www.mvps.org/accessfr/forms/frm0024.htm
http://mypage.bluewin.ch/w.stucki/Formulaires.htm#Couleurs


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Frédéric" a écrit dans le message de
news:cbr8au$9am$
BOnjour,

Petit probleme
Depuis le code VB d'un formulaire, je teste la valeur d'un champs du sous
formulaire pour pouvoir mettre son fond en rouge si valeur <0

Le probleme c'est qu'il ne me teste que la première occurence de mon
champs,

or j'ai souvent 15 ou 20 enregistrement dans le détail de mon ss form :
Comment faire pour lui demander de regarder toutes les occurences et de
mettre le fond sur les lignes concernées ????

Merci bcp par avance.

Fred

If (Me![mon sous form].Form![nvstock].Value < 1) Then Me![mon sous
form].Form![nvstock].BackColor = 255 Else Me![mon sous
form].Form![nvstock].BackColor = 52479






Avatar
Phil
Bonjour Fred,
Pas si simple mais tu trouveras les exemples desires sur le site anglais de :
http://www.lebans.com/conditionalformatting.htm
Bien à toi,


BOnjour,

Petit probleme
Depuis le code VB d'un formulaire, je teste la valeur d'un champs du sous
formulaire pour pouvoir mettre son fond en rouge si valeur <0

Le probleme c'est qu'il ne me teste que la première occurence de mon champs,
or j'ai souvent 15 ou 20 enregistrement dans le détail de mon ss form :
Comment faire pour lui demander de regarder toutes les occurences et de
mettre le fond sur les lignes concernées ????

Merci bcp par avance.

Fred

If (Me![mon sous form].Form![nvstock].Value < 1) Then Me![mon sous
form].Form![nvstock].BackColor = 255 Else Me![mon sous
form].Form![nvstock].BackColor = 52479







Avatar
Phil
Salut Raymond,
As-tu deja regarde le site http://www.lebans.com/conditionalformatting.htm
Tu peux y modifier les couleurs meme dans un Datasheet ...
Verifies le dans la form JunkTest3way
Si tu peux me dire ce que tu en penses.
Pour ton info personnelle, Bien à toi,


Bonjour.

tu es dans un sous-formulaire en affichage feuille de données ou tabulation.
Tu ne peux pas modifier par code toutes les lignes car physiquement il n'y a
qu'un seul contrôle affiché et tous les contrôles prennent la couleur du
contrôle actif.
les seules solutions:
si tu as une version 2000 & +, passer par la mise en forme conditionnelle,
ce cas fonctionne.
si autre version ou si la mise en forme conditionnelle ne convient pas,
voir:
http://www.mvps.org/accessfr/forms/frm0024.htm
http://mypage.bluewin.ch/w.stucki/Formulaires.htm#Couleurs


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Frédéric" a écrit dans le message de
news:cbr8au$9am$
BOnjour,

Petit probleme
Depuis le code VB d'un formulaire, je teste la valeur d'un champs du sous
formulaire pour pouvoir mettre son fond en rouge si valeur <0

Le probleme c'est qu'il ne me teste que la première occurence de mon
champs,

or j'ai souvent 15 ou 20 enregistrement dans le détail de mon ss form :
Comment faire pour lui demander de regarder toutes les occurences et de
mettre le fond sur les lignes concernées ????

Merci bcp par avance.

Fred

If (Me![mon sous form].Form![nvstock].Value < 1) Then Me![mon sous
form].Form![nvstock].BackColor = 255 Else Me![mon sous
form].Form![nvstock].BackColor = 52479











Avatar
Raymond [mvp]
Bonjour Phil.

il n'y a pas besoin de lebans (que j'aime bien par ailleurs) pour placer une
mise en forme conditionnelle sur un formulaire en feuille de données. je
l'ai d'ailleurs mis sur mon post :
les seules solutions:
si tu as une version 2000 & +, passer par la mise en forme conditionnelle,
ce cas fonctionne.


donc il reste les autres solutions, dont la même chez lebans, mais je
privilégie naturellement les sites francophones car nous sommes sur
access.fr
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Phil" a écrit dans le message de
news:
Salut Raymond,
As-tu deja regarde le site http://www.lebans.com/conditionalformatting.htm
Tu peux y modifier les couleurs meme dans un Datasheet ...
Verifies le dans la form JunkTest3way
Si tu peux me dire ce que tu en penses.
Pour ton info personnelle, Bien à toi,


Avatar
Frédéric
Merci pour ces réponses, je vais tenter de m'y retrouver !
;-)

"Frédéric" a écrit dans le message de news:
cbr8au$9am$
BOnjour,

Petit probleme
Depuis le code VB d'un formulaire, je teste la valeur d'un champs du sous
formulaire pour pouvoir mettre son fond en rouge si valeur <0

Le probleme c'est qu'il ne me teste que la première occurence de mon
champs,

or j'ai souvent 15 ou 20 enregistrement dans le détail de mon ss form :
Comment faire pour lui demander de regarder toutes les occurences et de
mettre le fond sur les lignes concernées ????

Merci bcp par avance.

Fred

If (Me![mon sous form].Form![nvstock].Value < 1) Then Me![mon sous
form].Form![nvstock].BackColor = 255 Else Me![mon sous
form].Form![nvstock].BackColor = 52479