No.3ベストアンサー
- 回答日時:
私はACCESS2000を使用しています。
最適化するときは次のように注意しています。
(1)コードを閉じてから最適化する。
===コードの閉じ方===
モジュールをデザインで開き、右上内側の閉じるボタンをクリックしてコードを閉じる。灰色の背景が見えるまで全て閉じる。(※1)
コンパイルする。(コンパイルが通ったら)上書き保存する。AccessDBを閉じる。
最適化する。
Access2000になってからコードが開いた状態で最適化やフォームの削除、モジュールの削除をするとDBが壊れるということを経験しました。
(2)AccessDBは閉じてから最適化する。
Accessウインドウの中にAccessDBが開いている状態で最適化するとちゃんと最適化できないようです。
Accessウインドウだけが開いた状態から最適化します。
※1)
開いているコードが多すぎて手作業で閉じるのは大変という事でしたら、
コードを閉じる関数を持っています。コメントにご連絡ください。
KAERU_VXV様、ご回答いただきありがとうございました。
フォームやレポート等のオブジェクトを全て閉じて、最適化するという手法、私も経験があります。SendKeysステートメントを使ったりとかね。あれは無茶だと今では思いますが、そのシステム自体ではちゃんと動いてました。懐かしい。
今回、CSVを1つのワークテーブルに読み込んで、Excelオブジェクトを生成するという簡単なシステムなので、それゆえ、ユーザーに「最適化ボタンというのがあるのでこれを実行してください。でないと壊れます!」と言いたくないという思いがありまして。だったら、終了時に無意識のうちにやってくれればユーザーにとってもベストだと考えました。
とりあえず、SEと相談して、決めようと思います。仮に壊れてもデータはどうせワークデータなので、損失はないかと。ただ、MDBのファイル名が変わっちゃうだけなのでね。
それにしても皆さんも苦労されていますね。ちょっと面白かったです。ありがとうございました。
No.2
- 回答日時:
Microsoftのサポートには既知の問題として
認識はしているものの有効な対処はされていないようです。
http://support.microsoft.com/kb/842580/ja
となるとAccessのオプション(終了時に最適化)だけでなく
ツールバーからの行うか、マクロのAutoExecに最適化を
登録して起動時に行うか、
マクロでCompactDatabaseメッソドを使用して
適当なタイミングに実行するとか。
最適化を行ってから終了するようにするとか。
http://www.accessclub.jp/samplefile/samplefile_2 …
nekon様、ご回答いただきありがとうございます。
DAOのCompactDatabaseメソッド、私もやったことがあります。わざわざそれ用のVBのEXEを作ってAPI等駆使してとか、いろいろと。97の頃からやっているので、2000で終了時オプションとして出たときは「これは使わない手はないだろう」と思ったんですけどねぇ。ちょっとSEと相談して決めようと思います。ありがとうございました。
No.1
- 回答日時:
>たまにファイル名が戻らない場合があります
最適化時に作成されるワークファイルのdb1が残ってしまうのは最適化の際に空き容量が不足した状態になった時など残ってしまいますが・・。
その辺はどうでしょうか。空き容量が不足しているとかメモリ不足の状態になっているとか。
O_cyan様、ご回答ありがとうございます。
また、お返事が遅れて申し訳ございません。
ディスク・メモリの容量不足は全く問題はないようです。ただ、該当MDBを直接ダブルクリックして開き、閉じる場合、失敗する場合が多いようです。db1.mdb→元のMDBに戻るときの、フォルダ画面再描画が原因かなぁ?となんとなく感じています。ショートカットからの起動だと、今のところ失敗していません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 画像編集・動画編集・音楽編集 inkscapeで作成した図の保存の仕方とその保存したファイルの編集の仕方 1 2022/09/22 09:33
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Windows 10 windowsの回復ドライブや復元ポイントを使用した場合の戻る位置を教えてください。 5 2023/08/19 14:52
- PDF PDFに精通した方に質問。JPEGファイル群を一つのPDFファイルにするときの容量変化について 6 2023/07/23 19:06
- Excel(エクセル) PDFファイルに日付を名前にして保存したい。 エクセル2019でワークシートに請求書のフォームを作り 2 2023/05/27 11:13
- Access(アクセス) Access VBA を利用して、フォルダ内のファイルの名称を変更したい 1 2023/08/03 08:27
- Google Drive 【Googleドライブ】ドライブ上内でのフォルダ移行について 4 2022/11/30 12:50
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 2 2022/11/18 15:34
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
accessのmdbが勝手にできている?
その他(データベース)
-
ACCESS2010の最適化が中断される
その他(データベース)
-
既に使用されているので、使用できませんでした
Access(アクセス)
-
-
4
Database mdb について
その他(コンピューター・テクノロジー)
-
5
データベースの最適化をマクロでしたい
その他(データベース)
-
6
Accessでクエリを完了できません。と出ます。
その他(データベース)
-
7
アクセスをネットワークでリンクさせると非常に遅い!?
その他(データベース)
-
8
「RunSQL」と「Execute」の違い
Access(アクセス)
-
9
アクセス 壊れた? 「ファイルが見つかりません」
Access(アクセス)
-
10
親フォームからサブフォームのレコードソースを設定
Access(アクセス)
-
11
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
12
ACCESSのSQLで、NULLかNULLでないかの判定
その他(データベース)
-
13
SQLの速度をあげるには・・・
Visual Basic(VBA)
-
14
ADOを使ったDBアクセス後のメモリ解放
その他(データベース)
-
15
ACCESS2003 ファイルが増えていく?
PowerPoint(パワーポイント)
-
16
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
17
Accessフォームのテキストボックス内改行無効の方法
その他(データベース)
-
18
Accessで、1つの項目に複数の置換えを1度でするには?
Access(アクセス)
-
19
Accessでテーブル名やクエリ名一覧の抜き出し
Access(アクセス)
-
20
Accessを開くと「排他モードじゃないので変更しても保存できない」との旨の表示が出てしまう。
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access終了時の最適化が失敗?
-
Oracleでの文字列連結サイズの上限
-
GROUP BYを行った後に結合した...
-
select句副問い合わせ 値の個...
-
OracleのSQL*PLUSで、デー...
-
GROUP BYを使ったSELECT文の総...
-
ファイル書込みで一行もしくは...
-
Accessで別テーブルの値をフォ...
-
キーが同じを複数行を1行にま...
-
サブフォームに新規レコードを...
-
Excelでセルの書式設定を使用し...
-
SELECTの結果で同一行を複数回...
-
DataGridViewにてセル以外をク...
-
サブレンジ分割されたNDB(富士...
-
JSPのNULLレコード表示について...
-
ワードの差込印刷で教えて下さ...
-
実績累計の求め方と意味を教え...
-
sum()の出力結果順に並び替えを...
-
sqlplusの処理が途中でとまる
-
SQL文で右から1文字だけ削除す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access終了時の最適化が失敗?
-
CREATE テーブルでの複数外部...
-
Order by句でバインド変数を使...
-
沿線コード
-
SQLServer 日付が直前のレコー...
-
Excelファイルのデータをテーブ...
-
10営業日前の日付を取得したい...
-
SQLの実行結果が異なる
-
SQLに関して
-
【SQL】またぎデータの検索の仕方
-
SQLにて縦を横へ展開
-
ヤマト急便のチェックデジット...
-
スペシャリストの方! 助けてく...
-
SQL GROUP BY
-
娘の学校から出た暗号解読です...
-
SQLで<>を使用するとき、
-
GROUP BYを行った後に結合した...
-
Accessで別テーブルの値をフォ...
-
Oracleでの文字列連結サイズの上限
-
SELECTで1件のみ取得するには?
おすすめ情報