Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
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 24/01/2012, 09h10   #1
Membre habitué
 
Dominique
Inscription : mars 2009
Messages : 282
Détails du profil
Informations personnelles :
Nom : Dominique

Informations forums :
Inscription : mars 2009
Messages : 282
Points : 111
Points : 111
Par défaut Graphique selon liste deroulante

Bonjour,
Pouvez vous m'aider sur ce code?

Voici mon probléme :
sur un formulaire (Li_Graph_Ug) avec une liste (List_UG_IKA_Graph), j'ai insatallé un graphique (Ug_Graph), je voudrais qu'il se modifie aprés une selection dans la liste .

Suite à une requete (re_Ika_ug) j'ai creer un graphique qui me convient. j'ai donc recupéré le SQl et m'aidant avec les differents tuto j'ai fait ce code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub List_UG_IKA_Graph_AfterUpdate()
 
Dim strSQL As String
Dim strCategory As String
 
  'Initialisation de la variable au contenu de la liste
 strCategory = Me.List_UG_IKA_Graph
 
  'Initialisation de la chaîne SQL
 strSQL = "SELECT Table_ika_Resultat.saison, table_codeika.UG_PRINCIPALE, Sum(Table_ika_Resultat.lievre_p1) AS SommeDelievre_p1, Sum(Table_ika_Resultat.lievre_p2) AS SommeDelievre_p2, Sum(table_codeika.Longueur) AS SommeDeLongueur, ([SommeDelievre_p1]+[SommeDelievre_p2])/(2*([SommeDeLongueur]/1000)) AS Expr1 " & _
"FROM Table_ika_Resultat LEFT JOIN table_codeika ON Table_ika_Resultat.codebarre = table_codeika.code " & _
"GROUP Table_ika_Resultat.saison, table_codeika.UG_PRINCIPALE " & _
"HAVING ((([table_codeika.UG_PRINCIPALE])= '" & strCategory & "';"
 
 
  'Affectation de la nouvelle source et mise à jour de graphique
Me.Ug_Graph.RowSource = strSQL
 Me.Ug_Graph.Requery
 
End Sub
Avec ceci, quand je demarre le formulaire access me demande d' "entrer une valeur de parametre " et quand je renseigne ce parametre ca marche Mais voila quand je reselectionne un autre parametre dans la liste le graphique devient blanc.

Pouvez vous m'aider? merci
dodo28 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 10h36   #2
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 878
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 878
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
salut,

ce qui me gène dans ta requete est l'utilisation des crochets / parentheses / points :
Code :
"HAVING ((([table_codeika.UG_PRINCIPALE])= '" & strCategory & "';"
je serais plus parti sur un plus simple
Code :
"HAVING table_codeika.UG_PRINCIPALE= '" & strCategory & "';"
peux-tu faire l'essai ?
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 11h53   #3
Membre habitué
 
Dominique
Inscription : mars 2009
Messages : 282
Détails du profil
Informations personnelles :
Nom : Dominique

Informations forums :
Inscription : mars 2009
Messages : 282
Points : 111
Points : 111
Bonjour et merci beaucoup pour ton aide,
Alos j'ai suivi ton conseil malheureusement ca ne marche pas.

J'ai retravaillé le critere dans la selection : [Formulaires]![Li_GraphUG]![List_UG_IKA_Graph]

Quand je modifie les criteres dans la liste(List_UG_IKA_Graph) elle se reporte bien dans la requete mais le graphique ne se met pas a jour dans mon formulaire(par contre ca le fait dans la requete).
Y a t il un probleme de rafraichissement qui m'echappe.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub List_UG_IKA_Graph_AfterUpdate()
 
 
Dim strSQL As String
Dim strCategory As String
 
  'Initialisation de la variable au contenu de la liste
strCategory = Me.List_UG_IKA_Graph
 
  'Initialisation de la chaîne SQL
 strSQL = "SELECT Table_ika_Resultat.saison, table_codeika.UG_PRINCIPALE, Sum(Table_ika_Resultat.lievre_p1) AS SommeDelievre_p1, Sum(Table_ika_Resultat.lievre_p2) AS SommeDelievre_p2, Sum(table_codeika.Longueur) AS SommeDeLongueur, ([SommeDelievre_p1]+[SommeDelievre_p2])/(2*([SommeDeLongueur]/1000)) AS Expr1 " & _
