Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1112 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  acces 2000, VBA et temps d'éxécution

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

acces 2000, VBA et temps d'éxécution

n°272755
Mad666
Posté le 19-12-2002 à 13:22:11  profilanswer
 

Bonjour tout le monde,
 
bon un truc me chagrinne depuis pas mal de temps mais là ca commence à ce ressentir sur mon appli de manière significative.
Le truc est que j'ai une appli ACCESS 2000 et que lorsque je clique sur le bouton OK de cette appli, action qui appelle du VBA, diverses requêtes et tout le tintoin, le résultat n'est pas celui attendu. Par contre si je fais la même action avec un point d'arrêt dans le code et que je fait poursuivre l'éxécution "à la main" le résultat obtenu est ce coup-ci le bon. Ce qui donne l'impression qu'ACCESS éxécute le code "trop rapidement et qu'il en rate des morceaux au passage"! :o  
 
Alors la question est : savez-vous pourquoi ca fait ca et comment le résoudre ?
 
Merci tout plein. [:zerod]

mood
Publicité
Posté le 19-12-2002 à 13:22:11  profilanswer
 

n°272896
mareek
Et de 3 \o/
Posté le 19-12-2002 à 15:22:01  profilanswer
 

tu peux poster le code ? c'est difficile de t'aider si on ne voit pas le code qui pose problème


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
n°272923
Mad666
Posté le 19-12-2002 à 15:35:02  profilanswer
 

je veux bien mais il fait plus de 1500 lignes  :ouch:  
 
alors je te donnes quoi ? Le code du bouton, le code d'une des fonctions appelée ?

n°272940
mareek
Et de 3 \o/
Posté le 19-12-2002 à 15:38:17  profilanswer
 

Mad666 a écrit :

je veux bien mais il fait plus de 1500 lignes  :ouch:  
 
alors je te donnes quoi ? Le code du bouton, le code d'une des fonctions appelée ?

heeeuuuuu.... tu parcours les 1500 lignes en execution pas à pas ?  [:wam]


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
n°272953
Mad666
Posté le 19-12-2002 à 15:40:22  profilanswer
 

nope mais je mets des points d'arrêts aux entrées des fonctions (3 ou 4). Le reste ce sont des boucles! (ouais je sais c'est pas optimisé du tout mais pour l'instant ca fonctionne ;) )

n°272961
mareek
Et de 3 \o/
Posté le 19-12-2002 à 15:43:50  profilanswer
 

ben sans savoir ce que fait ton code, c'est dur de t'aider :/


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
n°272989
Mad666
Posté le 19-12-2002 à 15:57:35  profilanswer
 

bon en gros j'ai quelques zones de liste modifiable et lorsque je clique sur le bouton "ok", je vais lire les valeurs de ces zones de liste et j'en établit des critères pour mes requêtes.
Ca se présente comme ca :
 

Code :
  1. ...
  2. If choixVisu = "Par service" Then
  3.     serv = choixServ.Value
  4. ElseIf choixVisu = "Par ligne" And choixFormat <> "Alarmes" Then
  5.     MiseEnFormeLigne (Null)
  6. End If
  7. If choixFormat = "Graphique" Then
  8.     If choixDonneesGraph = "Avance/Retard" Then
  9.         GraphAR (Null)
  10.     ElseIf choixDonneesGraph = "Temps de parcours" Then
  11.         GraphTP (Null)
  12.     End If
  13. End If
  14. ...


 
MiseEnFormeLigne :

Code :
  1. index1 = choix_arret.Column(3)
  2. index2 = choix_arret2.Column(3)
  3. ...
  4. db.Execute "DELETE * FROM selection_arrets"
  5. db.Execute ("INSERT INTO selection_arrets(arret) SELECT DISTINCT Lieu_fin_section FROM selectArretsLigneReq ;" )


 
GraphTP:

