• ベストアンサー

Accessのオブジェクトがインポートできません

 Accessで作成中のアプリケーションに、他の作成済みAccessアプリから、 流用したいオブジェクトをインポートしようとするのですが、うまくいきません。  具体的には、作成中のAccessアプリ(以下「アプリA」と表記します)にて、 ファイル(F)-外部データの取り込み(G)-インポート(I)を選択し、 開いたインポートウィンドウから、作成済みのAccessアプリ(以下「アプリB」 と表記します)を指定し、オブジェクトのインポートウィンドウから、 取り込みたいオブジェクト(フォーム)等を選択のうえ、OKを押下すると 以下のメッセージウィンドウが表示され、うまくいきません。 『ほかのユーザーによってファイルが開かれているため、変更したデザインを 保存したり、新しいデータベースオブジェクトに保存したりできません。 デザインの変更を保存したり、新しいオブジェクトに保存したりするには、 ファイルを排他モードにする必要があります』  ちなみに「アプリA」は、セキュリティウィザード適用により自動生成された ショートカットからのみ起動できるもの、「アプリB」はセキュリティは未設定の ファイルです。  このため「アプリA」は、ファイル-開く からモードを指定して開くことが できない為、代わりにツール-オプションの詳細タブで、既定のモードを 「排他モード」に変更して試してみるものの、うまくいきません。  どなたか助けていただきたく、よろしくお願いいたします。 以上

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

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.3

以前のご質問で回答した者です。 http://oshiete1.goo.ne.jp/qa5512019.html > 「グループ(G)」レベルで見ると、管理者権限そのもの(即ち全ての > 権限が付与されている状態)となっています。 この「全ての権限が付与されている状態」を確認されたのは、「新しい フォーム」についてでしょうか、それとも全項目についてでしょうか。 こちらで確認したところ、新規フォームの作成(既存の別ファイルからの インポートを含む)を行うには、そのデータベースを排他で開く権限が 必要でしたので、上での確認から漏れていないか確認してみて下さい。 (「ツール(T)→セキュリティ(T)→ユーザー/グループの権限(P)」で  『ユーザー/グループの権限』ダイアログを開いたら、右側中段に  ある『オブジェクトの種類(Y)』で「データベース」を選択し、  左側にある『排他で開く(X)』のチェックをオンにします) ※こちらで確認した限りでは、『オブジェクトの種類(Y)』で「フォーム」を   選択し、上方に表示される『オブジェクト名(O)』で「<新しいフォーム>」   を選択したときの権限の設定に関係なく、上記の『排他で開く(X)』の   設定によってのみ、新規フォームの作成可否が変化しました。  (「<新しいフォーム>」での権限の設定は、新規作成フォームに対する   権限の『既定値』を設定するためのもののようです) なお、 > 「アプリA」は、ファイル-開く からモードを指定して開くことができない為、 とのことですが、上記ご質問の際にご紹介したように、セキュリティウィザード で作成したMDWファイルを、既定のワークグループファイルに指定することも できますので、既定のワークグループをそのMDWファイルに切り替えれば、 「排他モード」を指定して開くことも可能になります。 ・・・ただ、前回のご質問での状況と照らし合わせると、Spacewatchさんの PC内でのAccessが、どうもイレギュラーな状態を抱えてしまっているのでは ないか、という気もしています。 というのは、そちらの環境ではショートカットから起動した場合と既定のワーク グループに指定した場合とで、権限の反映のされ方が違うような挙動をして いたと見受けられたためです。 (読み取り違えていたらすみません) 少なくとも、こちらで確認した範囲では、どちらの方法で起動した場合でも、 動作(新規作成/インポートの可否)は同じでした。 (なお、こちらでは、ユーザーグループに対してデータベースを開く権限を  与えた上で、「排他で開く」の設定の切替を行って動作を確認しました:  ユーザー個別に対しては、そちらと同様、一切権限を与えていません) 現在のMDWファイルによる権限設定は一旦全て解除した上で、Accessを 再インストールし、改めてセキュリティウィザードでMDWファイルを新規作成 した上で、新規MDWを既定のワークグループファイルに設定し、新規ファイル に全オブジェクトをインポート、というのが、結果的に一番の近道になるかも しれません(汗) (こちらの環境で再現が取れないため、Access側の設定の問題なのか、  システムがエラーを抱えているのか、の切り分けができないのが・・・(汗)) ※「排他で開く」の権限を与えなかった場合のエラーメッセージの内容は、   ご質問中に提示されたものと同じでした。念のため。