"FROM Table_ika_Resultat LEFT JOIN table_codeika ON Table_ika_Resultat.codebarre = table_codeika.code " & _
"GROUP Table_ika_Resultat.saison, table_codeika.UG_PRINCIPALE " & _
"HAVING (((table_codeika.UG_PRINCIPALE)= '[Formulaires]![Li_GraphUG]![List_UG_IKA_Graph]');"
  'Affectation de la nouvelle source et mise à jour de graphique
Me.Ug_Graph.RowSource = strSQL
Me.Ug_Graph.Requery
 
End Sub
Merci beaucoup pour ton aide
dodo28 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 14h05   #4
Membre habitué
 
Dominique
Inscription : mars 2009
Messages : 282
Détails du profil
Informations personnelles :
Nom : Dominique

Informations forums :
Inscription : mars 2009
Messages : 282
Points : 111
Points : 111
Par défaut piece jointe

re,
je me permet de joindre un fichier test, pour vous faciliter et comprendre mon interrogation
Merci à vous
Fichiers attachés
Type de fichier : zip testGraph.zip (112,5 Ko, 2 affichages)
dodo28 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 14h37   #5
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 878
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 878
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
Attention à ne pas confondre tout, soit on utilise la chaine de caractere retournée par la liste, soit on choisit autre chose, mais mettre le nom de la liste en valeur de test, ca mène dans le mur

De plus, "formulaire" reste francais, il vaut mieux utiliser Form.
Cela donne :
Code :
"HAVING (((table_codeika.UG_PRINCIPALE)= '"  & [Forms]![Li_GraphUG]![List_UG_IKA_Graph] & "');"
Maintenant avant d'attribuer la requete au graphe, on vérifie en l'affichange avec
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 14h54   #6
Membre habitué
 
Dominique
Inscription : mars 2009
Messages : 282
Détails du profil
Informations personnelles :
Nom : Dominique

Informations forums :
Inscription : mars 2009
Messages : 282
Points : 111
Points : 111
Re,
Merci pour ton aide,
j'ai changé le having comme tu me l'as conseillé.
et mis le msgbox qui confirme que la selection est bonne.
C'est mon graph qui ne va pas et je n'y arrive pas. Ca doit etre une petite bourde soit dans les propriétés du graph ou un truc de ce genre la.

je desespére
dodo28 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 15h02   #7
Membre habitué
 
Dominique
Inscription : mars 2009
Messages : 282
Détails du profil
Informations personnelles :
Nom : Dominique

Informations forums :
Inscription : mars 2009
Messages : 282
Points : 111
Points : 111
Excuse moi JPCHECK je n'ai pas compris ce que tu voulais me dire par :
Code :
]soit on utilise la chaine de caractere retournée par la liste, soit on choisit autre chose, mais mettre le nom de la liste en valeur de test, ca mène dans le mur
merci
dodo28 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 15h23   #8
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 878
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 878
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
j'indiquais que la clause HAVING
"HAVING (((table_codeika.UG_PRINCIPALE)= '[Formulaires]![Li_GraphUG]![List_UG_IKA_Graph]'

va filtrer pour les enregistrements où UG_PRINCIPALE a pour valeur textuelle '[Formulaires]![Li_GraphUG]![List_UG_IKA_Graph]', ce qui est peu probable
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 15h32   #9
Membre habitué
 
Dominique
Inscription : mars 2009
Messages : 282
Détails du profil
Informations personnelles :
Nom : Dominique

Informations forums :
Inscription : mars 2009
Messages : 282
Points : 111
Points : 111
donc selon toi il faudrait que [Formulaires]![Li_GraphUG]![List_UG_IKA_Graph] soit transformé par une variable?
Comme ceci :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Private Sub List_UG_IKA_Graph_AfterUpdate()
 
 
Dim strSQL As String
Dim strCategory As String
 
  'Initialisation de la variable au contenu de la liste
