• ベストアンサー

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

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

  • ネットワーク上でのアクセステーブルリンクについて

    よろしくおねがいします。個人事業で店舗内にLANでネットワークを つくっています。その中のAというパソコンにフォルダを作りアクセス ファイルmdbを入れました。そのフォルダを右クリックで共有とセキュリティを開き共有指定をして無制限にアクセスできるにチェックして 別のコンピューターからネットワークでAに入れたアクセスファイルのテーブルをリンクしようとするとフォルダ、ファイルは開けるのですが リンクを試みると他のユーザーが排他的に開いているか、データを読み取る権限ありませんとでてつなげません。どういった対処が考えられるでしょうか?よろしくお願いいたします。

  • ファイルサーバ上にあるAccessが開けません

    初めて質問させて頂きます。 Windows server2003で、ファイルサーバ上にあるAccessファイルを開けなくて困っています。 Windows server2003をWebサーバに設定をしているところです。 作成したWebサイトから、ファイルサーバ上にあるAccessのデータを見たいのですが、 「ファイル '\\Nas3\users\DB.mdb' を開くことができませんでした。ほかのユーザーが排他的に開いているか、データを読み取る権限がありません。」 とエラーが出てしまいます。 原因を調査していたら、そもそもWindows serverから該当のAccessファイルを開けないことがわかりました。 ファイルサーバ上のAccessを開こうとすると、以下のエラーが出てしまいます。 「指定されたデバイス、パス、またはファイルにアクセスできません。 アクセス許可がない可能性があります。」 開けないのは、Accessファイルのみで、ファイルサーバ上にあるExcel等の他のファイルは開けますし、編集もできます。 Windows server上にAccessファイルをコピーすると開くことができますが、 作成したWebサイトから開こうとすると、テーブルのリンクが貼ってあるためか、上記のエラーになってしまいます。 Accessは2000を使用しています。 インターネット等で2日間くらい調べていますが、どうしたらいいのかわかりません。 どなたかご教授お願いします。

  • アクセスでテーブルのリンクができません。

    アクセス(2003/2002/2000)でクライアント側に本ソフトを入れて サーバー(Windows2000サーバー)側にテーブルのみのデータを入れてネットワークで  テーブルをリンクして使用するよう設定しようとしたのですが、 クライアントのOSがWindows2000では問題なくリンクできるのですが、 OSがWindowsXPのクライアントでリンクすると 【このファイルを開けません  このファイルはイントラネット外または信頼されていないサイトに保存されていま  すセキュリティ上問題がある可能性があるため、ファイルを開きません。  ファイルを開くには、ローカルマシンまたはアクセスできるネットワークの保存場所に  いったんコピーして下さい。】 と言った警告のBOXがでてきてリンクできませんでした。 私は、ネットワークの初心者の為原因がわかりませんでした。 リンクできない原因とリンクできるようにする方法を教えてください。

  • Access起動中にエクセルからADOでデータの更新ができない

    こんばんは。原因がわからないので質問させてください。 SQLサーバーのデータをAccessのmdbへリンクテーブルしています。 (SQLサーバー → Access) 全て一つのパソコンで行なっています。(LANには接続していません) Accessのmdbファイルを起動している時に ExcelからSQLサーバーのAccessにリンクしている上記のテーブルへ ADOを使ってデータを追加しています。 (Excel → Access)  しかし、「rs.Update」の部分で  「ODBC--リンク テーブル'テーブル1'での更新に失敗しました。」 となってしまいます。 なので、一度mdbファイルを落として、コードを再開すると通るので ADOでExcel → Accessにデータを追加し終わってから再度mdbファイルを立ち上げています。 また同じ状態(mdbファイルを起動)で Excel → SQLサーバー へ更新クエリをしようとすると「時間切れになりました」となります。 (こちらもmdbファイルを落とすと再開できます。) いちいちmdbファイルを落とすのめんどうなのですが 回避する方法はありますか? cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "C:\Users\Documents.test.mdb" rs.Open "テーブル", cn, adOpenStatic, adLockPessimistic rs("フィールド") = True rs.Update '保存 rs.Close: Set rs = Nothing というコードを書いています。 Accessを落とせば正常に動きます。 ご教授よろしくお願い致します。

  • ACCESSのリンクについて

    ACCESS2000を使用しています。 エクセルのシートをACCESSのテーブルにリンクして使用していましが、リンク先のエクセルのファイルの場所を変更されたため、ACCESSでリンク先がないため、テーブルが開けなくなりました。 1、ACCESSのテーブルでリンク元のファイルを確認するにはどうすればよいのですか? 2、ACCESSでテーブルのリンク先を変更する場合はどうすればよいのですか?

  • Accessのテーブルを既存のExcelファイルへエクスポートしたいんですが

    Win2000,Access2000,Excel2000を使用しています。 アクセスのテーブルを既存のエクセルファイルへエクスポートするマクロを組みましたが実行すると、  「外部テーブルのフォーマットが正しくありません。」 というメッセージが出ます。 ヘルプを見ると、  「テーブルの形式がリンク後に変更されています。   テーブルをリンクし直してから、もう一度実行してください。」 という表示が出ますが、なんのことやらちんぷんかんぷんです。 そもそもテーブルのリンクとはどういう意味でしょうか? 別のエクセルファイルへエクスポートしてみましたが、それは問題なくできたので、エクスポートさせようとしているエクセルファイルの方に問題があるのでしょうか? どなたかお教えください。

  • SQL Server とaccess この認識であってますか?

    SQL Serverを使えば共有されていない2台のパソコンからでもIDとPWがわかれば テーブルをSQL Serverにアップしてaccessで操作できると言う認識であってますか? accessの本体の部分(フォームなど)をこの2台のパソコンに入れておけば 同じデータ(テーブル)を扱えるのでしょうか? ご回答よろしくお願いします。

  • EXCELにてアクセス制限をかける。

    お世話になります。 EXCELにて、 ・ファイルサーバーにファイルを置く。 ・サーバーにアクセスできるマシンはすべてビューできるけど、入力などの変更は出来ない。 ・操作(入力など)できるマシンを数台指定する。 このようなことは可能でしょうか? 宜しくお願いいたします。

  • Microsoft Access エラー 3051

    会社の売上げ伝票をMicrosoftAccessで作ったソフトを使っています。 消費税8%に変更する為、サーバーのアクセスファイルのデーターファイルのテーブルの数値を5%から8%に書き換えました。 すると県外の営業所からソフトを使用すると****(DB).mdbを開くか書き込むことができませんでした。とエラー3051となってしまいます。 エラーコード   :3051 エラーメッセージ ::ファイル '\\***.mdb' を開くか、書き込むことができませんでした。ほかのユーザーが排他的に開いているか、データ表示と書き込みを行う権限がありません。 今までは営業所からも普通に起動していました。 サーバーのアクセスファイルのデーターファイルのテーブルの数値を書き換えただけでこんなエラーがでるものなんでしょうか? サーバーが置いてある本社では普通にソフトの使用も可能です。営業所からのみがエラーを排出します。 本社サーバーはWinXP Access2000 営業所 Win7 Access2007 サーバーへ繋ぐのは「どこでもLAN」を使用してます。 本社サーバーのアクセスファイルのデーターファイルのアクセス権限を見れば解決するでしょうか? アクセスファイルのデーターファイルの数値を変更しただけで権限が変わってしまうものなのでしょうか? 難しい事はまったくわからないので原因と救済方法を簡単に教えて下さい。 伝票ソフトを作成した会社はもうありません。 本当は消費税のテーブルをレ点チェックではなく、5%・8%・10%と選べるようにした方が今後の対応にはなると思うのですがなるべくお金をかけたくなかったもので・・・・ よろしくお願い致します。

  • ACCESS リンクテーブルのEXCELの起動

    ACCESSデータベース内にリンクテーブルが5個あり、 そのリンクテーブルの元は異なるEXCEL2010ファイル(ファイル名は異なりますが、列など入力項目は同じです)からリンクテーブルで作成しています。 閲覧のみACCESSで行いたい(5個の異なるEXCELをACCESS上で一つにして検索を行うため)のですが、ACCESSを起動していると、元のEXCELファイルが起動できませんでした。 リンクテーブルにしていると、リンク元のEXCELファイルは開けないものなのでしょうか? 理想は、ACCESSで誰かが閲覧&検索していてもEXCELでの入力・編集を行いたいのですが、不可能であれば、起動のみでも出来る方法など御座いませんでしょうか。 ご教授のほど、宜しくお願いいたします。

専門家に質問してみよう