MS-Access向け。
リンクテーブルが多量にあるmdbをバックアップしたい場合。
しかも、バックのデータベース側でバックアップジョブを実行出来ずに、
全てのリンクテーブルをローカルテーブルとして、テーブルをコピーするようなプログラム。
こんな感じか。
Public Sub BkupMain()
Dim iT As Integer
With CurrentDb
'全テーブルをチェック
For iT = 0 To .TableDefs.Count - 1
DoEvents
'前回のバックアップテーブルは削除
If Left(.TableDefs(iT).Name, 5) = "BKUP_" Then
DoCmd.DeleteObject acTable, .TableDefs(iT).Name
End If
Next iT
'全テーブルをチェック
For iT = 0 To .TableDefs.Count - 1
DoEvents
'ODBCリンクテーブルのみを対象
If .TableDefs(iT).Attributes = dbAttachedODBC + dbAttachSavePWD
Then
'テーブル作成クエリーにてバックアップを作成
CurrentDb.Execute "SELECT " & .TableDefs(iT).Name & ".* INTO
BKUP_" & .TableDefs(iT).Name & " FROM " & .TableDefs(iT).Name & ";"
End If
Next iT
End With
End Sub