strCategory = Me.List_UG_IKA_Graph
 
  'Initialisation de la chaîne SQL
 strSQL = "SELECT Table_ika_Resultat.saison, table_codeika.UG_PRINCIPALE, Sum(Table_ika_Resultat.lievre_p1) AS SommeDelievre_p1, Sum(Table_ika_Resultat.lievre_p2) AS SommeDelievre_p2, Sum(table_codeika.Longueur) AS SommeDeLongueur, ([SommeDelievre_p1]+[SommeDelievre_p2])/(2*([SommeDeLongueur]/1000)) AS Expr1 " & _
"FROM Table_ika_Resultat LEFT JOIN table_codeika ON Table_ika_Resultat.codebarre = table_codeika.code " & _
"GROUP Table_ika_Resultat.saison, table_codeika.UG_PRINCIPALE " & _
"HAVING (((table_codeika.UG_PRINCIPALE)= '" & strCategory & "');"
'"HAVING (((table_codeika.UG_PRINCIPALE)= '" & [Forms]![Li_GraphUG]![List_UG_IKA_Graph] & "');"
 
MsgBox strSQL
 
Me.Ug_Graph.RowSource = strSQL
Me.Ug_Graph.Requery
 
End Sub
Et chose bizarre quand je selectionne dans la liste, la requete et le graph dans la requete se mettent à jour et donne le graph voulu.

Désolé mais je débute
dodo28 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 15h50   #10
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 878
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 878
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
Citation:
Et chose bizarre quand je selectionne dans la liste, la requete et le graph dans la requete se mettent à jour et donne le graph voulu.
ce n'est pas bizarre, c'est une des solutions simples qui fonctionnent
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 16h11   #11
Membre habitué
 
Dominique
Inscription : mars 2009
Messages : 282
Détails du profil
Informations personnelles :
Nom : Dominique

Informations forums :
Inscription : mars 2009
Messages : 282
Points : 111
Points : 111
merci jpcheck,
Si ma requete est bonne donc c'est mon code ou les propriétés.
Je vais chercher et bien sur toutes idées sont les trés bienvenues.
dodo28 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 16h58   #12
Membre habitué
 
Dominique
Inscription : mars 2009
Messages : 282
Détails du profil
Informations personnelles :
Nom : Dominique

Informations forums :
Inscription : mars 2009
Messages : 282
Points : 111
Points : 111
J'ai trouvé, ca fait 2 jours que je suis dessus et il ne faut jamais desespéré et c'est une faute qui va faire rire les pros.
Avant
Code :
1
2
3
4
 strSQL = "SELECT Table_ika_Resultat.saison, table_codeika.UG_PRINCIPALE, Sum(Table_ika_Resultat.lievre_p1) AS SommeDelievre_p1, Sum(Table_ika_Resultat.lievre_p2) AS SommeDelievre_p2, Sum(table_codeika.Longueur) AS SommeDeLongueur, ([SommeDelievre_p1]+[SommeDelievre_p2])/(2*([SommeDeLongueur]/1000)) AS Expr1 " & _
"FROM Table_ika_Resultat LEFT JOIN table_codeika ON Table_ika_Resultat.codebarre = table_codeika.code " & _
"GROUP Table_ika_Resultat.saison, table_codeika.UG_PRINCIPALE " & _
"HAVING (table_codeika.UG_PRINCIPALE = '" & strCategory & "');"
aprés correction
Code :
1
2
3
4
 strSQL = "SELECT Table_ika_Resultat.saison, table_codeika.UG_PRINCIPALE, Sum(Table_ika_Resultat.lievre_p1) AS SommeDelievre_p1, Sum(Table_ika_Resultat.lievre_p2) AS SommeDelievre_p2, Sum(table_codeika.Longueur) AS SommeDeLongueur, ([SommeDelievre_p1]+[SommeDelievre_p2])/(2*([SommeDeLongueur]/1000)) AS Expr1 " & _
"FROM Table_ika_Resultat LEFT JOIN table_codeika ON Table_ika_Resultat.codebarre = table_codeika.code " & _
"GROUP BY Table_ika_Resultat.saison, table_codeika.UG_PRINCIPALE " & _
"HAVING (table_codeika.UG_PRINCIPALE = '" & strCategory & "');"
merci à tous
dodo28 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h22.


 
 
 
 
Partenaires

Hébergement Web