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 :

[Vb6] Checkbox en grand nombre


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 7
    Par défaut [Vb6] Checkbox en grand nombre
    Bonjour,

    Etant technicien informatique, pour les besoins de mon travail (surtout gagner du temps) j'ai cherché à automatiser via Vb6 une manipulation sur une grosse base de donnée.
    Je vous explique le problème, en esperant que quelqu'un ai une solution relativement simple, je ne connais pas grand chose en developpement...

    Je cherche à faire une sorte de boucle, permetant de verifier sur toutes mes checkbox (environ 160) la "value" suite à l'appuis sur un bouton, et d'enregistrer dans un fichier texte le Caption de ces checkbox. Puis de l'executer en msdos (ca je sais faire) grace à un exe.

    Mes portes ont pour Caption : TORQxxx (xxx étant leurs numéro)
    Idéalement, le fichier texte devrait avoir pour forme :
    TORQ001
    TORQ002
    TORQ146
    etc ...

    Avez vous une idée, si la chose est faisable ou si je perds mon temps.
    Merci par avance

  2. #2
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Salut

    La solution des groupes de contrôles est encore une fois (parce que très souvent traitée ici) à l'honneur.

    Tu crée le premier checkBox, lui attribue un nom et mets sa propriété Index à 0.
    En faisant des Copier / Coller de ce contrôle, tu auras tous tes CheckBox et tu pourras les manipuler comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim i As Integer
    For i = 0 to TORQ.Count - 1
        If TORQ(i).Checked = 1 Then
            ...
        End If
    Next

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 7
    Par défaut
    Je te remercie de ta réponse rapide, je teste ca dès demain, là c'est l'heure de rentrer à la maison.
    Bonne soirée

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 7
    Par défaut
    Bonjour,

    J'ai rajouté ces quelques lignes dans mon code, et une erreur reviens à chaque test :

    Run-time error '438':
    Object doesn't support this property or method

    Sur le debug il me souligne la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If TorQ(i).Value = 1 Then
    (j'ai essayé avec .Value et .checked)

    Mon code pour le bouton testé est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub ouv_urg_Click(Index As Integer)
    Dim i As Integer
    For i = 0 To TorQ.Count - 1
        If TorQ(i).Value = 1 Then
        MsgBox "plop", , "plop"
        End If
    Next
    End Sub
    Dans Vb, mes checkbox ont pour nom : TORQxxx(xxx)
    le (xxx) étant surement due à l'index
    J'ai donc essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub ouv_urg_Click(Index As Integer)
    Dim i As Integer
    For i = 0 To TorQ.Count - 1
        If TorQ(i)(i).Value = 1 Then
        MsgBox "plop", , "plop"
        End If
    Next
    End Sub
    Mais là il me renvoit :
    Run-time Error '344':
    Must specify index for object array


    Le msgbox Plop est juste là pour tester le fonctionnement
    A quoi correspond cette erreur ?
    Merci d'avance,
    Ge Force

  5. #5
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Hum, Il y a eu quiproco, je crois
    Dans ta feuille, tous les checkbox doivent avoir la meme propriété name, seule la propriété index doit changer. dans ce cas, tous les composants portant le meme nom forment un groupe. On peut alors accèder a chacun des membres du groupe par son index.
    Tu peux avoir plusieurs groupes aussi, a ce momment la , tous les composants de cet aurte groupe doivent avoir le meme nom, différent de ceux du premier groupe.
    Exemple, une serie de checkbox portent le nom TorQ1 et une autre serie TorQ2. Dans le premier groupe, il y a 10 checkbox et dans le deuxieme 5
    on pourrait alors ecrire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    For iPnt=0 to 9
     if TorQ1(iPnt)=1 then
      'bla bla
     end if
    next
    For iPnt=0 to 4
     if TorQ2(ipnt)=1 then
      'blable
     end if
    Next
    Voila j'espere que c'est plus clair maintenant

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 7
    Par défaut
    Génial Je vais activer le neurone et essayer d'integrer (et digérer) ta réponse
    C'est pas évident de faire ce genre de choses en ayant jamais fais de developpement avant...

    Tu as une idée pour réussir a envoyer le Caption de mes TORQ dans un fichier texte dans le format :

    TORQxxx
    TORQxxx
    TORQxxx

    Le but ultime étant de generer un fichier texte contenant mes TORQ cochées, et executer mon autre script pour l'integrer à la base.
    De la sorte j'aurai un joli prog qui evitera de cliquer sur chaque porte à changer d'état

    PS : merci beaucoup à vous amis informaticiens de l'autre bord (des developpeurs ^_^) de me dépanner, j'apprecie

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Vitesse et grand nombre de tuples...
    Par TitiFr dans le forum Bases de données
    Réponses: 9
    Dernier message: 07/07/2005, 14h04
  2. Réponses: 3
    Dernier message: 22/05/2005, 12h59
  3. requete sql sur un grand nombre d enregistrement
    Par marielaure dans le forum Langage SQL
    Réponses: 5
    Dernier message: 13/08/2004, 11h53
  4. Traitement d'un grand nombre de champ
    Par k-lendos dans le forum Langage SQL
    Réponses: 8
    Dernier message: 17/03/2004, 15h13
  5. Une unité pour gérer des très grands nombres
    Par M.Dlb dans le forum Langage
    Réponses: 2
    Dernier message: 09/09/2003, 12h07

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