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 :

Question sur combobox


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    rrrrrrrrrr
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : rrrrrrrrrr
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 38
    Points
    38
    Par défaut Question sur combobox
    Bonjour à tous
    Est t-il possible de faire des calculs sur les items d'un combobx?
    Mon application consiste à faire entrer un chiffre dans un text1 puis entrer un autre chiffre dans un combobx et le resultat de soustraction s'affiche dans text2.
    Les donnees sont stoqués dans une base de donnees access biensur et à chaque fois que je rentre un nouveau chiffre dans combobox le resultats change dans text2.
    Illustration:
    text2 = combo1.item1 - combo1.item2 - combo1.item3....jusqu'a 5 items.
    J'éspére pouvoir transmettre mon souci.
    Merci d'avance.

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    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 077
    Points : 17 187
    Points
    17 187
    Par défaut
    Salut

    text2 = combo1.item1 - combo1.item2 - combo1.item3....jusqu'a 5 items.
    un ComboBox n'a pas de propriété Item
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim Calcul As Integer, T As Integer
    Calcul = Val(text1.Text)
    For T = 0 To 4
        Calcul = Calcul - combo1.List(T)
    Next T
    text2.Text = CStr(Calcul)
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    rrrrrrrrrr
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : rrrrrrrrrr
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 38
    Points
    38
    Par défaut
    merci infiniment ProgElecT
    Vous etes tres gentil

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    rrrrrrrrrr
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : rrrrrrrrrr
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 38
    Points
    38
    Par défaut
    Excusez moi ProgElecT
    Je reçois un message d'érreur (type mismatch)dans cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Calcul = Calcul - Combo1.List(T)

  5. #5
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    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 077
    Points : 17 187
    Points
    17 187
    Par défaut
    Salut
    Le fait est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Calcul = Calcul - Val(Combo1.List(T))
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    rrrrrrrrrr
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : rrrrrrrrrr
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 38
    Points
    38
    Par défaut
    Merci beaucoup ProgElecT
    Vous etes un homme trés généreux
    Croyez moi aprés 2 jours de recherche sur le web , je pensais que c'ést impossible de trouver un tel code.
    Juste une petite question:
    Est qu'il est possible de stoquer les combo items dans une base de données access car j'ai fouillé partout mais j'ai pas trouvé.
    Autre chose je mets le code que vous m'avez donné dans combo1.change event , je remarque que si je supprime un item, le résultat dans text2 ne change pas.
    Un dernier souci est que je veux que lorsque le nombre des item s'boutent à 4 on ne peut pas ajouter des items de plus.
    j'ai mis ce code mais ça n'a pas marché.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Combo1.ListCount = 4 Then
    Exit Sub
    End If
    Merci

  7. #7
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    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 077
    Points : 17 187
    Points
    17 187
    Par défaut
    Salut
    1 - Est qu'il est possible de stoquer les combo items dans une base de données access car j'ai fouillé partout mais j'ai pas trouvé.

    2 - Autre chose je mets le code que vous m'avez donné dans combo1.change event , je remarque que si je supprime un item, le résultat dans text2 ne change pas.
    Pour le 1, oui, il suffit de boucler sur le nombre d'items contenus dans le ComboBox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For T = 0 To Combo1.ListCount - 1
        Rs.AddNew
        Rs.Fields("NomDuChampsDeLaTable") = Combo1.List(T)
        Rs.Update
    Next T
    Pour le 2, à toi de déterminer quand tu veux que le calcul se fasse, surement à la suite de la commande ou tu retires un item, Pour cela il semblerai judicieux de créer une routine (Function) du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Function ReCalcul()
    Dim T As Integer
     
    Dim Calcul As Integer, T As Integer
    Calcul = Val(text1.Text)
    For T = 0 To Combo1.ListCount - 1 ' <<<<<<<<<<<< ICI cela à changé <<<<<<
        Calcul = Calcul - Combo1.List(T)
    Next T
    ReCalcul = Calcul
    End Function
    A chaque fois qu'il te semble nécessaire d'actualiser le calcul, il suffit d'appeler cette fonction comme celatext2.Text = ReCalculATTENTION, cela reste très très très approximatif, car tu ne nous as pas encore soumis le code que tu as déjà écrit.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    rrrrrrrrrr
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : rrrrrrrrrr
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 38
    Points
    38
    Par défaut
    C'ést génial

    tout se passait tres bien
    Il me reste que ce souci :
    Un dernier souci est que je veux que lorsque le nombre des item s'boutent à 4 on ne peut pas ajouter des items de plus.
    j'ai mis ce code mais ça n'a pas marché.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Combo1.ListCount = 4 Then
    Exit Sub
    End If

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    rrrrrrrrrr
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : rrrrrrrrrr
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 38
    Points
    38
    Par défaut
    Excusez moi Mr ProgElecT
    Je viens de rendre compte que si je voulais récupérer les 'items' du combobox que j'ai fait enregistrer, je ne trouve que le dernier 'item'.
    Je ne sais pas s'il s'agit d'une érreur pendant l'enregistrement ou lors du recherche.
    code d'enregistrement:
    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
    RS.Open "select * from tbl1" & _
            " where nom    = '" & Text1.Text & "' " & _
            "   and prenom = '" & Text2.Text & "'", _
            DB, adOpenDynamic, adLockOptimistic
     
        If RS.BOF = True Then
     
     
            RS.Open "select * from tbl1", _
                    DB, adOpenDynamic, adLockOptimistic
            RS.AddNew
     
                RS!nom = Text1.Text
                RS!prenom = Text2.Text
                RS!age = Text3.Text
                RS!adr = Text4.Text
                 RS!tel = Text5.Text
     
                For T = 0 To Combo1.ListCount - 1
     
                RS!verse = Combo1.List(T)
     
                     Next T
                 RS.Update
                 RS.MoveNext
    code de recherche:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    RS.Open "select * from tbl1 where nom like '" & Text1.Text & "' And prenom like '" & Text2.Text & "%'", DB, adOpenStatic, adLockOptimistic
    If RS.RecordCount > 0 Then
     
     Text1.Text = RS!nom
     Text2.Text = RS!prenom
     Text3.Text = RS!age
     Text4.Text = RS!adr
     Text5.Text = RS!tel
    Do While RS.EOF = False
            Combo1.AddItem RS!verse
            RS.MoveNext
        Loop
        rs.update
    end if

  10. #10
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    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 077
    Points : 17 187
    Points
    17 187
    Par défaut


    Enregistrement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                For T = 0 To Combo1.ListCount - 1
                    RS!verse = Combo1.List(T)
                Next T
                RS.Update
    Le problème
    quant T = 0 tu remplis le champs RS!verse avec le première valeur de la liste du combo1
    quant T = 1 tu re remplis le champs RS!verse avec le deuxième valeur de la liste du combo1
    quant T = 2 tu re re remplis le champs RS!verse avec le troisième valeur de la liste du combo1
    quant T = 3 tu re re re remplis le champs RS!verse avec la quatrième valeur de la liste du combo1
    quant tu sors de la boucle tu enregistres donc la dernière valeur donnée à RS!verse

    Deux solutions parmi d'autres
    Soit tu veux mémoriser les 4 valeurs contenues dans le combo1, donc il te faut 4 champs verse (verse1, verse2, verse3 et verse4)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
                'For T = 0 To Combo1.ListCount - 1
                    RS!verse1 = Combo1.List(0)
                    RS!verse2 = Combo1.List(1)
                    RS!verse3 = Combo1.List(2)
                    RS!verse4 = Combo1.List(3)
                'Next T
                RS.Update
    Soit tu compiles chaque versement en mettant un séparateur de façon à pouvoir les distinguer plus tard, dans se cas le champs verse devra être de type String.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
                RS!verse = Combo1.List(0)
                For T = 1 To Combo1.ListCount - 1
                    RS!verse = RS!verse & "|" & CStr(Combo1.List(T))
                Next T
                If Combo1.ListCount < 4 Then
                    For T = Combo1.ListCount To 3
                        RS!verse = RS!verse & "|" & "0"
                    Next T
                End If
                RS!verse = RS!verse & "|"
     
                RS.Update
    Lecture:
    Remplir le combobox
    Si tu as choisis d'avoir 4 champs versements
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                    Combo1.Clear
                    Combo1.AddItem RS!verse1
                    Combo1.AddItem RS!verse2
                    Combo1.AddItem RS!verse3
                    Combo1.AddItem RS!verse4
    Si tu as choisis de n'avoir qu'un champs versement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim SeparValeur() As String
                    Combo1.Clear
                    SeparValeur = Split(RS!verse, "|")
                    For T = 0 To 3
                    Combo1.AddItem SeparValeur(T)
                    Next T
    Motif de l'édition: correction du code compiles chaque versement
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    rrrrrrrrrr
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : rrrrrrrrrr
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 38
    Points
    38
    Par défaut
    Vraiment je ne sais comment te remercier.
    Vous étes roi du programmation.
    le temps ou je commence à déséspérer tu viens pour me sauver.
    Merci mille et mille fois.
    Le premier code fonctionne tres bien .
    Le deuxieme , il m'affiche seulement le item que je fais entrer le premier avec 3 zeros.
    Cependant un seul code me suffit.
    Merci encore des milliers de fois.

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

Discussions similaires

  1. Question sur : Combobox SelectedValue
    Par joce_ dans le forum Windows Forms
    Réponses: 5
    Dernier message: 30/01/2010, 14h19
  2. Question sur les ComboBox
    Par Elwe31 dans le forum VB.NET
    Réponses: 2
    Dernier message: 21/02/2008, 08h51
  3. Question sur les combobox
    Par mitch99 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 25/06/2007, 15h37
  4. Question sur les comboBox
    Par gibea00 dans le forum Framework .NET
    Réponses: 1
    Dernier message: 15/01/2007, 08h18
  5. une petite question sur les combobox
    Par kerkennah dans le forum Windows Forms
    Réponses: 3
    Dernier message: 11/01/2007, 05h59

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