子宝どっとこむ

 

 アクセスランタイム

  • Sep032005
  • Author: Vulcan
  • Categories: 駄文

データベースを設計する場合、やり方はいろいろ考えられると思いますが、私の場合は、mdbファイルで作成し、AccessでDB設計&操作を行なうというのがオーソドックスです。

ところがAccessでDBを設計した場合、データを利用する人(つまり社員)全員がAccessを導入する必要があるのか、という問題に遅かれ早かれぶち当たります。

ほとんどの多くの人はAccessをインストールしても閲覧のみ、せいぜいフォームからデータを入力するのみの利用であり、DBの設計を行なう人はほんの一握りでしょう。それなのに全員にAccessを導入するというのはいかにも無駄が大きいと感じられます。

そこでアクセスランタイムを導入するという手が考えられます。

最上位のOfficeXP Developerには再配布可能なアクセスランタイムが搭載されています。

アクセスランタイムとはAccessで作成されたmdeファイルを実行することができます。mdeファイルとはmdbファイルをDB最適化して変換したもので、VBAはコンパイルされてソースは消されており、テーブル、フォーム、レポート等は編集できず、テーブルに直接アクセスすることもできません。要するに、フォームとレポートのみ利用可能ですが、データの追加、更新、削除、印刷、マクロの実行等は十分行なえます。

そもそも、Microsoftも開発しない人にはランタイムを配布すればよいという設計思想のようです。

また、ネットで調べれば幾つかのAccessで作成されたアプリケーションはランタイム付で配布していることが分かります。ランタイムはそれぞれのアプリケーションに対応させてカスタマイズされているため(←推測)、どのランタイムでもいいとは限らず、目的のmdeファイルを実行するのに適したランタイムがどこで手に入るかは分かりませんが、根気良く探せば見つかる可能性は大きいと思います。

さて、ランタイムを使って、皆がmdeファイルをインターフェイスにDBにアクセスする方法ですが、DBがJetであるため同時アクセスはつらいです。というか、数秒間隔で常に同期を取っているのが負担大きいようです。

この対策として手軽なのはDBをMSDEにする手があります(まだ試したことありません)。但し、MSDEは同時アクセス5人までが推奨ですから、あまりに大規模な組織では太刀打ちできないかもしれません。ちなみにMSSQLサーバーは同時アクセス無制限のようです。

しかし、果たして本当に同時アクセス(常時同期)が必要なのかどうかは、一度良く考えてみた方がいいと思います。つまり、データベースはmde、インターフェイスはExcelもしくはデータアクセスページ(ここでもアクセスランタイムが役に立っていると思われます)というのもありだと思いますし、あるいはASP+IISといった選択肢も考慮に入れた方がいいかもしれません。

【2005/9/13追記】
アクセスランタイムはMDEファイルしか読めないという認識を持っていましたが、誤っていました。機能的にはMDEファイルを見る以上のことはできませんが、わざわざMDEファイルを作成する必要(手間)はないということがいえます。

Access Club 初心者 Forum


アクセスランタイムとは、AccessがインストールされていないPCでもAccessで作ったシステムを動かすためのものです。簡単にいうと、Accessの機能を制限したバージョンと思えば理解し易いと思います。
(機能制限とは、テーブル、フォーム、モジュールといったオブジェクトの変更を出来なくしたもの、つまり開発できないということです。)

 Trackback Pings(0)

No trackbacks found.

 Comments(0)

No comments found.

 Post a Comment

コメント用フィード