Access 起動時のトラブル

オブジェクト'MSysDb'が見つかりませんでした。
データが破損して開けない

最終更新日:2006/2/4

壊れてしまったファイルを修復するには の内容にしたがって最適化/修復をするか、新規データベースを作成してテーブルなどをインポートします。

上記サイトの方法でも復旧できない場合、VBAでコードを組んでデータを取り出すことができる場合があります。

Dim CN As ADODB.Connection
Dim RS As ADODB.Recordset

Set CN = New ADODB.Connection
Set RS = New ADODB.Recordset

CN.ConnectionString = "Provider=Microsoft.JET.OLEDB.4.0;Data source=C:\???.mdb"
CN.Open

RS.Open "(ここはテーブル名)", CN, adOpenKeyset, adLockReadOnly, adCmdTableDirect

Dim i As Integer
Do While (Not rs.EOF)
    ' 1レコードずつループ
    For i = 0 To RS.Fields.Count - 1
        ' フィールド数分だけループして画面にデータを表示
        Debug.Print RS(i) 
    Next i
    RS.MoveNext
Loop
RS.Close
CN.Close

ただし、取り出せたとしてもデータの一部が壊れていたり欠落していたりする場合もあるので、慎重にチェックしましょう。


<関連URL>
ファイルが開けない場合の対処方法