Spacewatch
質問者

補足

DexMachinaさん  前回に引き続き示唆に富んだ情報を有り難うございます。  ご連絡が遅くなり申し訳けありません。  実は、NO.2補足のあと、上記のご回答をいただくまでの間に、原因は不明 ながら、結果的に問題としての解決は、しておりました。しかしながら、上記の 視点での確認が取れなかった為、つまり、原因追求のため、今日まで時間を 要していました。  順を追って説明します。 【1.問題解決(結果的に)の経緯】    NO.2補足の後、そのままの状態でインポートすることをあきらめ、下記URL      http://okwave.jp/qa/q2089787.html を参考に、一旦セキュリティを解除し、その後インポートを行い、結果、 インポートすることができました。  その意味では、上記でもご提案いただいている > 現在のMDWファイルによる権限設定は一旦全て解除した上で、Accessを > 再インストールし、改めてセキュリティウィザードでMDWファイルを新規作成 > した上で、新規MDWを既定のワークグループファイルに設定し、新規 > ファイルに全オブジェクトをインポート、というのが、結果的に一番の > 近道になるかもしれません(汗) のうち、「Accessを再インストールし」の部分のみを除いた手順を、すでに 実行し、とりあえずの問題は解決していた、ということになります。 【2.なぜインポートできなかったかの原因追求】  上記ご回答をいただいた後、ご回答の中で、 > こちらで確認したところ、新規フォームの作成(既存の別ファイルからの > インポートを含む)を行うには、そのデータベースを排他で開く権限が > 必要でしたので、上での確認から漏れていないか確認してみて下さい。 > (「ツール(T)→セキュリティ(T)→ユーザー/グループの権限(P)」で >  『ユーザー/グループの権限』ダイアログを開いたら、右側中段に >  ある『オブジェクトの種類(Y)』で「データベース」を選択し、 >  左側にある『排他で開く(X)』のチェックをオンにします) とある部分について、原因追求のために、確認を試みました。  但し、上記1項で示しましたように、既にセキュリティを全て解除し、 再設定してしまった後でしたので、そのままでは確認できません。  そこで、会社のサーバ管理者に依頼し、問題が発生した時点での バックアップファイル(mdbおよびmdw)を再生してもらい、これを 再度開いて、設定を確認してみました。  結果、残念ながら予想に反し、『排他で開く(X)』のチェックはオンでした。  念のため、他の全てのオブジェクト(<新しい・・・>も含む)について 権限の設定を確認しましたが、全てのオブジェクトに対し、全ての権限が オンでした。  そして、この状態でインポートを実行すると、首尾良く取込が出来ました。  一応、再生されたファイルの日時タグを確認したところ、問題発生時点の ものに間違いはなさそう、つまり、バックアップファイルの再生は正しく なされているようなのですが・・・・ 【3.考察?】  問題発生している状況のなかで、上記のセキュリティ設定が確認 できると良かったのですが、時間が経ってしまい、現象の再現が確認 できない状況となってしまいました。  ひょっとすると、問題発生時に、なんらかのオペミス等で、一時的に 、『排他で開く(X)』チェックがオフになっていたとか、あるいはインポート作業を 実行していた時のログインユーザが管理者権限に設定されていなかった、 等(いずれも考えにくいのですが・・・・)、ということも残念ながら確認できない 現状です。  ともあれ、問題発生時点のファイルが再生できたことで、原因追求のために 何か他にテストしてみる(あるいは確認してみる)べきことはありません でしょうか?  この点について、最後にコメントをいただければ幸いです。  よろしくお願いします。 以上

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.4

