IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Progressbar et base de données


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2004
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 62

    Informations forums :
    Inscription : Décembre 2004
    Messages : 73
    Points : 31
    Points
    31
    Par défaut Progressbar et base de données
    bonjour

    J'ai une application qui lit une table access pour initialiser des boutons (couleur, intitulé, visibilité, action, etc etc) il y en a environ 500 boutons

    Au demarrage de l'application, j'initialise cette form au click sur un bouton.

    Mais avant d'avoir le résultat (que la feuille s'affiche) tout est figé et c'est un peu long.

    J'aimerais créer un progressbar qui montre l'évolution mais je n'ai aucune idée de comment faire. Savez vous ou trouver cela ?

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    For j = 1 To 7
            StrQuery = " SELECT * FROM T_Ecrans Where Id_Ecran = " & j & ""
            cn.Open StrConnex
            rstableau.Open StrQuery, cn, adOpenDynamic, adLockOptimistic, adCmdText
     
            If rstableau.RecordCount > 0 Then
                rstableau.MoveFirst
                Tableau(j).BackColor = rstableau.Fields(1).Value
                Appel_Form(j).BackColor = rstableau.Fields(1).Value
                For i = 1 To rstableau.RecordCount
                    vkCommand1(i + Tabl).Caption = rstableau.Fields(4).Value
                    vkCommand1(i + Tabl).BackColor1 = rstableau.Fields(7).Value
                    vkCommand1(i + Tabl).BackColor2 = rstableau.Fields(7).Value
                    vkCommand1(i + Tabl).ForeColor = rstableau.Fields(5).Value
                    vkCommand1(i + Tabl).Font.Size = rstableau.Fields(6).Value
                    vkCommand1(i + Tabl).Font.Name = "Courier"
                    ......
                    ..... 
                    vkCommand1(i + Tabl).Refresh (True)
                    Label1(i + Tabl).Caption = rstableau.Fields(3).Value
                    Label1(i + Tabl).Visible = False
     
                    If rstableau.Fields(8).Value Then
                        vkCommand1(i + Tabl).Visible = True
                    Else
                        vkCommand1(i + Tabl).Visible = False
                    End If
                    rstableau.MoveNext
     
               Next i
            End If
     
            Tabl = Tabl + 63
            cn.Close
        Next j

  2. #2
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 078
    Points : 17 137
    Points
    17 137
    Par défaut
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    ProgressBar1.Value = 0
    ProgressBar2.Value = 0
    ProgressBar1.Max = 7
    Me.Refresh
    For j = 1 To 7
            StrQuery = " SELECT * FROM T_Ecrans Where Id_Ecran = " & j & ""
            cn.Open StrConnex
            rstableau.Open StrQuery, cn, adOpenDynamic, adLockOptimistic, adCmdText
            ProgressBar1.Value = j: ProgressBar1.Refresh: DoEvents
            ProgressBar2.Value = 0
            If rstableau.RecordCount > 0 Then
                ProgressBar2.Max = rstableau.RecordCount
                rstableau.MoveFirst
                Tableau(j).BackColor = rstableau.Fields(1).Value
                Appel_Form(j).BackColor = rstableau.Fields(1).Value
                For i = 1 To rstableau.RecordCount
                 ProgressBar2.Value = i: ProgressBar2.Refresh: DoEvents
     
    ' ..........................
     
               Next i
            End If
     
            Tabl = Tabl + 63
            cn.Close
        Next j
     
    End Sub
    Les ProgressBar2xValue = i: ProgressBarx.Refresh: DoEvents vont légerement ralentir ta boucle
    pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2004
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 62

    Informations forums :
    Inscription : Décembre 2004
    Messages : 73
    Points : 31
    Points
    31
    Par défaut
    Merci pour ta réponse, mais je ne vois pas les progressbar et tout reste malgré tout figé

    Merci

  4. #4
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 078
    Points : 17 137
    Points
    17 137
    Par défaut
    je ne vois pas les progressbar

    j'espére seulement que tu as chargé, dans la boite de composants, le suplement : Contrôles communs Microsoft Windows 6.0 => MsComCtl.ocx, et que tu en as posé 2 sur ton Form
    pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Nouveau membre du Club
    Inscrit en
    Décembre 2004
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 62

    Informations forums :
    Inscription : Décembre 2004
    Messages : 73
    Points : 31
    Points
    31
    Par défaut
    ben oui... sinon j'aurais eu une erreur du style "objet requis"

  6. #6
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 078
    Points : 17 137
    Points
    17 137
    Par défaut
    Dans ce cas, construis un Form ne contenant que les 2 progressbars, et le bouton de lancement, fais un load de/des Forms qui contiennent les boutons que tu vas paramétrer, utilises la routine et en fin tu rends visible (Form.Show) la/les Forms contenant maintenant les boutons paramétrés et décharge cette Form (unload.Me) ne servant qu’au démarrage de ton programme.
    pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

Discussions similaires

  1. ProgressBar sur une TForm lié à un traitement base de données
    Par phpdev dans le forum Threads & Processus
    Réponses: 2
    Dernier message: 22/04/2015, 03h07
  2. Réponses: 4
    Dernier message: 27/08/2007, 12h11
  3. [ProgressBar] Chargement de la base de données
    Par salut_nabil dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/02/2007, 15h49
  4. [Concept] Stabilité d'une base de donnée
    Par lassmust dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 03/07/2002, 16h16
  5. associer une base de données(access) a un dbgrid
    Par ange1708 dans le forum MFC
    Réponses: 3
    Dernier message: 11/06/2002, 12h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo