[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2004/12/22(Wed) 09:17
投稿者名:西田
Eメール:
URL :
タイトル:
Accessのテーブルを最適化させたい
おはようございます。
VB6を使ってプログラムを開発し始めたばかりの西田と申します。
いろいろな本を片手にVBでAccessのテーブルからデータを取得しようと頑張っています。
とりあえず、データ処理は出来たのですが、なぜかAccessのファイルサイズが大きくなって
しまいます。※多分、プログラムに問題があると思うのですが・・・。

そこで、プログラム上で最適化が出来るようにするにはどうしたらいいのでしょうか?
※Accessのファイルを開いて、”ツール⇒データベースユーティリティ⇒最適化/修復”を
 実行するとファイルサイズ容量が減少します。
今、考えていることは、終了ボタンを押したときに、最適化出来るようにしたいです。
すみませんが、よきアドバイスの程、お願いします。

投稿時間:2004/12/22(Wed) 09:27
投稿者名:じゃんぬねっと
Eメール:
URL :http://f57.aaa.livedoor.jp/~jeanne/
タイトル:
Re: Accessのテーブルを最適化させたい
おはようございます、じゃんぬねっと です。

> VB6を使ってプログラムを開発し始めたばかりの西田と申します。
> いろいろな本を片手にVBでAccessのテーブルからデータを取得しようと頑張っています。

Access のバージョンによって違うから、バージョンも書いておいた方が良いですね。

> とりあえず、データ処理は出来たのですが、なぜかAccessのファイルサイズが大きくなって
> しまいます。※多分、プログラムに問題があると思うのですが・・・。

いえ、Access は、そういうものだと思います。(^-^;)
論理的に変更がない状態で、保存しても増えてしまいますからね。

> 今、考えていることは、終了ボタンを押したときに、最適化出来るようにしたいです。
> すみませんが、よきアドバイスの程、お願いします。

まずは、Google などで検索をしてみることをお勧めします。
Access 2000 で JROを使用してやるならコレ。
hhttp://homepage2.nifty.com/inform/vbdb/jro_compactdb.htm

投稿時間:2004/12/22(Wed) 11:42
投稿者名:西田
Eメール:
URL :
タイトル:
Re^2: Accessのテーブルを最適化させたい
じゃんぬねっとさん、回答ありがとうございます。

いまさらですが、Accessのバージョンは、Access2000を使っております。
また、VBからAccessへの接続は、"Microsoft.Jet.OLEDB.4.0" で対応しています。
HP、ヘルプ等で調べてみて頑張ってみます。

投稿時間:2004/12/22(Wed) 15:09
投稿者名:カムリン
Eメール:kamurin@hotmail.com
URL :
タイトル:
Re^2: Accessのテーブルを最適化させたい
私の場合こうしてます。
環境は、Acccess2000 で DAOです。
引数に最適化したいDBの名前を入れます。
この関数実行中は対象のDBが、
閉じられている(どのプログラムからも参照されていない)のが前提です。
Public Function Comp_MDB(I_MDB As String)
    Dim T_MDB As String

    T_MDB = Left$(I_MDB, Len(I_MDB) - 3) & "tmp"
    On Error Resume Next
    Kill T_MDB '既にtmpファイルが在った場合の為の削除処理
    Name I_MDB As T_MDB
    DBEngine.CompactDatabase T_MDB, I_MDB
End Function