
No.2ベストアンサー
- 回答日時:
マイクロソフトのアクセスに同時に複数のユーザが同時にアクセスして
データベースを操作することは可能です。いくつかの方法がありますが、
昔私が簡便に行なっていた方法は「テーブルのリンク」です。
あるコンピュータにアクセスでdb1という名前のデータベースを作って
ここにデータを格納しておきます。
他方で別のコンピュータに、アクセスでdb2という名前のデータベースを作ります。
このdb2というデータベースのメニューで
「ファイル」->「外部データの取り込み」->「テーブルのリンク」
というのがありますから、最初に作ったdb1をたどり、リンクしたいテーブルを
選択します。
こうすることにより、db2にdb1のテーブルがリンクされ(リンクテーブルと
呼ばれます。アイコンが通常のテーブルと違います。)、db1に格納された
データをdb2で編集することができます。
db2で、db1からのリンクテーブルを元にクエリーを作成することもできます。
リンクテーブルに対してできないことはテーブル構造の変更くらいで
他のことはだいたいできると思っていいかと思います。
このような形をとれば、ローカルエリアネットワーク内の複数のコンピュータ
から同時に同じアクセスデータベースにアクセスすることは可能かと思います。
このやり方にはおそらく問題もあるだろうと思うのですが、昔私がやって
いた頃は、特段支障もなく業務を行なうことができました。問題は、これを
読んだ他の誰かが指摘してくださるかと思います。
同じレコードに複数ユーザが同じタイミングでアクセスするとややこしい
ことになります。これを回避するためには、db2にワークテーブルを備えておき、
リンクテーブルからレコードを一度db2に格納し、編集を終了したのちに
リンクテーブルのレコードを削除し、ワークテーブルで編集したレコードを
リンクテーブルに追加する、などのルーティンをマクロやVBAで構築するのが
よいかと思います。私はそのようにしていました。
他に、ADOを使う方法などもあります。方法はいくつかありますから、
少し研究してみるといいですよ。(^-^)
この回答への補足
ご回答ありがとうございます。
リンクテーブルのところまでは理解できました。
複数ユーザが、フォームを使ってデータを登録・編集するようにしたいのですが、
その場合、db2に対するフォームを作ればよいのでしょうか?
また、同じレコードに複数ユーザが同じタイミングでアクセスする説明なんですが、
動作はわかるのですが、それを実行するためのマクロ・VBAが分かりません…。
すいません、初心者なもので…。
No.4
- 回答日時:
#1 です。
当方で再現してみました。サーバー内に「db1.mdb(テーブル1)」を作成、パソコンA上のマイドキュメント内に「db2.mdb(テーブル1=リンク)」を作成、この「db2.mdb」をパソコンBにコピーし、パソコンAとBで同時にテーブル1への追加をしましたが、問題なくできました。
やってみて気付いたのですが、当方ではテーブル1を作成する際、主キーとしてはオートナンバーのフィールドを設けましたので、キーの重複が発生していません。
ひょっとして主キーのフィールドが手入力するようになっていて、かつ「重複なし」になっていませんか?
わざわざ、ありがとうございました。
主キーの設定等は問題なかったのですが、
同じDBは操作できましたが、同じレコードにアクセスするときに問題が発生してました。
別の方法で一応、逃げ対策ではありますが解決しました。
ありがとうございました。
No.3
- 回答日時:
#2です。
>また、同じレコードに複数ユーザが同じタイミングでアクセスする説明なんですが、
>動作はわかるのですが、それを実行するためのマクロ・VBAが分かりません…。
動作が理解できるようでしたら、あとは確かにマクロやVBAを習得するのみです。
きっとイケますよ。フォームはdb2の中に作ってください。
残念ながら、マクロの組み方やフォームの作り方、さらにはVBAなどの詳しい
説明は、キリがないのでここではできませんし、とても1日2日で習得できるものでも
ないかと思います。そういう意味で、先にお示しした方法は、00hiroto00様が
現在急を要するようですと、有効性が薄いです。ごめんなさい。
ただ、今後もアクセスをお仕事などに使っていかれるようでしたら、
こういったことをステップにして少しずつ知らなかったことをご自分の
ものにしていかれると、スキルアップを図ることができるのではないかと
思います。
たいした回答もできませんですいませんでしたが、そんなところでお許しください。
No.1
- 回答日時:
当方ACCESS2000ですが、
ツール→オプション→詳細
既定の開くモード=共有モード
既定のレコードロック=ロックしない
レコードレベルでロックして開く=オン
これで実現できると思います。
他の方のために、バージョンなどを補足してください。
この回答への補足
回答有難うございます。
私の使用しているバージョンもACCESS2000です。
回答いただいた設定を確認いたしましたが、
最初からそのような設定になっていました。
しかし、同時に二人のユーザで同じテーブル等に追加処理を行うと、
最後に編集した方に「どちらの変更を保存しますか?」と表示されてしまいます。
二人の編集を別々のレコードでそれぞれ追加できませんか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Accessを開くと「排他モードじゃないので変更しても保存できない」との旨の表示が出てしまう。
Access(アクセス)
-
ACCESS 複数のフォームから同一テーブル参照
Access(アクセス)
-
Accessファイルを作成者以外は編集できないように設定するには
Access(アクセス)
-
-
4
レコードロックする方法
その他(データベース)
-
5
Accessでの排他制御
その他(データベース)
-
6
【アクセス】「ほかのユーザー」を調べる方法
Access(アクセス)
-
7
ACCESS2003での150人同時利用
その他(データベース)
-
8
Accessのリンク先を相対パスにしたい
その他(データベース)
-
9
共有モードと排他モードとどちらで開けばいい?
Access(アクセス)
-
10
ACCESSのフォームで次のレコードに移動しない方法を教えてください
その他(データベース)
-
11
アクセスでテーブルの変更内容をフォームに反映させるには?
その他(データベース)
-
12
ACCESSで他の人が使っているかの判断は可能?
その他(データベース)
-
13
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
14
ACCESSで開いているユーザーの特定方法
Access(アクセス)
-
15
Access サブフォームでの選択行の取得
その他(データベース)
-
16
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
17
Accessで「誰々が使用中です」と表示するには
Access(アクセス)
-
18
会社の共有フォルダのIPアドレスを表示する方法
Windows 7
-
19
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
20
ACCESSでデータ変更箇所が分かるようにする方法
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessレコードの追加や変更が...
-
Accessでテーブル名やクエリ名...
-
ACCESS 既存のテーブルのフィー...
-
Accessでvlookupみたいなことは...
-
ACCESSのSQLで数値型に変換する...
-
【Access】2つのテーブル 複数...
-
ODBCで接続するとDBに変更/追加...
-
2つのテーブルを比較して一致し...
-
テーブル作成クエリで主キーを設定
-
SQLで日付を条件に削除したい
-
Accessでテーブルからテーブル...
-
堺市政令指定都市の変更に伴うA...
-
複数フィールドからの最新抽出...
-
リンクテーブルを CopyObject ...
-
MS-ACCESSで、レコードセットを...
-
デザインビューで、連結式 を...
-
SQLで条件指定結合をしたいがNU...
-
SQL: SELECT UNIONすると文字数...
-
アクセスで1ページに複数レコー...
-
WHERE レコードが抽出されない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessでテーブル名やクエリ名...
-
Accessでテーブルからテーブル...
-
Accessの追加クエリで既存のテ...
-
Accessでvlookupみたいなことは...
-
Accessクエリでの、LIKE条件
-
access テーブル内のレコード...
-
Accessレコードの追加や変更が...
-
2つのテーブルを比較して一致し...
-
ACCESSに同時アクセス(編集)を...
-
INSERT時にデータ登録とmaxの発...
-
デザインビューで、連結式 を...
-
ACCESSのSQLで数値型に変換する...
-
パススルークエリをテーブル作...
-
テーブル作成クエリで主キーを設定
-
3つの表を1つに縦に連結する
-
Accessで、複数のテーブルで随...
-
AccessでのNULLのレコードの表...
-
SQLで条件指定結合をしたいがNU...
-
ODBCで接続するとDBに変更/追加...
-
SQL: SELECT UNIONすると文字数...
おすすめ情報