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.NET Discussion :

Extraire les données UNIQUE d'une colonne de listView [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 136
    Par défaut Extraire les données UNIQUE d'une colonne de listView
    Bonjour.

    J'ai une listView qui comprend 2 colonnes. La première colonne est unique pour chaque enregistrement. La deuxième colonne peux recevoir des données identiques. Voici un exemple ci-dessous :

    Colonne 1 - Colonne 2
    1 DS5
    2 DS4
    3 DS3
    4 C4
    5 DS4
    6 DS3
    7 C4

    Ce que j'aimerais c'est dans une combobox récupérer (DS5 - DS4 - DS3 - C4).

    Pour le moment je fais une boucle sur la listView, a chaque données lu, je vais lire un fichier ini, et si la donnée existe dans le fichier ini, je passe à la donnée suivante sinon j'inscrit la donnée dans le fichier ini. Mais ça ne marche pas. Je récupère "DS5" est puis pas plus.

    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
    For I = 0 To (Nb_item - 1)
                voiture = Me.ListView.Items.Item(I).SubItems.Item(5).Text
     
                For J = 1 To 1000
                    val_ini = Cls_Ini.INIRead(Lien_ini, "Voiture", "V" & I)
     
                    If val_ini = voiture Then
                        O_N = "0"
                        Exit For
                    ElseIf val_ini = "" Then
                        O_N = "1"
                        Val_J = J
                        Exit For
                    End If
                Next J
     
                If O_N = "1" Then
                    Cls_Ini.INIWrite(Lien_ini, "Voiture", "V" & Val_J, voiture)
                End If
     
            Next I
    Quelqu'un à une idée pour que j'arrive à récupérer les données ?

    Merci

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Bonjour,

    Je n'ai pas approfondi ton algo, mais ta boucle For J = 1 To 1000 ne sert à rien
    Tu lis 1000 fois Cls_Ini.INIRead(Lien_ini, "Voiture", "V" & I)
    Par rapport à ton exemple de liste tu lis 1000 fois les 7 premières lignes du fichier ini.
    Ce doit être J

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        For I = 0 To (Nb_item - 1)
                voiture = Me.ListView.Items.Item(I).SubItems.Item(5).Text
                 For J = 1 To 1000
                    val_ini = Cls_Ini.INIRead(Lien_ini, "Voiture", "V" & J)
     
                    If val_ini = voiture Then
                        Exit For
                    ElseIf val_ini = "" Then
                        Cls_Ini.INIWrite(Lien_ini, "Voiture", "V" & J, voiture)
                        Exit For
                    End If
                Next J
        Next I
    Après, je n'ai pas approfondi s'il y avait autre chose
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 136
    Par défaut
    Citation Envoyé par rv26t Voir le message
    Bonjour,

    Je n'ai pas approfondi ton algo, mais ta boucle For J = 1 To 1000 ne sert à rien
    Tu lis 1000 fois Cls_Ini.INIRead(Lien_ini, "Voiture", "V" & I)
    Par rapport à ton exemple de liste tu lis 1000 fois les 7 premières lignes du fichier ini.
    Ce doit être J

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        For I = 0 To (Nb_item - 1)
                voiture = Me.ListView.Items.Item(I).SubItems.Item(5).Text
                 For J = 1 To 1000
                    val_ini = Cls_Ini.INIRead(Lien_ini, "Voiture", "V" & J)
     
                    If val_ini = voiture Then
                        Exit For
                    ElseIf val_ini = "" Then
                        Cls_Ini.INIWrite(Lien_ini, "Voiture", "V" & J, voiture)
                        Exit For
                    End If
                Next J
        Next I
    Après, je n'ai pas approfondi s'il y avait autre chose
    Dans ma logique, je ne sait pas faire encore la boucle, "Tant que" du coup,,,

    For J = 1 to 1000 <== me permet de lire dans le INI jusqu'à 1000 valeur et un peu plus loin, je dis que si la valeur lu = rien alors tu arrête le "For". C'est en gros un "Tant que" détourner. Pas class, mais généralement ça marche.

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Citation Envoyé par kitcarflo Voir le message
    For J = 1 to 1000 <== me permet de lire dans le INI jusqu'à 1000 valeur et un peu plus loin
    Ben pas dans le code que tu as écrit, il ne lit que les 7 premières lignes du fichier ini 1000 fois chacune, comme je te l'explique dans mon post précédant.
    Dans ton code
    Citation Envoyé par kitcarflo Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                For J = 1 To 1000
                    val_ini = Cls_Ini.INIRead(Lien_ini, "Voiture", "V" & I) ' ici erreur c'est J pas I
    As tu testé mon code avec J à la place de I ?
    Cela fonctionne-t-il maintenant ?
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 136
    Par défaut
    Citation Envoyé par rv26t Voir le message
    Ben pas dans le code que tu as écrit, il ne lit que les 7 premières lignes du fichier ini 1000 fois chacune, comme je te l'explique dans mon post précédant.
    Dans ton code


    As tu testé mon code avec J à la place de I ?
    Cela fonctionne-t-il maintenant ?
    Bon ben voilà c'est réglé, l'erreur dans mon code était le I que j'ai écris au lieu du J. J'ai corrigé et sa marche .

    C'est le plus gros problème dans les progs, trouver les erreurs comme cela. Des fois tu bloques sur un bout de code pendant 1h00 à cause d'une erreur à la c... Et c'est dur des fois de la trouvé et à un moment tu te dis, mais attend, j'ai mis "s" au lieu de "e" ou dans mon cas présent "i" au lieu de "j". Et voilà 1h00 perdu

    Merci pour ton aide.

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

Discussions similaires

  1. [Toutes versions] Déterminer les valeurs unique d'une colonne
    Par l.a.bdx dans le forum Excel
    Réponses: 10
    Dernier message: 31/01/2010, 07h16
  2. [MySQL] Extraire les données à partir d'une liste déroulante dans une autre liste deroulante
    Par Amel_B dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 26/11/2008, 13h20
  3. Compter les entrées unique d'une colonne.
    Par HabsWarrior dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 11/09/2008, 16h52
  4. extraire les valeurs différentes d'une colonne
    Par mementox dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 01/12/2007, 16h06
  5. Extraire les données ID3 d'une musique
    Par FluidBlow dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/10/2006, 20h04

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