
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
他の皆さんのおっしゃっている通り、AccessでC/S(厳密には違いますが)を構築しようとするとパフォーマンスは悪くなります。
2000では97と比べるとマシにはなっているような気がしますが、それでも2台以上になると若干落ちてきますよね。何台くらいで同時使用されているのでしょう?
自分の場合は5台がMaxですね。それ以上の場合はSQL-Serverにしています。特に2000からはAccessとSQL Serverの親和性がいいので(多少は癖がありますが)プロジェクトを使用しています。
分割ツールを使ったっていうことはひょっとして全てのフォームやレポートがサーバー側のテーブルに連結しているのでしょうか?だとしたら危険ですので、データ入力用のフォームくらいは、クライアント側に同じ構造のワークテーブルを置いてそれを編集して、サーバー側に書き込む処理にした方が安全です。ロックのチェックも利きますし。
ARCさんがおっしゃっているようにLANに流れるデータ量を工夫すればかなりいいです。Accessとは関係ないですが、Windows2000 Serverをお使いなら、ターミナルサービスを利用するのも手かもしれません。
No.2
- 回答日時:
要はLANの中に大量のデータが流れるからイカンのです。
例えば、フォームのレコードソースにテーブル名や、複数のレコードを返すクエリを指定していませんか?
フォームのレコードソースに、レコードを1件だけ返すSQLを書き、「次」ボタンで次のレコードを返すSQLをレコードソースに設定する、などとすると、ずいぶんと改善できます。
とにかく余計なデータをLANに流さない! ってことを念頭において開発するとそれなりに速度を稼げます。(それでも、データが溜まってくると遅くはなりますが・・・)
他には、内容が変化しないテーブルは積極的にクライアント側(フォーム等が格納されているDB)に置くようにします。
他にも色々と高速化のテクニックはあるのですが、こっから先は企業ヒミツ(^^;
No.1
- 回答日時:
★DBのデータがサーバ(ネットワーク回線の向う側)になるので、通信回線レベルまで速度が落ちます。
10BASEだと、かなりストレスが来ます。これは仕方が無い事だと思います。LANの構成を見直してください(ダムHUBをS-HUBにする、1000BASEへ移行等、物理的対策になります)★アクセスは、排他制御がイイカゲンなので、良く30~50分待たされたりします。(笑)
サーバがあるのでしたら、SQLServerや、ORACLEの方が良いのは事実ですが、難易度は跳ね上がります。
★ちょくちょく更新すると、トランザクションが溜まって、遅くなります
気休めかもしれませんが、アクセスのDBの最適化を行ってはどうでしょうか?
●DBの最適化
サーバで、Accessを起動。DBを呼び出す。
(このとき、クライアントからアクセスしないほうが良い。)
ツール - データベースユーティリティー - 最適化/修復
から、できます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
レコードを保存するコード ア...
-
アクセスのフォームで立ち上げ...
-
ACCESSでフォームを使って、テ...
-
新規レコード行を非表示にしたい
-
Access サブフォームにフィルタ...
-
アクセス データの競合を非表...
-
ACCESSフォームのリストボック...
-
Access非連結フォームから複数...
-
アクセスでフォームビューがみ...
-
Accessで一件の新規レコードの...
-
passwordが入れられません・・・・
-
データベースのINT型項目にNULL...
-
Access2007 ラベルの削除がで...
-
「フォームを作成できませんで...
-
サブフォームに対してGoToRecor...
-
Access レポート印刷するときに...
-
Access2000VBAでEscキーを禁止!
-
ACCESS──メインフォームでサブ...
-
access フォーム上で複数行の...
-
クエリで出来た表にチェックボ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レコードを保存するコード ア...
-
新規レコード行を非表示にしたい
-
アクセスでフォームビューがみ...
-
アクセスの自動保存解除はでき...
-
AccessVBA RecordSourceのリセ...
-
ACCESSフォームのリストボック...
-
アクセス:フォーム入力で、最...
-
レコード削除時に(サブ)フォー...
-
Access:フォームプロパティ「...
-
レコードをダブルクリックする...
-
アクセス データの競合を非表...
-
Accessでフォーム上に 直前の...
-
Accessでレコードの保存をせず...
-
フィルタ後のフォームの件数の...
-
ACCESSでフォームを使って、テ...
-
ACCESS起動時に所定フォームを...
-
Accessで上の行を自動でコピー...
-
Access レコード移動時イベント...
-
Accessでのデータ消滅に...
-
Accessでチェックボックスで抽...
おすすめ情報