No.3です。 > 問題発生時点のファイルが再生できたことで、原因追求のために > 何か他にテストしてみる(あるいは確認してみる)べきことはありません > でしょうか? 復元したMDB及びMDWの組み合わせで > そして、この状態でインポートを実行すると、首尾良く取込が出来ました。 とのこと、つまりご質問の状況が再現できなかった、ということですと、 やはり今回ご質問された現象は、ファイル側ではなくアプリケーション側が 何らかの問題を抱えていた、という推測が妥当な気がします(汗) (現象が再現していれば確認事項もあるかもしれませんが(但し、今回の  件では、再現していたとしても前回の回答以外の確認事項は  思い浮かばないのですが(汗))、再現していない状況では確認自体が  できないかと思います:  やるとしたら「再現する条件の洗い出し」ですが、それは前回回答の  「データベースに対する『排他の権限』の権限」がそのものですので・・・) 「Accessの設定等も変更していないし再インストールもしてないのに何故?」 と思われるかもしれませんが、ご使用のPCがMicrosoft Update(または Windows Update)を実行されているようであれば、Accessに関連するパッチ (私は詳しくはありませんが(汗)、恐らくDLLへの適用も含めて)が当てられた 際に、その不具合部分が上書きされた、という可能性も考えられます。 用語の参考: http://e-words.jp/w/DLL.html 或いはもっと単純(?)に、OS起動時またはアプリケーション起動時に、 何らかのプログラムの読み込みでエラーが発生していて、それが再起動に よって修復した、という可能性もなくはないかと・・・(汗) ・・・実のない回答で、すみません(汗)

Spacewatch
質問者

お礼

 ありがとうございます。  「今回の件では、再現していたとしても前回の回答以外の確認事項は 思い浮かばない」とのこと、了解致しました。  やはり、新規フォームの作成(既存の別ファイルからのインポートを含む) を行うには、、『オブジェクトの種類(Y)』で「フォーム」を 選択し、上方に表示 される『オブジェクト名(O)』で「<新しいフォーム>」 を選択したときの権限の 設定に関係なく、そのデータベースを排他で開く権限が必要、というところが Accessの使い方の上では、ポイントと理解しました。    今後、この点留意したいと思います。  あと、Accessへのパッチがあたったかもしれない、プログラムのエラーが 再起動で修復したとのご指摘もありうる話かもしれません。  この点につきましても、今後留意したいと思います。  大変有り難うございまいました。 以上

全文を見る
すると、全ての回答が全文表示されます。
  • tag1701
  • ベストアンサー率54% (67/123)
回答No.2

補足見させていただきました。 セキュリティウィザードは中々難しそうですね。 マイクロソフトでその単語で検索をかけると、やはり 結構つまずく方が多いようですね。 で、私も2000Verで作ったものコピーして、ウィザード かけてみました。そしてツール-セキュリティ-ユーザー/グループの権限 の所で自分がアクセスしている名前の権限を管理者と同じ全ての 権限ありになるようチェックマークをつけてから インポート-MDB選択-フォーム○○で行なったら 成功しました。 参考になれば幸いです。でもこれで駄目だと私のスキルでは お力になれそうもないです。スミマセン。。。

Spacewatch
質問者

お礼

 NO.3へのお礼に示しましたように、問題そのものは、セキュリティの一旦 解除、そして再インポートにより解決しました。  tag1701さんが上記で書かれているとおり、またNO.4へのお礼にも 書きました通り、(データベースそ開く権限も含めて)セキュリティの設定が 普通に実行されていれば、問題なくインポートできるはずであろうということが 理解できました。  有り難うございました。   以上

Spacewatch
質問者

補足

 早速の返信有り難うございます。    すみませんが、 >そしてツール-セキュリティ-ユーザー/グループの権限 >の所で自分がアクセスしている名前の権限を管理者と同じ全ての >権限ありになるようチェックマークをつけてから の部分がよくわかりません。  もう少し詳しく、操作を教えていただけないでしょうか?  「自分がアクセスしている名前」とはどういう意味でしょうか?  リストのラジオボタンを「グループ(G)」ではなく、あえて 「ユーザー(U)」にしておいて、全ての権限にチェックを入れる ということでしょうか?  ちなみに、当方のAccessバージョンは2003です。  また、セキュリティ設定済の「アプリA」は、セキュリティウィザード を適用していますので、自分自身は管理者グループに所属しており 「ユーザー(U)」レベルで見ると、一切の権限付与がありませんが、 「グループ(G)」レベルで見ると、管理者権限そのもの(即ち全ての 権限が付与されている状態)となっています。 以上

全文を見る
すると、全ての回答が全文表示されます。
  • tag1701
  • ベストアンサー率54% (67/123)
回答No.1

確認ですが、アプリBは閉じた状態で行って発生しているのでしょうか? 仮に空MDBを作って、同じくアプリBからインポート操作を した場合はうまくいきますか? また、アプリBを複製してそこからインポートしてもダメでしょうか? メッセージを素直に読むとアプリBを開きながら操作を行っているように 推察されるのですが。。。

Spacewatch
質問者

