はじめまして、Accessで業務用アプリケーションを作成しています
独学なので、何が正しいというものを分からず、
主にインターネットの情報を元に作成しています
そこで、まずテーブルとそれ以外(クエリ、フォーム、レポートなど)を分割し、テーブルだけのmdbはファイルサーバー上に置いています
利用者のパソコンのデスクトップに、それ以外のmdbを置いています
接続はテーブルのリンクのみです
ですので、利用者のmdbを開くと同時に、ファイルサーバー上の
mdbも開き、ldb(ロックファイル)も生成されます
これをファイルサーバー上のmdbを開かずに、テーブルのデータを
取得することは可能でしょうか
DAOとかADOでVBAを使わなければならないのでしょうか
アドバイスよろしくお願いします
ちなみに、SQLServer2005ExpressEdtionをどこかのパソコンに
インストールし、データベース環境を一新しようと思ったのですが
どうすればいいのかがイマイチ分かっていません
ヒントでもいいので、教えていただけないでしょうか
No.3ベストアンサー
- 回答日時:
> 現在起きている問題というのは、
> mdbファイルが肥大化して、さらに常時誰かが利用しているので
> そのmdbを最適化するタイミングがなかなか無いということ
>
> 又、mdbからのリンクテーブルで設計しているので、
> だんだんと処理速度が遅くなっていることです
この場合は明らかに、サーバー系の DB に移行したほうがよいですね。
ネットワーク越しに MDB ファイルを利用するときは、ファイル全体が
読み込まれます。誤解されがちですが、対象テーブルだけが読み込まれる
わけではありません。単なるファイルコピーと同じです。
この辺、興味があるようでしたら詳しくは下記記事を参照してみてください。
パケットで知るデータベース
http://www.int21.co.jp/pcdn/vb/noriolib/vbmag/99 …
記事自体は古いですが、JET DB に関しては基本的に変わっていないはずです。
ただ逆に言えば、ふつうにファイルをコピーして(たとえばデスクトップに)
貼り付けたときにかかる時間をはるかに超えて待たされるようでしたら、
何か別のトラブルが発生している可能性が濃厚です。一度、比較してみては。
もしふつうにファイルコピーしてそれくらいかかるなら、どうしようも
ありません。
MS SQL Server なり Oracle なりなんなりに移行しましょう。導入手順は、
検索すれば解説ページが公式・非公式ともに山のようにヒットしますので、
とにかくやってみて、詰まったところで具体的に質問を挙げれば具体的な
回答が付くと思います。
最適化に関しては、ずっと誰か彼かが開き続けていたらどうしようも
ありませんが、そうでなければ [閉じるときに最適化する] オプションを
オンにしておくことで多少改善されませんか。
参考URL:http://www.int21.co.jp/pcdn/vb/noriolib/vbmag/99 …
No.2
- 回答日時:
今の運用方法でも特に問題ないと思いますよ。
ロックファイルが作られていても、特に問題なく複数ユーザーから同時アクセスできてませんか?
ファイルサーバー等に Express Edition をインストールするんでもユーザー側の MDB から DB にアクセスする方法はリンクテーブルか ADO てとこで、特に違いはありません。
DB が壊れやすいかどうかとか、DB のバックアップ/リストアが可能とか、そんな違いです。管理するにはそれなりの知識が要ります。
この回答への補足
アドバイスありがとうございます
mdbからのリンクテーブルの設計のせいなのか
ファイルサイズが大きくなるにしたがって、処理速度が
だんだんと遅くなっています
これは、mdbから対象のテーブルのレコードを全て
クライアント側に読み込み、それから処理をおこなうため
直接ソースにリンクテーブルを設定していると、かなり時間が
かかってしまいます
VPN経由で利用しているところもあるのですが、
ひとつのフォームを開くのに、数分かかるものもあります
No.1
- 回答日時:
>これをファイルサーバー上のmdbを開かずに、テーブルのデータを
取得することは可能でしょうか
自分が考えるに、無理だと思います。
ファイルサーバーにデータ mdb が置いてあるのですから、アクセス時に
それが開かれるのは当然だと思いますが、それが何か?
まわりくどい質問をするより、現在起きている問題をストレートに
提示したほうが、お互い時間の無駄が省けてよいのでは。
この回答への補足
アドバイスありがとうございます
やはり開くのは当たり前なんですね
それでも、開いた状態であっても、データ共有は可能である
とのことなので、問題はないようです
現在起きている問題というのは、
mdbファイルが肥大化して、さらに常時誰かが利用しているので
そのmdbを最適化するタイミングがなかなか無いということ
又、mdbからのリンクテーブルで設計しているので、
だんだんと処理速度が遅くなっていることです
回りくどい言い方をしましたが
現状の問題は以上です
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- MySQL 【投稿情報用データベース posts】は必要ないと思います。 1 2022/06/02 21:25
- Visual Basic(VBA) Access VBAから使用したExcelプロセスを閉じる方法について 4 2022/06/08 17:50
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- その他(セキュリティ) 役所など、情報系システムのセキュリティが弱くても業務システムに問題ないか 3 2022/11/02 16:38
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Access(アクセス) Accessのリンクテーブルのパスを相対パスにする方法について教えて頂きたいです 1 2023/02/08 13:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「○○○.ldb」のAccess レコード ...
-
ACCESSのモジュールエラー?
-
Excelでmdbファイルが簡単に開...
-
Accessデータベースの最適化をE...
-
ACCESSで「ブックマーク...
-
AccessのDB破損に関して お教...
-
Accessでリンクテーブルのパス変更
-
Accessのdbについて
-
ExcelのマクロでAccessのmdbを...
-
Accessで「誰々が使用中です」...
-
ACCESS mdbファイル 更新日時
-
Accessの有効なメンテナンス方法は
-
アクセスをネットワークでリン...
-
Database.mdbと言うファイル
-
accessのmdbが勝手にできている?
-
SQLPLUSで結果を画面に表示しない
-
共有フォルダに誰が何にアクセ...
-
特定のエクセルファイルを起動...
-
【Excel】[Expression.Error] ...
-
EXCELでシート別にPDF出力出来...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「○○○.ldb」のAccess レコード ...
-
Accessデータベースの最適化をE...
-
ACCESSのモジュールエラー?
-
Accessで「誰々が使用中です」...
-
Accessのmdbを開こうとしたとき...
-
accessのmdbが勝手にできている?
-
アクセスをネットワークでリン...
-
ExcelのマクロでAccessのmdbを...
-
Excelでmdbファイルが簡単に開...
-
Accessでリンクテーブルのパス変更
-
Access2003でVBAツールの参照設...
-
ACCESS 複数のmdbでModuleを共...
-
accessなしの人にも、accessのM...
-
アクセスのファイルが壊れた!!!!!!
-
ほかのユーザーが同じデータに...
-
ACCESS mdbファイル 更新日時
-
ファイルは開くのに「見つから...
-
Database.mdbと言うファイル
-
他のPWがかかっているファイル...
-
Access起動中にエクセルからADO...
おすすめ情報