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 :

Boucle for each sur variable d'une procédure [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juillet 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2016
    Messages : 21
    Par défaut Boucle for each sur variable d'une procédure
    Bonjour à vous,

    Après plusieurs recherche sur la toile et n'ayans trouvé aucun résultat, je me penche vers vous


    Voici pour commencer un exemple de code de façon à imager ma demande :

    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
    Public Shared Sub DLTableTemp()
     
    Dim dt1 As DatabaseConnector.DataTableRead
    Dim dt2 As DatabaseConnector.DataTableRead
    Dim dt3 As DatabaseConnector.DataTableRead
    Dim dt4 As DatabaseConnector.DataTableRead
    Dim dt5 As DatabaseConnector.DataTableRead
     
     CreerXML(dt1, NameOf(dt1))
     CreerXML(dt2, NameOf(dt2))
     CreerXML(dt3, NameOf(dt3))
     CreerXML(dt4, NameOf(dt4))
     CreerXML(dt5, NameOf(dt5))
     
    End Sub
    Dans l'optique d'alléger mon code je souhaiterais effectuer une boucle sur mes variables déclarées dans ma procédure
    Est-il possible d'effectuer une boucle for each ?

    Je pensais à un truck dans ce style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim dt1 As DatabaseConnector.DataTableRead
    Dim dt2 As DatabaseConnector.DataTableRead
    Dim dt3 As DatabaseConnector.DataTableRead
    Dim dt4 As DatabaseConnector.DataTableRead
    Dim dt5 As DatabaseConnector.DataTableRead
     
    for each dt as DatabaseConnector.DataTableRead in 'que mettre ici
     
    CreerXML(dt, NameOf(dt))
     
    next
    J'ai beau me creuser la tête je ne parviens pas à trouver le petit boue de code qui va suivre "IN"

    Ps : j'ai essayé d'utiliser un List(of.. mais je rencontre un problème et cella n'allège pas vraiment mon code.

    Merci pour vos prochaines réponses

  2. #2
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juillet 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2016
    Messages : 21
    Par défaut essais avec liste(of...
    Je viens d'effectuer un test avec Liste(of..

    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
    Public Shared Sub DLTableTemp()
     
    Dim dt1 As DatabaseConnector.DataTableRead
    Dim dt2 As DatabaseConnector.DataTableRead
    Dim dt3 As DatabaseConnector.DataTableRead
    Dim dt4 As DatabaseConnector.DataTableRead
    Dim dt5 As DatabaseConnector.DataTableRead
     
    Dim dtlist As List(Of DatabaseConnector.DataTableRead) = New List(Of DatabaseConnector.DataTableRead)() From {
                dt1, dt2, dt3, dt4, dt5}
     
    For Each dt As DatabaseConnector.DataTableRead In dtlist
     
                CreerXML(dt, NameOf(dt))
            Next
    cela à l'ère de fonctionner pour effectuer ma boucle for each, malheureusement cela lève un autre problème....

    Je n'avais pas pensé que ma variable change de nom dans la boucle "For Each"
    ce qui est problématique étant donné que ma fonction "CreerXML" utilise le nom de la variable pour créé une requête SQL

  3. #3
    Membre Expert Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 574
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 574
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     Dim DTX As New Dictionary(Of String, DatabaseConnector.DataTableRead)
            DTX.Add("dt1", New DatabaseConnector.DataTableRead)
            DTX.Add("dt2", New DatabaseConnector.DataTableRead)
            DTX.Add("dt3", New DatabaseConnector.DataTableRead)
            DTX.Add("dt4", New DatabaseConnector.DataTableRead)
            DTX.Add("dt5", New DatabaseConnector.DataTableRead)
            ' Dim K = DTX.Keys
            ' For i = 0 To DTX.Count - 1
                 CreerXML(DTX(K(i)), K(i))
            ' Next
            For Each k As String In DTX.Keys
                CreerXML(DTX(k), k)
            Next

  4. #4
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juillet 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2016
    Messages : 21
    Par défaut
    Bonjour Thumb down et merci pour ta réponse,

    j'avais vue passer la fonction "Dictionary"

    je viens de faire l'essai mais cela me génère une erreur :

    Nom : Erreur_Code.png
Affichages : 90
Taille : 58,0 Ko

  5. #5
    Membre Expert Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 574
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 574
    Par défaut
    oui, mais je ne me suis pas posé de question car je ne savais pas ce qu'était DatabaseConnector.DataTableRead!

  6. #6
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juillet 2016
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2016
    Messages : 21
    Par défaut
    Oui effectivement,

    DatabaseConnector.DataTableRead est une class, qu'un amis programmeur ma "pondu rapidement" pour me faciliter la connexion et certaines requêtes liées à ma base access.

    Mais j'avoues que j'aurais du mal à l'expliquer en détail... (Je l'utilise un peux comme une boite noir)

    en tous cas je te remercie pour ta réponse, je l'applique déjà pour simplifier une autre partie de mon soft..

    Ps : pour info mon bute étais de créer une fonction qui enregistre certaines de mes requêtes en fichier XML de façons à utiliser une parti de l'application hors connexion et de pouvoir tous synchroniser par la suite
    Je ne sais pas si s'est le plus efficace de nos jour mais cela fonctionne

    Je vais clôturer le sujet, Merci encore

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/09/2016, 14h59
  2. [XSLT] PB: Boucle (for-each) et variable
    Par luchoo dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 08/11/2010, 13h58
  3. boucle for each sur des fichiers
    Par Nako_lito dans le forum VBA Access
    Réponses: 2
    Dernier message: 02/08/2010, 14h21
  4. [AC-2003] boucle For Each sur les donnees d'une table
    Par TheRRb dans le forum VBA Access
    Réponses: 6
    Dernier message: 20/07/2009, 12h15
  5. boucle for each sur un groupe
    Par LeXo dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 06/04/2007, 21h38

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