Si je peux ouvrir une connexion à un fichier MS Access en C#, comment puis-je récupérer une liste des différentes tables qui existent dans la base de données Access (et, si possible, des métadonnées? associé aux tables)?Récupérer la liste des tables dans le fichier MS Access
11
A
Répondre
25
Je viens de trouver la solution suivante de David Hayden
// Microsoft Access provider factory
DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OleDb");
DataTable userTables = null;
using (DbConnection connection = factory.CreateConnection()) {
// c:\test\test.mdb
connection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\test\\test.mdb";
// We only want user tables, not system tables
string[] restrictions = new string[4];
restrictions[3] = "Table";
connection.Open();
// Get list of user tables
userTables = connection.GetSchema("Tables", restrictions);
}
List<string> tableNames = new List<string>();
for (int i=0; i < userTables.Rows.Count; i++)
tableNames.Add(userTables.Rows[i][2].ToString());
+0
Une aide pour trouver le nombre le plus élevé dans une colonne particulière? En utilisant C# – gsvirdi
1
Voici quelques liens:
- Displaying Tables of An Access Database Through C#
- Walkthrough: Editing an Access Database with ADO.NET
Voici un VB.NET snipit pour obtenir toutes les colonnes d'un tableau d'accès, je sais que ce n'est pas exactement ce que vous re à la recherche, mais une pomme primciple similaire lors de la liste de toutes les tables:
Dim oleConn As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & myDB & ";User Id=admin;Password=;")
oleConn.Open()
Dim schemaTable As DataTable
Dim i As Integer
schemaTable = oleConn.GetOleDbSchemaTable(OleDbSchemaGuid.Column s, _
New Object() {Nothing, Nothing, "tblTheTableToListColumns", Nothing})
For i = 0 To schemaTable.Columns.Count - 1
Debug.Print(schemaTable.Rows(i)!COLUMN_NAME.ToStri ng)
Next i
oleConn.Close()
Questions connexes
- 1. Liste des tables de filtres dans MS-Access Link Table?
- 2. Récupérer liste des index dans une base de données Access
- 3. Liste des sous-ensembles de tables MS Access dans MS Excel avec VBA
- 4. Tables MS Access avec MSFlexgrid
- 5. MS Access requête CrossTab - sur 3 tables
- 6. MS Access 2003 - Importation d'un fichier texte dans la base de données MS Access Tableau
- 7. Lier MS Excel aux requêtes MS Access
- 8. Comment modifier la requête du fichier MS Access 97 à l'aide de MS Access 2007
- 9. Utilisez la liste des utilisateurs de l'annuaire actif dans une liste déroulante dans MS Access 2007
- 10. Zone de liste déroulante MS-Access non liée dans DataSheet?
- 11. Dictionnaires et tables de hachage dans MS-Access 2007
- 12. Compilateur MS-Access .mdb?
- 13. Comportement bizarre dans MS Access
- 14. Annexer colonnes de deux tables dans MS Access
- 15. Interruption de la requête MS Access
- 16. transactions dans MS Access
- 17. PHP/MS Access Question
- 18. Filtrage des formulaires dans MS Access
- 19. fusionner des cellules dans ms-access
- 20. MS Access FE/BE plusieurs tables liens multiples
- 21. Avons-nous des transactions dans MS-Access?
- 22. Comment remplir la zone de liste déroulante avec des valeurs dans MS Access 2007
- 23. Ms Access remplace le numéro
- 24. Les tables MS Access correspondent et se synchronisent
- 25. MS Access Importer des problèmes de fichier texte
- 26. parcourir les valeurs dans une zone de liste MS Access
- 27. Comment gérer les transactions MS Access dans une application multithread et comment synchroniser les tables MS Access et Oracle?
- 28. Comment afficher le code des fonctions intégrées dans MS Access?
- 29. Les tables liées sont parfois verrouillées MS Access VBA
- 30. Comment chaîner des tables liées dans Access?
les métadonnées êtes-vous besoin de savoir au sujet? –
À tout le moins, la description de la table (si une est enregistrée) –
duplication possible de [Comment puis-je obtenir une liste de tables dans une base de données Access (Jet)?] (Http://stackoverflow.com/questions/ 6152545/how-i-get-a-list-of-tables-in-a-access-jet-database) – Fionnuala