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

Macros et VBA Excel Discussion :

Récupérer les numéros de champs dans une base [XL-2007]


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    J'utilise une macro VBA pour parcourir une base de donnée à l'aide de "Microsoft.ACE.OLEDB.12.0".
    J'utilise le code ci-dessous pour la parcourir:
    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
        Dim i, j As Integer
        i = 2
        j = 0
        For Each objTable In objCatalog.Tables
            If objTable.Name = "Articles" Then
                'Debug.Print (objTable.Name)
                For Each objField In objCatalog.Tables(objTable.Name).Columns
                    'Debug.Print (vbTab & objField.Name & " " & objField.Type & " " & GetFieldType(objField))
                    'Debug.Print (GetFieldType(objField))
                    Cells(i, 1) = objTable.Name
                    Cells(i, 2) = objField.Name
                    Cells(i, 3) = objCatalog.Tables(objTable.Name).Columns(j).Name
                    Cells(i, 4) = j
                    j = j + 1
                    i = i + 1
                Next objField
            End If
        Next objTable
    Le parcours de la base de donnée se déroule correctement.
    Cependant je récupère les champs dans l'ordre alphabétique et le numéro de colonne associé ne me semble pas être le bon.

    Comment récupérer le vrai numéro de colonne pour chaque champ tel qu'il apparait dans la base ?

    Par avance merci.

    Je précise les points suivants:

    Je souhaite re-coder une macro VBA qui utilisait des recordset de la bibliothèque DAO vers un usage de la bibliothèque ADO pour des problèmes de compatibilités Excel 32/64 bits.

    Lorsque je parcours la base avec un recordset, les champs ne sont pas sortis de la même manière qu'avec la bibliothèque ADO.

    Je voudrais avoir une logique de parcours des champs identique lorsque j'utilise des recordset ou la bibliothèque ADO.
    Dernière modification par AlainTech ; 09/05/2013 à 18h36. Motif: Fusion de 2 messages

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 13/06/2014, 14h14
  2. Récupérer les noms des champs dans une requête
    Par Nerziel dans le forum Général Python
    Réponses: 1
    Dernier message: 14/09/2009, 11h29
  3. Réponses: 9
    Dernier message: 19/06/2008, 12h19
  4. Réponses: 5
    Dernier message: 11/07/2007, 16h03
  5. Rajouter les numéros de ligne dans une colone d'une requete
    Par AntiSAL dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 02/11/2005, 19h07

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