ADOでのテーブルの存在チェック方法

現在開発中の環境 VB+ADOで
テーブル存在チェックが必要となりチェック関数を作成新規テーブルを追加する場合に既に追加されているかの確認できる。
追加したい構造と既にある構造が同じかどうか調べる必要性がある場合など
詳細なチェックではないのであくまでも存在チェックだけ。対象DBはMSDE2000とAccess MDBで確認。
’-------------------------
’概要 :テーブル存在チェック(ADO)
’-------------------------
’引数 :strTblNm = 存在をチェックするテーブル名
’-------------------------
’戻り値:True = テーブルは存在する , False = テーブルは存在しない
’-------------------------
Public Function GetTableExec(strTblNm As String) As Boolean
     Dim adrTbl As ADODB.Recordset
     Dim varTbl As Variant

    GetTableExec = False ’デフォルトは存在しない(False)

    ’ 配列で渡す値の説明
    ’ →TABLE_CATALOG,TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE
    varTbl = Array(Empty, Empty, strTblNm, “TABLE”)
     ’ テーブルのスキーマ情報を取得
    Set adrTbl = g_conDb.OpenSchema(adSchemaTables, varTbl)
    ’テーブルがあればEOF=FalseなのでNOTとしTrueを返す
    GetTableExec = Not adrTbl.EOF

    adrTbl.Close
     Set adrTbl = Nothing
Exit Function

※g_conDbはグローバル変数として定義し、データベースへの接続設定はされている前提。

あと半角の’や:なんかは投稿エラーになるので全角に修正(^^;;

[`evernote` not found]

ADOでのテーブルの存在チェック方法” への1件のコメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*