/// <summary>
        /// Get and display the database schema; either tables (including system tables) or queries.
        /// </summary>
        /// <param name="db">The specified database</param>
        /// <param name="collection">The type to return.  Use AccessDatabaseCollections object to parameterise</param>
        public void GetSchema(IDatabase db, string collection)
        {
            DataTable all = db.GetSchema(collection);
            var subset = all.Select("TABLE_TYPE = 'TABLE' OR TABLE_TYPE = 'VIEW'").CopyToDataTable();
            this.DataSource = subset;

            //this.DataSource = db.GetSchema(collection);

            foreach (DataGridViewColumn col in this.Columns)
            {
                if (col.Name == NameColumnHeader(collection))
                {
                    col.HeaderText = GetHeaderText(collection);
                }
                else
                {
                    col.Visible = false;
                }
            }
        }