補足

 早速の回答有難うございます。  言葉たらずだったようですので、あらためてご説明します。 > 確認ですが、アプリBは閉じた状態で行って発生しているのでしょうか?  はい。閉じています。  閉じた状態で行っているにもかかわらず、 『ほかのユーザーによってファイルが開かれているため・・・・』との メッセージが出てしまう、ということなのです。 > 仮に空MDBを作って、同じくアプリBからインポート操作を > した場合はうまくいきますか?  はい。実はこれも既に試しています。  具体的には、アプリAも、アプリBも閉じ、あらためてAccessを 立上げた後、空のMDBを作成(これを仮に「アプリC」と呼びます) します。  そして、「アプリC」にてファイル(F)-外部データの取り込み(G)- インポート(I)を選択し、開いたインポートウィンドウから、「アプリB」 (閉じています)を指定し、オブジェクトのインポートウィンドウから、 取り込みたいオブジェクト(フォーム等)を選択のうえ、OKを押下すると 首尾良くそのオブジェクト(フォーム等)が取り込まれます。 > また、アプリBを複製してそこからインポートしてそこからインポート > してもダメでしょうか?  これは未だ試していませんでしたので、やってみましたが、やはり ダメでした。  具体的には、「アプリB」をエクスプローラで複製し、「アプリB_コピー」 を作成、この「アプリB_コピー」を閉じた状態で、「アプリA」から インポートしようとしましたが、やはり同じメッセージが出てダメでした。  ちなみに、同複製「アプリB_コピー」を先ほど作った「アプリC」から インポートをしてみたところ、これはうまくいきました。  うまく取り込める空のMDB(「アプリC」)と、取り込めない「アプリA」との 大きなちがいはセキュリティ設定の有/無なのですが、このあたりに何か 原因があるのでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 変更を保存したい

    共有はしていません。一人で使用しています。 アクセスファイルのADOをいじって保存しようとすると、 『ほかのユーザーによってファイルが開かれているため 変更したデザインを 保存したり、新しいデータベースオブジェクトに保存したりできません。 デザインの変更を保存したり、新しいオブジェクトに保存したりするには、ファイルを排他モードにする必要があります』 となるのですが、このまま変更を保存するにはどうすればいいでしょうか? この状態から排他モードにすることは可能なのですか?2007です。ご回答よろしくお願いします。

  • アクセス データは保存される?排他モード???

    レコードのデータを変更したり、新規にデータを入力した後に、 CTRL+Sを押すと、 『ほかのユーザーによってファイルが開かれているため、 変更したデザインを 保存したり、新しいデータベースオブジェクトに保存したりできません。 デザインの変更を保存したり、新しいオブジェクトに保存したりするには、ファイルを排他モードにする必要があります』 と表示されますが、 これはデータは保存されてるのでしょうか? デザインが保存されないだけでしょうか? でもデザインビューなどでいじってません。 また上記のメッセージから、今は排他モードでは開いてないことがわかりますが、 であれば何モードで開いてるのでしょうか? 共有モードでしょうか? それを開いてる状態で確認することは可能ですか?

  • 【アクセス】「ほかのユーザー」を調べる方法

    たまにvbaコードをいじろうとした時や フォームのデザインを変えて保存しようとしたときに 「ほかのユーザーによってファイルが開かれているため、変更したデザインを保存したり、新しいデータベース オブジェクトに保存したりできません。 デザインの変更を保存したり、新しいオブジェクトに保存したりするには、ファイルを排他モードにする必要があります。」 のエラーが出るのですが 「ほかのユーザー」とは誰のことかも調べる方法はありますか? よろしくお願いします。

  • ファイルを開いている状態で排他モードに変更する事は

    ファイルを開いている状態で排他モードに変更する事は可能なのですか? 一人で使っているMDBファイルですがVBAコードを修正していたら、 なぜか 『ほかのユーザーによってファイルが開かれているため、変更したデザインを 保存したり、新しいデータベースオブジェクトに保存したりできません。 デザインの変更を保存したり、新しいオブジェクトに保存したりするには、 ファイルを排他モードにする必要があります』 と出てしまいました。 とりあえず一度ファイルを閉じようとしても、この表示が出てしまいます。 修正したコードは保存したいのですが、どうすればいいのでしょうか? このまま排他モードに切り替えてVBAコードを保存したいです。

  • ファイルを保存できない

    vba付きのアクセスファイルを保存して閉じたいのですが、 右上の罰ボタンを押すと、 「ほかのユーザーによってファイルが開かれているため、変更したデザインを保存したり、新しいデータベース オブジェクトに保存したりできません。 デザインの変更を保存したり、新しいオブジェクトに保存したりするには、ファイルを排他モードにする必要があります。」 とでて、OKボタンしかないのでOKボタンを押すと、画像のように 「保存できませんでした」と出ます。 そしてまた「保存できませんでした」と出て、とじれないのですが、どうすればいいでしょう?

  • 「ほかのユーザー」とはどのファイルの事?

    複数のアクセスファイル同士をテーブルリンクで繋いでいるのですが ファイル1.accdbを開いて、デザインを修正して保存しようとすると 「ほかのユーザーによってファイルが開かれているため、変更したデザインを保存したり、 新しいデータベースオブジェクトに保存したりできません。 デザインの変更を保存したり、 新しいオブジェクトに保存したりするには、 ファイルを排他モードにする必要があります」 となり、保存できません。 この場合の「ほかのユーザー」とはどのファイルの事を指してるのかはどうやって調べればよいでしょうか? ファイルは一人で使っていますが、 別ファイル(accdb)にリンクしています。 どのaccdbファイルを閉じれば保存できるのかを調べる方法を教えてください。

  • ACCESSで排他モードにするには

    ACCESS97からACCESS2000に移行しました。 ネットワーク上にデータベースを置いて複数で使っています。 私がフォームやレポートをデザインで開こうとしているとき、他の人が同じデータベースを開いていると(同じフォームやレポートを開いてなくても) 「現在、このデータベースには排他モードでアクセスしていません。デザインの変更は保存できません。」 と表示されてしまいます。 そこで「ツール」「オプション」「詳細」で「排他モード」を選んだり、「開く」で「「排他モードで開く」を選んでみたのですが、メッセージは変わりません。 ヘルプやマイクロソフトのHPも読んでみましたが、「共有モード」にすべきか「排他モード」にすべきか、いまひとつわかりません。 ACCESS97の時はこんなことはなかったのですが、2000って「こうゆうもの」なんでしょうか。 よろしくお願いします。

  • Access OLEオブジェクト型のフィールドをエクスポートしたい

    Access2002でテーブルのエクスポート/インポート機能を追加しようと考えています。 テーブルにはOLEオブジェクト型のフィールドがあります。 これをExcelにエクスポートしたいのですが、TransferSpreadsheetだと OLEフィールドは空白となってしまいます。 また、ファイルメニューから手動でエクスポートしても同じ結果となります。 OLEオブジェクトはエクスポート(インポート)できないのでしょうか。 「テーブルに画像を保存するのは・・・」とのご意見もあると思いますが、 現在の仕様で変更できないので、それは別としてお願いします。

  • Access2003の排他モードで開くとファイルが開けません。その左側に表示されるレ点の意味は何でしょうか?

    Access2000からAccess2003にインポートをしました。 そうしたらAccess2003の方を排他モードで開こうとするとファイルが開けません。 「排他モードで開く」の左側にレ点のチェックが入っているのです。他の誰かが開いているときは開けません。誰も開いていないときは開けます。 このレ点の意味は何だったでしょうか? そのファイルのオプションの設定は「共有モード」になっています。 Access2000の方はその現象が起きません。 ということは、バージョン換えでインポートするときにおかしくなってしまったのでしょうか? よろしければ教えてください。

  • アクセス2007でのインポートエラー「カレントレコードがありません」に

    アクセス2007でのインポートエラー「カレントレコードがありません」について。 データをインポートしようとすると「カレントレコードがありません」と表示され、インポートできません。同時に作成されるインポートエラーテーブルを確認すると「型変換エラー」が原因のようです。 インポート先のファイル(名簿.accdb)は、従前使用していたアクセス2003のファイル(名簿.mdb)を2007対応にしたものです。(各オブジェクトの構成や保有データは同一) 試しに、同じテキストデータをアクセス2003ファイル(名簿.mdb)にインポートしたところ、正常に完了しました。 アクセス2003の入ったパソコンが廃棄予定であり、今後はアクセス2007ファイル(名簿.accdb)を使いたいのですが、非常に困っています。原因と対処法を教えてください。 ※インポートする元データはエクセルマクロ有効ブック(.xlsm)のため、コピーしてテキスト形式で保存しなおしています。

専門家に質問してみよう