1

msAccess ファイルを指定してすべてのテーブルを取得しようとしています。以下は私がすることです:

public override List<string> GetTables()
    {
        using (OleDbConnection con = new OleDbConnection(Path))
        {
            con.Open();
            DataTable schema = con.GetSchema("Columns");
            List<string> tables= new List<string>();
            foreach (DataRow row in schema.Rows)
            {
                tables.Add(row.Field<string>("TABLE_NAME"));
            }
            return tables;
        }
    }

ただし、すべてのテーブル名が返されますが、それぞれが 10 回返されるようです。なぜそれをしているのですか?

4

2 に答える 2

0

非表示のシステム テーブルを表示して、データベース内の他のすべてのテーブルの名前を格納するテーブルを表示することもできます。クエリ オブジェクトを使用するか、db レコードセットを使用して vba でこのテーブルをクエリできます。

https://www.techonthenet.com/access/database/view_systables2007.php

于 2018-09-20T21:44:22.363 に答える