Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Progression du chargement du recordset [ Base de données / ADO & DAO ] (jhon_smith)

mercredi 30 août 2006 à 02:11:34 | Progression du chargement du recordset

jhon_smith

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 !


mercredi 30 août 2006 à 09:24:56 | Re : Progression du chargement du recordset

Renfield

Administrateur CodeS-SourceS
evites de mettre de long traitements dans le Form_Load.
tu peux simplement le placer dans un Timer, avec un Interval de 200, par exemple :

Private Sub CcTimerDeferLoad_Timer()
    CcTimerDeferLoad.Enabled = False

    '# Initialisation de la fenêtre
    <== Ici ton code ADO
End Sub


Renfield
Admin CodeS-SourceS- MVP Visual Basic

mercredi 30 août 2006 à 13:07:24 | Re : Progression du chargement du recordset

jhon_smith

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


mercredi 30 août 2006 à 14:27:26 | Re : Progression du chargement du recordset

Renfield

Administrateur CodeS-SourceS
faut voir si c'est vraiment long a charger...
y'a peut-être moyen d'accelerer la chose

Renfield
Admin CodeS-SourceS- MVP Visual Basic

mercredi 30 août 2006 à 14:29:24 | Re : Progression du chargement du recordset

jhon_smith

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 ..


mercredi 30 août 2006 à 14:33:52 | Re : Progression du chargement du recordset

Renfield

Administrateur CodeS-SourceS

faut voir les traitemens effectués au chargement.... je suis surpris qu'une simplem requête soit si longue a executer.

Renfield
Admin CodeS-SourceS- MVP Visual Basic

mercredi 30 août 2006 à 14:43:10 | Re : Progression du chargement du recordset

jhon_smith

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()
With RS
Ref.Text = .Fields(0)
Qua.Text = .Fields(7)
Frns.Text = .Fields(1)
Prix.Text = .Fields(5)
Nom.Text = .Fields(2)
Cat.Text = .Fields(3)
Inst.Text = .Fields(4)
Desc.Text = .Fields(8)
Dat_A.Text = .Fields(6)
End With
Ref.BackColor = &HFFFFFF
Qua.BackColor = &HFFFFFF
Frns.BackColor = &HFFFFFF
Prix.BackColor = &HFFFFFF
Nom.BackColor = &HFFFFFF
Cat.BackColor = &HFFFFFF
Inst.BackColor = &HFFFFFF
Desc.BackColor = &HFFFFFF
Dat_A.BackColor = &HFFFFFF
End Function

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 ?


mercredi 30 août 2006 à 15:05:59 | Re : Progression du chargement du recordset

domsig

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...

mercredi 30 août 2006 à 15:12:54 | Re : Progression du chargement du recordset

jhon_smith

oui , Merci , ça m'arange comme idée ..

mercredi 30 août 2006 à 15:24:24 | Re : Progression du chargement du recordset

jhon_smith

Désolé mais ça ne marche pas .. la temps qu'il prend en chargment est relié à RS.open je crois ..


1 2

Cette discussion est classé dans : base, recordset, chargement, progression, méthode


Répondre à ce message

Sujets en rapport avec ce message

ADO et SEEK [ par max ] Je travaille en ADO.Je rencontre un problème avec l'utilisation de la méthode SEEK sur un objet recordset lorsque l'index comporte plusieurs éléments pb connexion à un recordset avec mot de passe [ par superchinois ] Salut ! J'ai fait un logiciel qui se connecte a une bd access. Tout fonctionne. Ensuite, j'ai rajouté une connexion à ma base par mot de passe. A méthode Delete d'un recordset [ par CochonPerdu ] Je veux supprimer plusieurs enregistrements d'un coup.Voici mon code. Les lignes sont effectivement supprimées mais il me mets une erreur :"Key column dbgrid [ par lolobro ] salut,au chargement d'un formulaire j'affecte un recordset à la propriété "datasource" d'un dbgrid. lorsque j'utilise le fournisseur OLE DB 3.51, ça f Méthode MoveNext de l'objet Recordset [ par vinou02 ] Bonjour, quelqu'un pourrait il m'expliquer ce que fait concretement la méthode moveNext de la collection Recordset en fait je voudrais appliquer le me pb de base de donné [ par marmotte ] j'ai une erreur sur la methode addnew d'un recordseterreur de complialtion parce qu'un recordset definit a partir d'une requete sql serait en lecture pb de base de donné [ par marmotte ] j'ai une erreur sur la methode addnew d'un recordseterreur de complialtion parce qu'un recordset definit a partir d'une requete sql serait en lecture Lier une DataGrid A un RecordSet [ par vad23 ] Mon probleme est le suivant , je dois lie uneDatagrid a un ADOR.RecordSet .Le but est de pouvoir recuperer tous les champs d'une base de donnée, effec Methode DAO et recordset ou autre ?? [ par Kyler ] Voila g une base de donnee sur un os special (THEOS) je recupere la base en me connectant sur le serveur en direct par l'intermediaire d'un ocx que ma Access 97, VBA [ par Mike ] Salut,Donc j'ai ma feuille VBA, dessus je place un controle "sous formulaire - sous etat" ça ressemble a une datagrid VB. le probleme c que je dois pa


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.