Bonjour à tous,
d'abord je tiens à préciser que je suis un débutant sur access et vba.
Je cherche actuellement un moyen de diminuer la taille de mon application créer sous access qui consiste à l'affichage de tas de graph. Je m'explique, j'ai créer plein de formulaire qui contiennent pas mal de graphiques pour la plupart. Mais je me retrouve avec une application qui fait plus de 200 MO.
Or les tables sont stockées dans une base oracle, je ne fais que les lier et afficher les données en quelque sorte selon mes besoins.
J'utilise pour générer des graph du code sql de ce type :
Voilà le principe pour l'actualisation de mes graph.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Private Sub Commande1_Click() 'c'est un bouton actualiser 'Déclarations des variables qui vont être utilisées comme chaîne de texte dans ce cas. Dim SQLCmd1 As String 'Requêtes selection servant de source pour les graphiques SQLCmd1 = "SELECT PROTOS_TAB_POSTES.DAT, PROTOS_TAB_POSTES.CP_SANMO, PROTOS_TAB_POSTES.CP_SURTA" SQLCmd1 = SQLCmd1 + " FROM PROTOS_TAB_POSTES" SQLCmd1 = SQLCmd1 + " WHERE (PROTOS_TAB_POSTES.DAT between #" & Format$(Me.Date_deb, "yyyy-mm-dd hh:nn:ss") & "# AND #" & Format$(Me.Date_fin, "yyyy-mm-dd hh:nn:ss") & "#) AND ((PROTOS_TAB_POSTES.COD_CUV)=(""" & Me.CUVE & """))" SQLCmd1 = SQLCmd1 + " GROUP BY PROTOS_TAB_POSTES.DAT, PROTOS_TAB_POSTES.CP_SANMO, PROTOS_TAB_POSTES.CP_SURTA" SQLCmd1 = SQLCmd1 + " ORDER BY PROTOS_TAB_POSTES.DAT" Graphique0.RowSource = SQLCmd1 'attribution de cette requete comme source du graph 'Mise à jour des graphiques Me.Graphique0.Requery
D'aprés ce que j'ai compris, access définit une taille de formulaire adapté aux requêtes que je fais. Or certains de mes graphiques génèrent plus de 4000 lignes d'enregistrement. L'actualisation en elle même ne prend pas de temps, c'est à l'ouverture et à la fermeture du formulaire que ça devient long.
Ce que je voudrais c'est déjà trouvé un moyen qu'access ne stocke pas les données que je lui demande d'afficher, ou que je puisse réduire le poids des formulaires à la fermeture en forçant à ne pas anticiper sur l'entrée de données.
Depuis le début de mon stage que je misère sur ce problème, mais je n'ai toujours pas trouvé une solution qui marche.
Le compactage ne donne rien je passe de 200 Mo à 170 au minimum.
Il y'a aussi le fait qu'à l'ouverture il essaie de charger tous les graphes avant que je ne lui demande d'actualiser qui me perturbe.
J'espère mettre fait comprendre au moins un peu, sinon n'hésitez pas à me relancer.
merci d'avance pour toute réponse.
Partager