• 締切済み

ACCESSをみんなで共有して使いたい

ACCESSの一つのファイルを会社のファイルサーバーに移動させるとみんなで使えるようになると思いますが、ただファイルを移動させ、ショートカットをみんなのPCに置いておくだけででよいのでしょうか? 入力したり削除を同時にした場合の同期とかは一斉にとれればいいと思っております。共有で必要な設定や注意点があれば教えてください。(ついでにファイルメーカー5.0でも) 使用 ACCESS97, OS Windows98(95の人もいます)

みんなの回答

  • harazi
  • ベストアンサー率0% (0/0)
回答No.7

ACCESSもファイルメーカーも,クライアントパソコン1台(CPU)あたりにインストールを行わなければならないはずです. (1つのアプリケーションを多人数ではしようできない) yamasa24さんがされようとしていることは,著作権に触れる可能性があります. まずは,メーカーに問い合わせをさせることをお勧めします.

  • msystem
  • ベストアンサー率42% (79/186)
回答No.6

>1,SQLServerとファイルサーバーって違うのですか? SQLServerとはMicrosoft社製のデータベースソフトです。 もともと、SQLとい言葉は、SQL言語というデータベース操作用言語のことで、Microsoftが製品名に使用しました。SQL言語はAccessでも使用できます。 ファイルサーバーは、ファイルという管理単位でデータを格納するサーバーのことで、どこにどのデータを保存するかをユーザー側が決めることができ、今提供されている仕組みだと、ほとんど自分のコンピュータ上にあるHDと同様に扱うことができます。サーバー側では、ファイル共有サービスというソフトが動いています。 データベースサーバー(SQLServerはその中の1つ)は、ある管理単位(一般には表、表の中の列と行の交わりにあるセル)で、データを保存するサーバーで、表名、列、行でどこにどのデータが保存してあるかの管理をデータベースが管理してくれます。そのため、データを探すのが非常に楽になっています。データベースサーバーでは、データベースソフトが動いています。 >2,同じファイル内にあるフォーム、レポート、テーブルを切り離すことはできるのですか? アクセスでは、テーブルを外部のデータベースの表を参照することができるので、クエリや、フォーム、レポートの参照先を、外部参照しているテーブルを参照するようにすれば(作り直すことになりますね)可能です。

yamasa24
質問者

お礼

どうも詳しい説明ありがとうございました。 とても、勉強になりました。別の社内システムでもACCESSを使ってみんなで共有しているものがあるのですが、こういう仕組みがわかっていないと、トラブルが起こったときとか説明されてもイマイチわからなかったりするので、言葉や仕組みを知ることができてとても良かったです。 でも奥が深いんですね~。

  • msystem
  • ベストアンサー率42% (79/186)
回答No.5

CHOROLYNさんの回答に追加です。 MSDEは、SQL-Serverの機能限定版です。 とはいっても、通常使う分には何の制限もありません。不足しているのは、データベース管理ツールが付属していないことと、同時ユーザー数が5以下ならSQLServerと同等に使える(らしい)ことです。(5以上の接続だと、パフォーマンスが落ちるとのMicrosoftの説明です。) SQLServer・MSDEを使うということはCHOROLYNさんもおっしゃっていますが、テーブル・クエリ部分はサーバー側に置き、フォーム・レポートはAccessを使う、というのが基本的な使い方になります。つまり、データ自身と検索・削除・更新などの作業はサーバーで行うという形です。ロックなどの制御もやってくれます。 Access側は画面操作や印刷などの作業を行うことになります。 MSDEは、Access2000ユーザーは、ライセンスを購入することなく使えることになっています。AccessのCDに多分入っていたと思います。(Office Pro以上のCDには入っています)

yamasa24
質問者

お礼

いろいろ教えていただきありがとうございます。 結果的に会社のシステムの方がなんとかしてくれることになったのですが、皆様方の回答にでてきたSQLとかそういう言葉がでてきました。 恥ずかしながら、私かなりそこらへんがわかっていないので、お聞きしますが。 1,SQLServerとファイルサーバーって違うのですか? 2,同じファイル内にあるフォーム、レポート、テーブルを切り離すことはできるのですか?

noname#1296
noname#1296
回答No.4

 Accessのみで共有する場合は、フォームなどで直接テーブルのデータはいじらせない仕様にしています。クライアント側にサーバーのテーブルと同じ構造のテンポラリーテーブルを用意して、フォームから直接いじれるのはそちらのデータのみっていう設計です。あるデータを修正する場合、サーバー側からそのデータをローカルのテーブルにコピーしてクライアント側でそのデータを修正します。それでコマンドボタンを押した時に初めてサーバーのテーブルのデータを更新するっていうやり方です。 複数のユーザーが同じレコードを同時に修正しようとして最後にコマンドボタンを押した変更のみが反映される仕様になりますので修正作業中は他のユーザーに触らせないために修正中のフラグなどを持たす必要がありますが。 SQL-ServerにはAccessでいう所のテーブル・クエリーが存在します。この場合Accessは単なるフロントエンドでしかなく更新や抽出の命令を送ったり結果を表示するだけで、実際のデータの更新・抽出はSQL Serverのデータベースエンジンが行う事になります。Accessのみでの共有の場合はクライアント側のJetデータベースエンジンが全て処理を行います。

noname#1296
noname#1296
回答No.3

 規模やトラフィックにもよりますが、自分ではクライアント5台までならAccess、それ以上ならSQL-Serverっていう判断しています。  その場合も、一般的にフォームやレポートまで入ったMDBを共有するのではなく、データのみのMDBとその他のオブジェクトが入ったMDBを分けてリンクするっていうやり方でないと同時に使用した場合にデータベースが壊れる以前に、システム的にまともに動かないと思うのですが。

yamasa24
質問者

お礼

5台までの共有であればファイルを移動して、編集中のレコードをロックする設定をかければ大丈夫なのでしょうか? よくSQL-Serverというのは耳にするんですが、わかりませんので教えてくださいませ、データを管理しておくためのサーバーですか?

回答No.2

msystemさんのおっしゃる通り、ファイル共有は私もやめたほうがいいと思いますが、色々事情もあるでしょうからこまめにバックアップや最適化はしておくようにしておいたほうがいいでしょうね。 それと、ツール→オプション→詳細タブの中の「規定のレコードロック」を「編集済みレコード」にしておくと、レコード単位のロックができます。 ユーザーが少ない場合でも同時アクセスのリスクはありますので、誰かが編集しているレコードだけをロックするようにしておくと良いかと思います。 誰かがファイルにアクセスしているだけで他の人はアクセスできない状態だと使い勝手が良くないですからね。

  • msystem
  • ベストアンサー率42% (79/186)
回答No.1

基本的には、おっしゃるとおりで可能です。 ただし、(たぶんファイルメーカーも同じ)Accessはスタンドアローン用に作られたデータベースシステムですので、ファイル共有によるデータの共有は、止めたほうが良いと思います。 特に、複数の人が同時にアクセスしたり、削除などをした場合は、トラブルが非常に多いようです。(最悪の場合、ファイルが壊れます) どうしても簡単に、しかも安全に共有したければ、クライアントをすべてAccess2000にして、データベースをMSDEにすることをお勧めします。

yamasa24
質問者

お礼

すみません、あまり知識がなくてMSDEとは何でしょうか? フォームとかはアクセスで作ってテーブルとなるところは別のものでもつってことですか? 教えてください。

関連するQ&A