Comment accéder à la liste de requêtes VBA les tables dans une base de données

Microsoft Access est un système de gestion de base de données pour les personnes de créer leurs propres bases de données, des rapports et des formulaires utilisateur. Access contient tous les blocs de construction pour le développement de petites applications. Vous pouvez créer des tables pour les données, les procédures stockées, des fonctions définies par l'utilisateur et des macros en plus de rapports et formulaires. Tous ces composants ont leurs propres pointeurs ou des définitions de disques stockés dans une table système caché. Accès garde la trace de chaque table, rapport, formulaire, etc. vous créez et stocke des informations telles que quand il a été créé ou mis à jour et des drapeaux du système.

  1. Obtenir une liste de tables

    • 1

      Créer une requête pour exécuter la commande SQL ci-dessous. Cette requête récupère une liste de toutes les tables de la base de données Access en cours. La clause WHERE utilise le numéro 1 pour indiquer que nous voulons que les tables retournées.

      SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags
      DE MSysObjects
      OÙ MSysObjects.Type = 1

    • 2

      Retourne une liste de seulement les tables non-système de la base avec l'exemple fourni:

      SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags
      DE MSysObjects
      OÙ MSysObjects.Type = 1 ET MSysObjects.Name Not Like "MSys *"

    • 3

      Retourne une liste de seulement les tables non-cachés dans la base de données en exécutant la requête ci-dessous:

      SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags
      DE MSysObjects
      OÙ MSysObjects.Type = 1 ET MSysObjects.Flags lt; gt; 8

    • 4

      Trier la liste des tables, non-système non-cachés à l'aide du code SQL ci-dessous:




      SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags
      DE MSysObjects
      OÙ MSysObjects.Type = 1 ET MSysObjects.Flags lt; gt; 8 ET MSysObjects.Name Not Like "MSys *"
      ORDER BY MSysObjects.Name

    • Utilisez la liste des tables en VBA

      • 1

        Chargez votre liste de tables dans un objet record du jeu en utilisant le code VBA-dessous:

        RsMyTables Dim comme DAO.Recordset
        Réglez rsMyTables = CurrentDb.OpenRecordset ("MaRequête")

      • 2

        Boucle à travers chaque enregistrement retourné dans la requête.

        RsMyTables Dim comme DAO.Recordset
        Réglez rsMyTables = CurrentDb.OpenRecordset ("MaRequête")

        Do While Non rsMyTables.EOF
        «Code de manipuler les données

        rsMyTables.MoveNext
        Boucle

      • 3

        Ajouter chaque nom de table dans une liste déroulante en modifiant votre boucle while:




        RsMyTables Dim comme DAO.Recordset
        Réglez rsMyTables = CurrentDb.OpenRecordset ("MaRequête")
        Me.cmbMyComboBox.Clear

        Do While Non rsMyTables.EOF
        Me.cmbMyComboBox.AddItem rsMyTables! [Nom]

        rsMyTables.MoveNext
        Boucle

      • 4

        Fermez votre dossier ensemble objet pour qu'il libère la mémoire qu'il utilise:

        RsMyTables Dim comme DAO.Recordset
        Réglez rsMyTables = CurrentDb.OpenRecordset ("MaRequête")
        Me.cmbMyComboBox.Clear

        Do While Non rsMyTables.EOF
        Me.cmbMyComboBox.AddItem rsMyTables! [Nom]

        rsMyTables.MoveNext
        Boucle

        rsMyTables.Close
        Set rsMyTables = Nothing

    » » » » Comment accéder à la liste de requêtes VBA les tables dans une base de données