現在開発中の環境 VB+ADOで
テーブル存在チェックが必要となりチェック関数を作成新規テーブルを追加する場合に既に追加されているかの確認できる。
追加したい構造と既にある構造が同じかどうか調べる必要性がある場合など
詳細なチェックではないのであくまでも存在チェックだけ。対象DBはMSDE2000とAccess MDBで確認。
テーブル存在チェックが必要となりチェック関数を作成新規テーブルを追加する場合に既に追加されているかの確認できる。
追加したい構造と既にある構造が同じかどうか調べる必要性がある場合など
詳細なチェックではないのであくまでも存在チェックだけ。対象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
’概要 :テーブル存在チェック(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はグローバル変数として定義し、データベースへの接続設定はされている前提。
あと半角の’や:なんかは投稿エラーになるので全角に修正(^^;;
?