Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/04/2011, 12h15   #1
Invité de passage
 
Inscription : avril 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 11
Points : 0
Points : 0
Par défaut Affiche d'images selon critères

Bonjour à tous !

Je suis novice sous Access, je découvre au fur et à mesure que je travaille dessus...
Jusqu'ici ça va, j'ai réussi à me débrouiller, mais là, je suis confrontée à un problème, et même vos anciennes discussions n'ont pas réussies à me débloquer, c'est pour cela que je suis là ^^

Alors voilà, pour aller au plus simple, j'ai un formulaire contenant une zone de liste "total".
Selon les critères que j'ai sélectionné pour les données de cette liste, ce "total" peut changer.

Mon problème est que, selon le total affiché, il faudrait que le formulaire affiche soit un smiley heureux , soit un smiley pas très content
En fait, il faudrait que pour "total" < 20000, l'image soit
et pour "total" > 20000, ce soit

Je précise que les images qui m'intéresse sont sur l'ordinateur et non dans Access.

Si quelqu'un a compris, je veux bien un petit coup de main
Merci !!
Rexena est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 12h32   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 623
Points : 11 623
Bonjour,

Commence par intégrer tes 2 images dans le formulaire (controle image) et mets leur propriété visible à faux.

Dans l'événement Sur Activation mets le test sur le total.

Code :
1
2
3
4
5
6
7
if me.total >2000 then
   me.imagecontent.visible =  true
   me.imagepascontent.visible = false
else
   me.imagecontent.visible =  true
   me.imagepascontent.visible = false
endif
C'est que les images changent lorsque tu ouvre le formulaire et que tu te déplace dans les enregistrement.

Lors de la mise à jour il faut que tu mettes ce code sur l'événement Après MAJ du ou des controles qui régissent le changement de la valeur du total.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 20/04/2011, 14h21   #3
Invité de passage
 
Inscription : avril 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 11
Points : 0
Points : 0
Salut Loufab,

J'ai bien compris ce que tu essaye de faire faire au programme, mais ça ne marche pas, il n'affiche que l'image "pas_content", même quand "total">20000...

Voici le code sur activation :

Code :
1
2
3
4
5
6
7
8
9
Private Sub Form_Current()
If Me.total > 20000 Then
   Me.content.Visible = True
   Me.pas_content.Visible = False
Else
   Me.content.Visible = False
   Me.pas_content.Visible = True
End If
End Sub
J'ai juste modifié, à partir de ton code, le true/false, sinon ça ne collait pas par rapport à ce qu'il faut qu'il fasse.
Malgré tout, le problème reste le même...

Peut-être que je dois préciser que j'ai introduit un bouton pour actualiser les données, et que j'ai déjà essayer de lui appliquer le code aussi.
Rexena est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 18h33   #4
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 623
Points : 11 623
Mets un point d'arrêt sur le test pour voir la valeur de total au moment du test. Il se peut que se soit Null.
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 08h40   #5
Invité de passage
 
Inscription : avril 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 11
Points : 0
Points : 0
Je suis désolée mais je ne comprends pas ce que tu veux dire par là

c'est quoi un point d'arrêt ?
Rexena est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 09h41   #6
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 623
Points : 11 623
C'est un marqueur à mettre dans le code pour interrompre l'exécution.

F9 sur la ligne pour le mettre F9 pour l'enlever.
Pour tester la valeur tu te mets dans la fenêtre Exécution et tu tapes :

puis entrée
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 21/04/2011, 11h09   #7
Invité de passage
 
Inscription : avril 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 11
Points : 0
Points : 0
Re,
en effet, dans la fenêtre exécution, il affiche que le test est Null

qu'est-ce je dois faire ?
je suis vraiment désolée de t'imposer ça...
Rexena est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 11h23   #8
Invité de passage
 
Inscription : avril 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 11
Points : 0
Points : 0
J'ai essayer de remodifier un peu le code pour que ma demande soit bien précise :

