Problème de lenteur de mon application en cours d'execution

Kepone Messages postés 25 Date d'inscription vendredi 2 août 2002 Statut Membre Dernière intervention 3 juillet 2008 - 23 déc. 2004 à 10:39
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 23 déc. 2004 à 14:57
Salut,

je viens d'ouvrir mon entreprise. Je fais entre autre de la maintenance informatique et de l'assemblage.

De façon à gérer correctement mon parc machine, j'ai développé une appli permettant de saisir par client le matériel qu'il a, les durées de garantie, les n° de série etc... et de saisir toutes les interventions effectué sur le matériel ainsi que les appels téléphoniques.

Tous fonctionne niquel. Les données se trouvent dans 2 bases access : La première est la base de mon logiciel de facturation ou je récupere les clients et les articles et la seconde stocke tout mon suivi : articles vendus, garantie, Interventions, Appel Tel etc...

Mon problème est le suivant :

Au démarrage de l'appli tout tourne très bien. Les temps de réponse sont bon et les fenètres s'affichent rapidement. Au fur et à mesure de l'utilisation de l'appli, les temps de réponse se dégradent et une liste peut mettre 3 secondes à apparaitre. Je me suis dit au départ que cela venait d'une mauvaise fermeture de mes Recordsets.

[I]Pour info : à l'ouverture de l'appli je déclare mes bases access sous la forme : Set gestion = OpenDatabase(Chemingestion). Pour les recordsets je les déclare ainsi : Set Clients = Gestion.openrecordset ("SELECT * FROM Clients")[I]

Effectivement certains recordset n'étaient pas fermé correctement apres utilisation. J'ai donc modifier tous ca et c'est pareil. Y'a un truc qui m'échappe. C'est la première fois que cela m'arrive (C'est ma plus grosse appli aussi mais pour l'instant les bases sont quasi vides donc ...). Si quelqu'un a une idée...

Merci d'avance

[B]Kepone[B]

9 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
23 déc. 2004 à 11:00
Vérifie que toutes les instances d'objet sont bien détruites par des Set objet = Nothing ! Cela vient sûrement de là. Vérifie la place en mémoire que prend ton application, et regarde si elle augmente selon telle ou telle action. Cette une piste pour comprendre là où ca pompe de la mémoire pour rien !
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
23 déc. 2004 à 11:19
labout

Plutot que la méthode DAU pour l'accès aux données, utiliser l'ADO
car OpenDatabase me semble du DAO.

L'ADO suppose la référence Microsoft ActiveX Data Objct 2.6 ou 2.8
Une connection la chaine de connection du type
dim conn as new adodb.connection

conn.connectionstring=
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\vb.net\MshFlexgrid\MshFlexgrid\MshFlexgrid\bin\Immo.mdb;Persist Security Info=False"
conn.open

dim rs as new adodb.recordset

rs.Open "select * from immo", conn, adOpenStatic, adLockOptimistic

.....

rs.close
set rs=nothing
conn.close
set conn=nothing

Et là plus de problèmes mais mettre des clés d'index sur les champs utilisés dans la clause where.

@+
0
Kepone Messages postés 25 Date d'inscription vendredi 2 août 2002 Statut Membre Dernière intervention 3 juillet 2008
23 déc. 2004 à 11:37
Ok Merci les gars.
Je vais tester d'abord la solution à DARKSIDIOUS parce que la Solution de LABOUT va me donner un sacré Taff. Je vous tiens au courant.

Merci
0
cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
23 déc. 2004 à 11:41
labout

Un conseil essayer de ne plus utiliser le DAO à l'avenir.
Trop peu performant et quand il faut migrer vers sql server
avec l'ado il n'y a que la chaine de connection à changer.
@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
23 déc. 2004 à 12:00
Trop epu performant ??? Là je ne suis pas d'accord avec toi labout : non seulement, je n'ai pas remarqué de différence notable de rapidité entre les deux lorsque j'utilisais ADO pour mon viewer d'API lorsque j'ai basculé vers DAO, mais surtout, avec ADO ca me prenais 80 Mo de mémoire vive, et sous DAO je tombe à 15 Mo ! Ca fait une sacrée différence quand même !
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
Kepone Messages postés 25 Date d'inscription vendredi 2 août 2002 Statut Membre Dernière intervention 3 juillet 2008
23 déc. 2004 à 14:01
Ok Merci les gars.
Je vais tester d'abord la solution à DARKSIDIOUS parce que la Solution de LABOUT va me donner un sacré Taff. Je vous tiens au courant.

Merci
0
Kepone Messages postés 25 Date d'inscription vendredi 2 août 2002 Statut Membre Dernière intervention 3 juillet 2008
23 déc. 2004 à 14:11
Bon ben la solution de DarkSidious a l'air de fonctionner. J'ai testé sur deux trois forms et je n'est plus de ralentissement.

Merci beaucoup
0
Kepone Messages postés 25 Date d'inscription vendredi 2 août 2002 Statut Membre Dernière intervention 3 juillet 2008
23 déc. 2004 à 14:30
Et ben c pas encore ca...... lorsque je compile et que je crée mon Exe sa ram à mort alors que en version non compilé c'est niquel. Comprend plus la ...
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
23 déc. 2004 à 14:57
Scanne la mémoire lorsque tu lance ton prog compilé. Regarde quels sont les feuilles qui en prenne beaucoup lorsque tu les lance, etc. Il faut que tu scrupte ton code, et voir où est-ce que tu crée des insctances d'objet qui reste en mémoire alors qu'il faudrait les désallouer. Les fuites mémoires sont souvent difficile à isoler, surtout pour un gros projet, alors bon courage ;)
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
Rejoignez-nous