まず adodb.connection オブジェクトの openSchema 関数を呼び出します。これにより Recordset が取得されます。この Recordset では、各レコードがデータベース内のテーブルに対応し、レコードの各フィールドには、対応するテーブルの情報の一部が含まれます。 TABLE_NAME フィールドには、対応するテーブルの名前が含まれます。この関数の処理プロセスは次のように記述できます。
まず adodb.connection オブジェクトの openSchema 関数を呼び出します。これにより Recordset が取得されます。この Recordset では、各レコードがデータベース内のテーブルに対応し、レコードの各フィールドには、対応するテーブルの情報の一部が含まれます。 TABLE_NAME フィールドには、対応するテーブルの名前が含まれます。
次に、この Recordset を調べます。現在のレコードの TABLE_NAME フィールドの値が検索対象のテーブルの名前と同じであれば、検索対象のテーブルが存在することがわかります。
関数は次のようになります。
次のようにコードをコピーします。
関数 check_gived_DataTable_exist_or_not(connect_object,name_of_gived_DataTable)
Do_gived_DataTable_exist=false
Const adSchemaTables=20 'データベース内のテーブルとビューのコレクションを取得することを示します
set RecordSet_about_table_and_view_in_DataBase=connect_object.openSchema(adSchemaTables)
RecordSet_about_table_and_view_in_DataBase.EOF まで実行します
RecordSet_about_table_and_view_in_DataBase(TABLE_TYPE)=TABLE の場合
if RecordSet_about_table_and_view_in_DataBase(TABLE_NAME)= name_of_gived_DataTable then
Do_gived_DataTable_exist=true
終了します
終了する場合
終了する場合
RecordSet_about_table_and_view_in_DataBase.movenext
ループ
check_gived_DataTable_exist_or_not=Do_gived_DataTable_exist
終了関数
注記:
connect_object.openSchema(adSchemaTables) 関数を実行すると、データベース内のテーブルとビューのコレクションが取得されます。これは、ADODB.Recordset 型のデータです。
if RecordSet_about_table_and_view_in_DataBase(TABLE_TYPE)=TABLE という文は、チェックの範囲をテーブルに絞り込みます。