Code :
1
2
3
4
5
6
7
8
9
10
11
Private Sub Form_Current()
If Me.[total] >= 20000 Then
   Me.content.Visible = True
   Me.pas_content.Visible = False
Else
If 0 < Me.[total] < 20000 Then
   Me.content.Visible = False
   Me.pas_content.Visible = True
End If
End If
End Sub
ce code est répété aprèsMAJ pour tous les champs qui viennent modifier mon "total", mais je ne sais pas si je dois le mettre aussi, ou non, sur évènement de "total".

j'ai revérifié le test avec le point d'arrêt, la réponse est toujours Null, et pour tous les tests.
Rexena est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 19h33   #9
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 623
Points : 11 623
ça c'est bon inutile de modifier. Les crochets c'est pas utile tant que tu n'utilises pas de caractères cabalistiques. (espace et autres)
Code :
1
2
3
4
5
6
7
8
9
Private Sub Form_Current()
If Me.total >= 20000 Then
   Me.content.Visible = True
   Me.pas_content.Visible = False
Else
   Me.content.Visible = False
   Me.pas_content.Visible = True
End If
End Sub
Le problème est de déterminer pourquoi Total est null.
Affiche-t-il quelque chose ?
L'une des valeur entrant dans le calcul est null. à vérifier.
Dans ce cas modifie ta formule pour en tenir compte.

Peux-tu poster la formule qui alimente total ?
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2011, 08h08   #10
Invité de passage
 
Inscription : avril 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 11
Points : 0
Points : 0
Salut,
alors il faut que je te dises que ce formulaire est une consultation d'un "relevé hebdomadaire". On sélectionne dans un menu déroulant l'année : "ModifiableAnneeRH", puis, dans un autre, la semaine qui nous intéresse : "ModifiableSemaineRH", on clique sur un bouton "Confirmer" (= Me.Refresh) et une liste affiche les commandes passées dans la semaine.
Le total est tout simplement la somme du montant de ces commandes.
Le code de "total" est donc :
Code sql :
1
2
3
SELECT Sum([TABLE enregistrements_1].[Commande €]) AS [SommeDeCommande €] 
FROM [TABLE enregistrements] AS [TABLE enregistrements_1] GROUP BY [TABLE enregistrements_1].[Semaine Commande], [TABLE enregistrements_1].[Année Commande] 
HAVING ((([TABLE enregistrements_1].[Semaine Commande])=[ModifiableSemaineRH]) AND (([TABLE enregistrements_1].[Année Commande])=[ModifiableAnnéeRH]));

voilà, j'espère que ça va un peu plus t'éclairer...
Rexena est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2011, 08h40   #11
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 623
Points : 11 623
Bonjour,

Est-ce que cette requete te rammene quelque chose dans la liste ?

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2011, 13h54   #12
Invité de passage
 
Inscription : avril 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 11
Points : 0
Points : 0
re,

non non, cette requête ne s'applique que pour "total", et ne modifie en rien la liste. "total" et la liste sont des objets indépendants, je peux en supprimer un sans problème dans le fonctionnement de l'autre.

la seule chose qu'ils ont en commun c'est les menus déroulants qui forment leurs critères (les "Modifiables")

Le problème actuel est que désormais, les images ne s'affichent plus du tout, peu importe le résultat dans "total"...
Rexena est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2011, 14h14   #13
Invité de passage
 
Inscription : avril 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 11
Points : 0
Points : 0
euh désolée, petite modif' sur ce que je viens de dire...

je viens de remettre ton code sur tous les évènements qui peuvent toucher "total", et là, c'est toujours l'image "pas_content" qui est affiché, quel que soit le résultat de total, et même quand il n'y a rien du tout.
Rexena est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2011, 10h23   #14
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 623
Points : 11 623
Parceque le controle Total renvoi Null.

Il faut que tu vérifies que la requete renvoie bien une valeur numérique (exécute-la dans un objet requete) et qu'elle est bien dans un controle qui accepte une requete comme source.

Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h17.


 
 
 
 
Partenaires

Hébergement Web