Graph ne s'affichent pas

Résolu
giancomo
Messages postés
15
Date d'inscription
lundi 4 mai 2009
Statut
Membre
Dernière intervention
19 juin 2009
- 13 mai 2009 à 16:15
giancomo
Messages postés
15
Date d'inscription
lundi 4 mai 2009
Statut
Membre
Dernière intervention
19 juin 2009
- 14 mai 2009 à 10:47
Bonjour,
J'essaie d'appliquer un code vba qui me permet de générer des graphiques sans réellement créer de requête (c'etait là tout l'objet de ce petit tour de passe passe). Ce code marche lorqu'il s'agit d'un seul graph, mais je n'arrive pas à l'adapter, pour qu'il marche dans un formulaire contenant plusieurs graphiques (une vingtaine).
Pour l'instant je l'ai tester sur 3 graph. Il ne m'affichent correctement qu'un seul graph sur les trois. Et pour les deux autres, il n'actualise pas les données. J'aimerais bien comprendre pourquoi, et s'il y'a un moyen de corriger ce problème.

Voici le code en question :

Private Sub Commande35_Click()

Dim SQLCmd1 As New DAO.QueryDef
Dim SQLCmd2 As New DAO.QueryDef
Dim SQLCmd3 As New DAO.QueryDef

SQLCmd1.SQL = "SELECT PROTOS_TAB_POSTES.DAT, PROTOS_TAB_POSTES.CP_SANMO, PROTOS_TAB_POSTES.CP_SURTA"
SQLCmd1.SQL = SQLCmd1.SQL + " FROM PROTOS_TAB_POSTES"
SQLCmd1.SQL = SQLCmd1.SQL + " WHERE (PROTOS_TAB_POSTES.DAT between (#" & Me.date_deb & "#) AND (#" & Me.date_fin & "#)) AND ((PROTOS_TAB_POSTES.COD_CUV)=(""" & Me.CUVE & """))"
Graphique10.RowSource = SQLCmd1.SQL

SQLCmd2.SQL = "SELECT PROTOS_TAB_POSTES.DAT, PROTOS_TAB_POSTES.CP_WRMI"
SQLCmd2.SQL = SQLCmd1.SQL + " FROM PROTOS_TAB_POSTES"
SQLCmd2.SQL = SQLCmd1.SQL + " WHERE (PROTOS_TAB_POSTES.DAT between (#" & Me!date_deb & "#) AND (#" & Me!date_fin & "#)) AND ((PROTOS_TAB_POSTES.COD_CUV)=(""" & Me.CUVE & """))"
Graphique21.RowSource = SQLCmd2.SQL

SQLCmd3.SQL = "SELECT PROTOS_TAB_POSTES.DAT, PROTOS_TAB_POSTES.CP_II, PROTOS_TAB_POSTES.CP_TNA"
SQLCmd3.SQL = SQLCmd3.SQL + " FROM PROTOS_TAB_POSTES"
SQLCmd3.SQL = SQLCmd3.SQL + " WHERE (PROTOS_TAB_POSTES.DAT between (#" & Me!date_deb & "#) AND (#" & Me!date_fin & "#)) AND ((PROTOS_TAB_POSTES.COD_CUV)=(""" & Me.CUVE & """))"
Graphique28.RowSource = SQLCmd2.SQL

Me.Graphique21.Requery
Me.Graphique28.Requery
Me.Graphique10.Requery
End Sub

Voilà, j'avais déja tester de mettre Dim SQLCmd1 As string, j'obtenais exactement le même résultats.
Est ce qu'on peut appliquer un recordset (dont je n'arrive pas à comprendre comment ça marche) à ce type de problème???

merci d'avance pour toute réponse.

3 réponses

Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
13 mai 2009 à 16:28
s'il suffit de transmettre un String (SQL) à la rowsource d'un graphique (quel type est-ce exactement ?)

inutile de te prendre la tête avec des QueryDef ...

un très bon tuto:
http://argyronet.developpez.com/office/access/makecharts/
3
giancomo
Messages postés
15
Date d'inscription
lundi 4 mai 2009
Statut
Membre
Dernière intervention
19 juin 2009

14 mai 2009 à 10:23
J'avais fait quelques fautes dans mon code, c pour ça que ça marchait pas, le problème a été corrigé. Mais mon plus gros soucis reste de vider la source avant la réouverture du formulaire, de sorte que rien ne s'affiche à l'ouverture.
0
giancomo
Messages postés
15
Date d'inscription
lundi 4 mai 2009
Statut
Membre
Dernière intervention
19 juin 2009

14 mai 2009 à 10:47
Merci quand meme renfield. On n'est plus sur le même problème je me rend compte, parce que j'ai déjà poster ce problème dans une autre discussion donc je vais cloturer celle là.
0