Code :
  1. db.Execute "INSERT INTO tppligne([Date],[Type_jour],Nom,Direction,Parcours,Voyage,Heure_théorique,Heure_passage,Index_parcours) SELECT [Date],Type_jour,Nom,Direction,Parcours,Voyage,Heure_théorique,Heure_passage,Index_parcours FROM tppl;"
  2. ...db.Execute "CREATE TABLE tpparcours (heure TIME, théo INTEGER, Moyenne INTEGER, " & rstLieux!Nom & " INTEGER);"
  3. ...
  4. mise en forme des données et calcul d'une moyenne et de diverses statistiques


 
Et après tout ca j'aboutis à un graphe. Le problème est que ce graphe ne ressort correctement les données qu'une fois de temps en temps. La plupart du temps, on croirait qu'il est tronqué ... :heink:

n°273000
mareek
Et de 3 \o/
Posté le 19-12-2002 à 16:04:04  profilanswer
 

essaye de mettre un DoEvents entre ton

Code :
  1. db.Execute "DELETE * FROM selection_arrets"


et ton

Code :
  1. db.Execute ("INSERT INTO selection_arrets(arret) SELECT DISTINCT Lieu_fin_section FROM selectArretsLigneReq ;" )


 
Ce n'est qu'une suposition, maisla requete delete n'est peut-être pas terminée quand tu commence la requete insert.


Message édité par mareek le 19-12-2002 à 16:04:21

---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
n°273015
Mad666
Posté le 19-12-2002 à 16:13:55  profilanswer
 

c'est pas ca :/
 
edit : mais il n'attend pas la fin de l'éxécution des requêtes SQL avant de continuer son code se con d'ACCESS ???
 
En fait, le coup des points d'arrets ne fonctionne qu'une fois. Pour recommencer de la même façon, il faut que je ferme complètement la base et que je rejoue avec mes points d'arrêts  :pt1cable:
 
edit2 : bon, grosse erreur de ma part : en fait le graphe que je prends pour "bon" est en fait le mauvais et inversement. Donc on recommence : le tout petit (avec 2 ou 3 point), c'est le bon, et le gros (avec 200 ou 300 points), c'est le mauvais, c'est-à-dire que c'est celui qui a été enregistré dans le graphe lorsque je l'ai édité en mode création ( :pfff: quel con ce Mad! :o ). Pour résumer, le mauvais graphe s'affiche de temps en temps. Comment l'en empêcher ? (That is the vrai question !!!)


Message édité par Mad666 le 19-12-2002 à 16:22:49
n°273028
mareek
Et de 3 \o/
Posté le 19-12-2002 à 16:20:24  profilanswer
 

Mad666 a écrit :

c'est pas ca :/
 
edit : mais il n'attend pas la fin de l'éxécution des requêtes SQL avant de continuer son code se con d'ACCESS ???
 
En fait, le coup des points d'arrets ne fonctionne qu'une fois. Pour recommencer de la même façon, il faut que je ferme complètement la base et que je rejoue avec mes points d'arrêts  :pt1cable:

vraiment bizarre ton truc.
 
tu les met où tes points d'arret ?


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
mood
Publicité
Posté le 19-12-2002 à 16:20:24  profilanswer
 

n°273037
Mad666
Posté le 19-12-2002 à 16:24:17  profilanswer
 

regardes mes edits au dessus. En fait mes points sont mis un peu n'importe où et pour recréer cet évènement, il faut que je les mette "plus bas dans le code" :heink:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  acces 2000, VBA et temps d'éxécution

 

Sujets relatifs
[PHP] accès qu système de fichier et vérouillage de fichiers (flock)execution d'un script sql dans vb
[VBA Access] vous connaitriez pas un site bien pour apprendre[PHP] Comment recupperer le temps de generation des pages ???
[HTML] droits / accès refuséMS SQL Server 2000 et Mysql
droits d'accès -> session, cookies, jeton ???[shell-bash] attendre un certain temps avant l'action suivante
Mesure du temps CPU d'une partie d'un programmeExecution d'un programme C
Plus de sujets relatifs à : acces 2000, VBA et temps d'éxécution


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR