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 :

Chercher n° manquant dans une liste


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 28
    Points : 14
    Points
    14
    Par défaut Chercher n° manquant dans une liste
    Bonjour

    Je désire chercher les numéros manquants dans une base de donnée et les lister dans une combo.

    J'ai une erreur lorsque je trouve le premier n° manquant et je ne sais pas comment le gérer.
    Avez vous une idée ?

    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
     
    vnum = 1
    Do While vnum < 8000
    Set db = DBEngine.Workspaces(0).OpenDatabase("C:\test.MDB")
    sql = "select [NUMCLI] from table1 where [NUMCLI] =" & vnum
    Set ds = db.CreateDynaset(sql)
    Do While ds.EOF = False
     
    If IsNull(ds("NUMCLI")) Then
    Combo2.AddItem DS("NUMCLI").Value
    Else
    ds.MoveNext
    End If
     
    vnum = vnum + 1
    Loop
    ds.Close
    Combo2 = Combo2.List(0)
    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 105
    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 105
    Points : 16 623
    Points
    16 623
    Par défaut
    Citation Envoyé par DUMEDO Voir le message
    Bonjour
    ....
    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
    vnum = 1
    Set db = DBEngine.Workspaces(0).OpenDatabase("C:\test.MDB") '<-------****
    Do While vnum < 8000
        sql = "select [NUMCLI] from table1 where [NUMCLI] =" & vnum
        Set ds = db.CreateDynaset(sql)
        Do While ds.EOF = False
     
            If IsNull(ds("NUMCLI")) Then
                Combo2.AddItem ds("NUMCLI").Value
                Else
                ds.MoveNext
            End If
     
            vnum = vnum + 1
        Loop
        ds.Close
        Combo2 = Combo2.List(0) '<------- ????????
        '<------- ????????
    Loop
    Merci d'avance
    On ne voit pas le Loop de la boucle externe, je supose donc que db n'est pas clos, se qui expliquerait une erreur '<-------**** car au 2° passage db est toujours ouvert.

    La fonction IsNull renvoie la valeur True si l'argument expression est de type Null, tu demandes d'ajouter (Combo2.AddItem DS("NUMCLI").Value) une valeur Null ???

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 28
    Points : 14
    Points
    14
    Par défaut
    bonjour

    merci pour ta réponse.
    En effet mon souci vient de la valeur null dans ma combo.
    As tu une idée comment procéder.
    Quand au db, ce n'est pas bloquant...

    Merci d'avance

    dumedo

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 28
    Points : 14
    Points
    14
    Par défaut
    Re bonjour

    je viens de modifier le code remplissant ma combo avec ceci
    Vnum étant le n° manquant

    Combo2.AddItem vnum
    Mais j'ai l'erreur suivante (erreur 3021 : pas d'enregistrement courant) dès que le chiffre manquant est atteint.

    Comment continuer la recherche et récupérer dans cette combo chaque n° manquant ?

    Merci d'avance

  5. #5
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 105
    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 105
    Points : 16 623
    Points
    16 623
    Par défaut
    Citation Envoyé par reprise de la question
    Bonjour

    Je désire chercher les numéros manquants dans une base de donnée et les lister dans une combo
    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
    vnum = 1
    Set db = DBEngine.Workspaces(0).OpenDatabase("C:\test.MDB") 
    Do While vnum < 8000
        sql = "select [NUMCLI] from table1 where [NUMCLI] =" & vnum
        Set ds = db.CreateDynaset(sql)
        If ds.EOF Then
            'le recordset est vide, le N° n'est pas dans la table
            Combo2.AddItem vnum
            Else
            'le recordset a renvoyer au moins un enregistrement correspondant à vnum
            ds.Close
        End If
        vnum = vnum + 1
    Loop
    db.Close
     
    If Combo2.ListCount = 0 Then Combo2.AddItem "il ne manque aucun numéro"
    Combo2.ListIndex = 0

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 28
    Points : 14
    Points
    14
    Par défaut Merci
    Bonjour


    Je me compliquais la tache...

    Merci beaucoup pour votre aide

    Dumedo

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

Discussions similaires

  1. [XL-2013] chercher un nombre dans une liste
    Par SimKmil dans le forum Excel
    Réponses: 3
    Dernier message: 03/04/2014, 11h30
  2. Ajouter une valeur manquante dans une liste déroulante
    Par fremarnat dans le forum VBA Access
    Réponses: 0
    Dernier message: 05/11/2013, 15h24
  3. Numéro manquant dans une liste
    Par islande dans le forum Excel
    Réponses: 7
    Dernier message: 24/04/2012, 20h14
  4. Chercher un objet dans une liste d'objet
    Par Axiome dans le forum Windows Forms
    Réponses: 5
    Dernier message: 10/10/2008, 09h43
  5. Chercher un élément dans une liste
    Par johnkro dans le forum Langage
    Réponses: 10
    Dernier message: 15/05/2008, 11h49

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