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 :

Probleme de boucle do loop


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 661
    Par défaut Probleme de boucle do loop
    Voila je fais un recherche dans une table mais ya plusieurs resultats donc je demande d 'affiché les differents resultats dans une combo box pour que l utilisateurs selectionne celui de son choix le probleme c est que le dernier resultat s'affiche deux fois dans la combo box

    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
    Private Sub cb_cp_Click()
     
        Dim int_val_champ As Integer
        Dim int_index As Integer
     
        cb_localite.Clear
     
        int_val_champ = Val(cb_cp.Text)
     
        data_cp.Recordset.FindFirst "Code" & "=" & int_val_champ
     
        cb_localite.AddItem data_cp.Recordset.Fields("Localite")
     
            Do
     
                If data_cp.Recordset.NoMatch = True Then
     
                    Exit Do
     
                Else
     
                    data_cp.Recordset.FindNext "Code" & "=" & int_val_champ
                    cb_localite.AddItem data_cp.Recordset.Fields("Localite")
     
                End If
     
            Loop
     
     
     
     
    End Sub
    meric d avance

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 117
    Par défaut
    Salut

    Pourquoi tu fais une boucle ??

    Tu recherches uniquement une valeur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    If Not data_cp.Recordset.NoMatch Then
      data_cp.Recordset.FindNext "Code" & "=" & int_val_champ
      cb_localite.AddItem data_cp.Recordset.Fields("Localite")
    End If
    [EDIT]
    Le champ Code n'est pas unique hein ?!
    [/EDIT]

  3. #3
    Membre éclairé Avatar de GodGives
    Inscrit en
    Août 2007
    Messages
    456
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Août 2007
    Messages : 456
    Par défaut
    Le code est apparement parfait!
    Dans l'espoir que le doublon ne se situe pas dans le recordset, je te propose d'essayer ceci:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub cb_cp_Click()
     
    Dim int_val_champ As Integer
    Dim int_index As Integer
    cb_localite.Clear
    int_val_champ = Val(cb_cp.Text)
    data_cp.Recordset.FindFirst "Code" & "=" & int_val_champ
     
    While data_cp.Recordset.NoMatch = True
       cb_localite.AddItem data_cp.Recordset.Fields("Localite")
       data_cp.Recordset.FindNext "Code" & "=" & int_val_champ                       
    Wend
     
    End Sub

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 117
    Par défaut
    Citation Envoyé par GodGives Voir le message
    Le code est apparement parfait!
    Dans l'espoir que le doublon ne se situe pas dans le recordset, je te propose d'essayer ceci:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub cb_cp_Click()
    
    Dim int_val_champ As Integer
    Dim int_index As Integer
    cb_localite.Clear
    int_val_champ = Val(cb_cp.Text)
    data_cp.Recordset.FindFirst "Code" & "=" & int_val_champ
          
    Do While data_cp.Recordset.NoMatch = True
       cb_localite.AddItem data_cp.Recordset.Fields("Localite")
       data_cp.Recordset.FindNext "Code" & "=" & int_val_champ                       
    Loop
    End Sub
    Sauf qu'en VB les mots clés pour la boucle sont un peu différents

  5. #5
    Expert confirmé
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    Citation Envoyé par trollinou Voir le message
    Sauf qu'en VB les mots clés pour la boucle sont un peu différents
    Faux, alors arrête de nous le mettre dans tous les posts !!

    depuis quand :
    ne fonctionne pas en VB6 ??

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 117
    Par défaut
    Citation Envoyé par ThierryAIM Voir le message
    Faux, alors arrête de nous le mettre dans tous les posts !!
    Les deux posts ont quand même un point commun ... la boucle.

    Citation Envoyé par ThierryAIM Voir le message
    depuis quand :
    ne fonctionne pas en VB6 ??
    Toutes mes plus plates, effectivement le While ... Wend fonctionne.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 661
    Par défaut
    Merçi

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

Discussions similaires

  1. [VBA-E] PRobleme avec une boucle DO..LOOP WHILE
    Par AliochaBada dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 31/07/2006, 01h04
  2. Probleme de boucle avec des processus sous UNIX
    Par sebastieng dans le forum POSIX
    Réponses: 6
    Dernier message: 15/10/2005, 18h57
  3. [Language]Problème de boucle
    Par marc_dd dans le forum Langage
    Réponses: 11
    Dernier message: 06/10/2005, 14h24
  4. Problem de boucle.....
    Par skad dans le forum C++
    Réponses: 6
    Dernier message: 29/09/2005, 16h28
  5. [C#] Probleme de boucle for et random
    Par Freeman166 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 09/01/2005, 14h34

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