|
アクセス初心者です。他データベースのテーブルを削除しようといろいろ検索しコードをコピーしてきました。これをマクロのプロシージャの実行の式ビルダから呼び出したいのですが、出てきません。どう直せばいいのかご教授ください。
'【引数説明】
'DbName :データベース名のフルパス \\Qa-server\ハード評価チーム\データ分析\試作版\インポート用.mdb
'tblName :削除したいテーブル名 t_sarvice
Public Function DeleteTable(Optional DbName As String = "\\Qa-server\ハード評価チーム\データ分析\試作版\インポート用.mdb ", _
Optional tblName As String = " t_sarvice ")
'エラートラップ
On Error GoTo DeleteTable_Err:
'変数宣言
Dim DB As DAO.Database '接続先データベース
Dim Tbl As DAO.TableDef 'テーブルオブジェクト
Dim strSQL As String 'SQL文用文字列
'データベース接続
If DbName = "" Then
'データベース名が空白の場合はCurrentDbを指定
Set DB = CurrentDb
Else
'指定MDBを開く
Set DB = OpenDatabase(DbName)
End If
'テーブル削除
If tblName = "" Then
'テーブル名が空白の場合は全削除
For Each Tbl In DB.TableDefs
'システムテーブルの除外
If Left(Tbl.Name, 4) <> "MSys" Then
strSQL = "Drop Table " & Tbl.Name & ";"
DB.Execute strSQL
End If
Next
Else
'指定テーブルを削除
strSQL = "Drop Table " & tblName & ";"
DB.Execute strSQL
End If
'終了処理
DB.Close
Resume_Point:
Set Tbl = Nothing
Set DB = Nothing
Exit Function
DeleteTable_Err:
MsgBox Err.Number & vbCrLf & Err.Description
GoTo Resume_Point:
End Function
'実行プロシージャ
Private Sub DeleteTest()
Call DeleteTable(, "テーブル1")
End Sub
|
|