
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(アクセス)
-
【Access2000】テーブルリンクの排他モードについて
Access(アクセス)
-
ACCESS2003での150人同時利用
その他(データベース)
-
-
4
Accessのリンク先を相対パスにしたい
その他(データベース)
-
5
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
6
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
7
ACCESSでクエリを作成したら「式が複雑すぎます。」の表記が…
その他(データベース)
-
8
レコードロックする方法
その他(データベース)
-
9
Accessのクエリで、replace関数を使い、データの中にある”をブランクに置き換えたいのですが
Access(アクセス)
-
10
Acccessで2つのテーブルから1つのフォームをつくりたい
Access(アクセス)
-
11
ACCESSでデータ変更箇所が分かるようにする方法
Access(アクセス)
-
12
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
13
accessでフィールド追加のあとフォームに反映されない
Access(アクセス)
-
14
ACCESS 「パラメータの入力」を消したい!!
Access(アクセス)
-
15
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
16
Accessのリンクされたテーブルでリンク先ではデータを変更出来ないようにするには?
Access(アクセス)
-
17
Accessのフォーム上にレコード数とレコード番号の表示
その他(データベース)
-
18
Access サブフォームでの選択行の取得
その他(データベース)
-
19
Access2007でSQLの複数列副問い合わせについて
その他(データベース)
-
20
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Countと受付状態の表示に...
-
下記の事を行うSQLがわかりませ...
-
SQL: SELECT UNIONすると文字数...
-
Accessでテーブル名やクエリ名...
-
データベースで変更の多いテー...
-
Accessでテーブルからテーブル...
-
ACCESS97のテーブルサイズについて
-
Accessで、複数のテーブルで随...
-
テーブル作成クエリで主キーを設定
-
Accessでのテーブルのコピー
-
テーブルを見られないように
-
AccessでのNULLのレコードの表...
-
デザインビューで、連結式 を...
-
Excel 2019 のピボットテーブル...
-
「直需」の意味を教えてください
-
ACCESS検索★ある文字を複数のフ...
-
INSERT INTO ステートメントに...
-
【Access】フォームで自動計算...
-
Oracle 2つのDate型の値の差を...
-
SQLServer2005のSQL文での別名...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessでテーブル名やクエリ名...
-
下記の事を行うSQLがわかりませ...
-
Countと受付状態の表示に...
-
Accessレコードの追加や変更が...
-
Accessの追加クエリで既存のテ...
-
Accessでテーブルからテーブル...
-
Accessでvlookupみたいなことは...
-
2つのテーブルを比較して一致し...
-
Accessクエリでの、LIKE条件
-
access テーブル内のレコード...
-
テーブルを、たとえそれが存在...
-
ACCESSのSQLで数値型に変換する...
-
デザインビューで、連結式 を...
-
ACCESSに同時アクセス(編集)を...
-
2つのテーブルAとBをマージ...
-
accessで指定期間の曜日カウン...
-
データベースで変更の多いテー...
-
INSERT時にデータ登録とmaxの発...
-
パススルークエリをテーブル作...
-
SQLで条件指定結合をしたいがNU...
おすすめ情報