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 :

VB6: Comment faire un tableau de tableaux ?


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 309
    Points : 61
    Points
    61
    Par défaut VB6: Comment faire un tableau de tableaux ?
    Salut

    J'ai un tableau1() as utype, donc un tableau d'une structure user type

    mais je voudrais faire un tableau de ce tableau, est-ce possible ?

    quelque chose comme:

    dim tableau2() as tableau1

    car j'ai une structure dont chaque record peut etre variable, je pourrais avoir par exemple tableau2(0)(0) éléments donc au premier enregistrement je pourrais avoir une seul struct de mon user type mais je pourrais au deuxieme élément en avoir besoin de 3 donc tableau2(1)(2)

    Est-ce possible ?

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut Re: VB6: Comment faire un tableau de tableaux ?
    Bonjour,

    C'est vrai que je ne réponds pas vraiment à ta question, mais voici une piste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Dim t() As Variant
     
        t = Array(Array(1, 2), Array("A", "B", "C"), Array())
     
        Debug.Print t(1)(2)
    Par ailleurs, pourquoi "s'encombrer" d'un User Type si tu sais que c'est forcément un tableau ?

    Bonne continuation,
    =JBO=

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 309
    Points : 61
    Points
    61
    Par défaut
    Car je vais chercher des infos dans une bd

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 309
    Points : 61
    Points
    61
    Par défaut
    Mais ça ne fonctionne pas ta solution

  5. #5
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Au fait, connais-tu la méthode GetRows disponible dans ADO et DAO, qui te permet de récupérer directement les données d'un RecordSet dans un tableau bi-dimensionnel ?

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 309
    Points : 61
    Points
    61
    Par défaut
    Oui, mais cela ne résout pas mon problèmes, j'ai des données dans une table qui ont un id de catégorie, moi je voudrais créer un tableau de tableau pour que le tableau1 soit mon nombre de catégorie, et mon tableau2 mon nombre de données accessible par une structure.

    mon c'est sûr que je pourrais faire un tableau a 2 dimensions, mais ça va faire des entrées "vides"

  7. #7
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Si je comprends bien, ce qui t'intéresse dans le User Type, c'est de pouvoir nommer les différentes composantes du type, pour ensuite y accéder par leur nom... ?
    Bref, un genre de tableau associatif, comme il en existe dans d'autres langages ?

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 309
    Points : 61
    Points
    61
    Par défaut
    Oui, car je dois ensuite remplir ces variables là et les utiliser ensuite.

    car dans une autre variable qui vient d'une autre table, j'ai un id et ce id est le id de ma catégorie, alors je voudrais accéder a mes données en faisant: tableau1(id).tableau2(0).nom

  9. #9
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Citation Envoyé par AsmCode
    j'ai des données dans une table qui ont un id de catégorie, moi je voudrais créer un tableau de tableau pour que le tableau1 soit mon nombre de catégorie, et mon tableau2 mon nombre de données accessible par une structure.
    Un genre de tableau pour faire des regroupements sur l'id de catégorie, comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Id-A [ Record-1, Record-3 ]
    Id-B [ Record-2, Record-5, Record-6 ]
    Id-C [ Record-4 ]
    Une collection (voire un Dictionnary) c'est quand même bien pratique, tu ne penses pas ?

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 309
    Points : 61
    Points
    61
    Par défaut
    J'ai essayé ceci mais ça ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public tabDoc() As utDocument
     
    Public Type utDocument
     
        sDocName As String
        iHowManyZone As Integer
        utZone() As utRec
     
    End Type
    'utRec definition ..

    on ne peut pas mettre un tableau dans un usertype on dirait.

  11. #11
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Citation Envoyé par AsmCode
    J'ai essayé ceci mais ça ne fonctionne pas.
    [...]
    on ne peut pas mettre un tableau dans un usertype on dirait.
    Mais si, chez moi ça passe !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Public Type utRec
        sInfo As String
    End Type
     
    Public Type utDocument
        sDocName As String
        iHowManyZone As Integer
        utZone() As utRec
    End Type
     
    Public tabDoc() As utDocument
    Quel VB utilises-tu ?
    Pardon, c'était dans le titre (où avais-je la tête )...

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 309
    Points : 61
    Points
    61
    Par défaut
    vb6

  13. #13
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Pensez à utiliser les balises de codes SVP


    Dans le bon ordre pourquoi cela ne passerait-il pas ?
    Toutefois il est nécessaire de redimensionner chaque dim

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Public Type utDocument
        sDocName As String
        iHowManyZone As Integer
        utZone() As utRec
    End Type
    Public tabDoc() As utDocument
     
    Sub mtruc()
        ReDim tabDoc(1 To 2)
        ReDim tabDoc(1).utZone(1 To 10)
        'etc.
    End Sub

  14. #14
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Désolé JBO - on s'est croisé

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 309
    Points : 61
    Points
    61
    Par défaut
    Ok ça fonctinne c'est mon utRec qui était défini après lol

  16. #16
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Sans vouloir être désobligeant pour AsmCode, je crois que la proposition de DarkVader pour le nom de la procédure de remplissage du "tableau de tableaux de UserType" est pas mal: un drôle de mtruc !!! Pas du tout pratique !!!

    Mais bon, il y a peut être des avantages lors de l'exploitation de cette structure ?

    Citation Envoyé par DarkVader
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Sub mtruc()
        ReDim tabDoc(1 To 2)
        ReDim tabDoc(1).utZone(1 To 10)
        'etc.
    End Sub
    Eh bien, puisque c'est résolu, au plaisir d'un prochain "croisement" .

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

Discussions similaires

  1. [Tableaux] Comment faire un tableau dans une fonction?
    Par Alexandrebox dans le forum Langage
    Réponses: 6
    Dernier message: 06/10/2008, 00h12
  2. [VB6] Comment faire un update sur des textbox qui sont créés
    Par bb62 dans le forum VB 6 et antérieur
    Réponses: 27
    Dernier message: 16/02/2006, 14h52
  3. [VB6] Comment faire une dll classique ?
    Par doudoustephane dans le forum VB 6 et antérieur
    Réponses: 18
    Dernier message: 05/01/2006, 13h34
  4. [CR] comment faire un tableau croisé
    Par yoyothebest dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 29/08/2004, 18h32
  5. [VB6] Comment faire une fonction qui renvoie 2 résultats
    Par tazarine dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 15/01/2004, 00h13

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