jhon_smith
Messages postés40Date d'inscriptionjeudi 16 octobre 2003StatutMembreDernière intervention30 mars 2007
-
30 août 2006 à 02:11
domsig
Messages postés125Date d'inscriptionlundi 6 septembre 2004StatutMembreDernière intervention11 mai 2010
-
31 août 2006 à 10:09
Bonsoir,
Voilà, j'ai fait un petit programme qui se connecte à une base à l'aide de la méthode ADO, le problème c'est que après avoir bien rempli la base , il prend plus de temps pour la charger et puisque j'ai mis le chargement au form_load , ça donne l'air de ne pas marcher .. si c'est possible y a t il une méthode de résoudre ce problème en detectant le niveau de chargment du recordset et le relier à une progressBar .. Merci d'avance !
domsig
Messages postés125Date d'inscriptionlundi 6 septembre 2004StatutMembreDernière intervention11 mai 2010 30 août 2006 à 16:05
alors si c'est ton rs.open qui prend du temps, juste avant tu affiches une petite form sur laquelle tu mets un message d'attente (éventuellement un gif animé) et dès que ton open est fait, tu l'enlèves...
à voir
jhon_smith
Messages postés40Date d'inscriptionjeudi 16 octobre 2003StatutMembreDernière intervention30 mars 2007 30 août 2006 à 13:07
Merci pour le conseil au sujet de la form load .. mais est-ce qu'il n'est pas possible de relier le chargement avec une progressbar ? ça aura l'air plus professionnel .. Merci d'avance
Vous n’avez pas trouvé la réponse que vous recherchez ?
jhon_smith
Messages postés40Date d'inscriptionjeudi 16 octobre 2003StatutMembreDernière intervention30 mars 2007 30 août 2006 à 14:29
Voilà, j'ai une petite idée à chaque fois que l'utlisateur quitte l'application , je fais un savesetting du nombre d'enregistrements , au chargement de l'application je lance ma fenetre en visible=false et en meme temps une autre petite fenetre avec progressbar qui sera parametrer par le nombre d'enregistrements que j'avais enregistrer .. à la fin de la progessBar , la fentre s'affiche , que pensez-vous ? si vous croyez que ça fera l'affaire merci de m'aider à formuler tout ça ..
jhon_smith
Messages postés40Date d'inscriptionjeudi 16 octobre 2003StatutMembreDernière intervention30 mars 2007 30 août 2006 à 14:43
Private Sub Form_Load()
Set Con = New ADODB.Connection
Set RS = New ADODB.Recordset
'préparation de la connection
Con.ConnectionString = "c:\gmao.mdb"
Con.Provider = "Microsoft.Jet.OLEDB.4.0"
Con.Open
'Préparation du recordset
SQL_Query = "SELECT * FROM Stock"
RS.Open SQL_Query, Con, adOpenKeyset, adLockOptimistic
'fonction remplir liste
Remplir_Liste
'fonction remplir les champs
Remplir
End Sub
Function Remplir_Liste()
'remplir la liste
List_Objets.Clear
RS.MoveFirst
While Not RS.EOF
List_Objets.AddItem RS("Reference")
RS.MoveNext
Wend
RS.MoveFirst
List_Objets.Selected(0) = True
End Function
voilà .. je crois que le temps est proportionel au nombre d'enregistrements .. que pensez-vous de mon idée là haut ?
domsig
Messages postés125Date d'inscriptionlundi 6 septembre 2004StatutMembreDernière intervention11 mai 2010 30 août 2006 à 15:05
salut
je m'emm... au boulot alors tiens, je vais essayer de répondre.
Sur ta form il y a un progress bar (pb).
Dans ton Function Remplir_liste(), avant RS.MoveFirst, tu intercales RS.MoveLast puis pb.max=RS.Recordcount, enfin pb.value=0.
Ensuite avant ton RS.MoveNext tu intercale pb.value=pb.value+1...
Hein, essaye, ça me distrait...