• ベストアンサー

アクセスとエクセルについて

5台のパソコンがネットワークでつながっています。1台をサーバーとしてアクセスでデータを作っています。一つのテーブルをエクセルのデータからリンクしているのですが、このテーブルを使用しているファイルを開こうとすると、1台開くと2台目は「***(エクセルのデータ)が開きません。排他がかかっています」と表示されます。エクセルのデータが排他にならないようそうさすることはできますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.4

>専門の学校で習うなりしなければわからないくらい難しいのでしょうか? VisualBasicはそんなに難しいものではありませんよ。 通常の処理をするくらいの物であれば独学でも充分対応できます。 参考書を買っても自分の必要なものが出ているかどうかで違いますし何でも全て 載っている本はないです。 > ODBCを使ってExcelのレコードをソースとしてリンクする方法で共有できるかも しれませんね。

koutoubu34
質問者

補足

いつも丁寧にお答え頂きありがとうございます。 参考書によって載っていることが違うとはしりませんでした。ということは、たくさんの事ができる可能性があるのですね。 私の持っている参考書はエクスメディアの「超図解シリーズ」の基本編とクエリ&応用編です。とても解りやすい参考書ですが、今回の疑問点は記載されていないように思います。また別の参考書をさがしてみます。 すでに、ODBCというのもわからないのです・・・(~_~) 本当にありがとうございます!勉強します!

その他の回答 (3)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.3

補足への回答が遅くなってすいません。 通常にテーブルにExcelのシートをリンクした場合は排他モードでリンクされてしま うので誰かが開いている状態では他の人は開けません。 #1の方が言っているのはAccessのデータベースの設定でありリンクしたExcelの レコードを使用する際には関係ありません。今問題になっているのはExcelのシート を排他ではなく共有モードでリンクして各PCでも同時に使用できるようににはと 云うことですよね。 データベースを開くときにVisualBasicを使いExcelのシートにリンクを張りその時 にVisualBasic側からExcelを排他ではなく共有でリンクするように記述しないと ダメだと思います。 リンクのセット時にOpenDatabaseという記述を使うのですがExcelのシート名を指定 しその次に排他か共有かの開くモードを設定できるのでその設定をFalseにして共有 モードで開けるようにするという事なのですが。 VisualBasicで記述が出来ないとダメです。 ExcelのデータをAccessのテーブルにインポートして使うのが手っ取り早いと思い ますが。 Excelのデータをインポートして、リンクさせているシートと同じ名前でテーブルを 作ればそのまま使えると思います。

koutoubu34
質問者

補足

お返事頂いてありがとうございます。私はVisualBasicの記述をやったことがないのでやはり無理なんですよね・・・。インポートするとアクセスで変更した場合、エクセルの方は変更されないので、そうなるとデータが2重になってしまします。 VisualBasicの記述は独学で勉強できるものなのでしょうか?それとも、やはり専門の学校で習うなりしなければわからないくらい難しいのでしょうか?

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

通常のリンクでExcelを開くと排他モードで開いてしまいますのでVBを使って OpenDatabaseのセットの際に共有アクセスモードで開く値のFalseを指定すれば 良いと思います。

koutoubu34
質問者

補足

すみません!もう少しくわしくお願いします!「エクセル」というエクセルの データをリンクしているとして、作業手順はどうすればいいのでしょう。VBとかopenDatabaseとかよくわかりません。たいへんたいへんお手数ですがお願い致します!

  • sydneyh
  • ベストアンサー率34% (664/1947)
回答No.1

Access97のヘルプでは以下のように説明されています。 [既定の設定をデータベース共有モードで開くか排他モードで開くかを指定する] この操作は、各ユーザーのコンピュータでデータベースを開く方法にのみ影響します。 他のコンピュータのユーザーの既定値には影響しません。 ○[ツール] メニューの [オプション] をクリックします。 ○[詳細] タブをクリックします。 データベースを開くときに、同時に他のユーザーでも開けるようにする場合は [共有モード] をクリックします。 他のユーザーで開けないようにする場合は、[排他モ-ド] をクリックします。 メモ ・既定値として共有モードを指定している場合でも、マルチユーザー環境でデータベースを開くときには、排他モードまたは読み取り専用モードで開くことができます。 ・マルチユーザー環境にセキュリティを設定している場合は、データベースに対する排他で開く権限を与えなければ、ユーザーが排他モードでデータベースを開くことはできません。 ということで、ファイルを他のユーザー(別のPC)が既に使用している場合、別のユーザーは使用できないように、「開くモード」が”排他”設定になっているんだと思います。 ただ、ヴァージョンによって設定が微妙に違う可能性があるので、koutoubu34さんのAccessのヘルプでもお確かめ下さい。

koutoubu34
質問者

お礼

お答えありがとうございます。しかし、やはりエクセルのデータがひらきません。 なかなかうまくいきません・・・。すみません。

関連するQ&A

専門家に質問してみよう