Access データベースでの参照の問題を解決する方法

適用対象: Microsoft Office Access 2003Microsoft Office Access 2007Access 2010

概要


この資料では、Access データベース内の参照の使用に関連する問題について説明します。

参照の問題を理解するには、Access データベースでライブラリを参照する方法、および参照を切断せず、対象のコンピューターにデータベースをインストールするために必要な知識が必要です。この資料は、次のトピックの概要です。
  • Access データベースの参照を表示します。
  • Access での Microsoft Visual Basic for Applications の参照を解決します。
  • 参照のエラー メッセージについて
  • 開発用コンピューターで参照の問題を解決します。
  • データベース ファイルを配布します。
  • 参照一覧を更新
  • ActiveX コントロールを持つデータベース ファイルを配布します。
  • ファイルを再登録します。

詳細


Access データベースの参照を表示します。

現在のデータベースを表示するのには次のように参照します。
  1. データベースを開きます。
  2. Visual Basic エディターを起動するのには alt キーを押しながら f11 キーを押します。
  3. [ツール] メニューの [参照] をクリックします。

Access で Visual Basic の参照を解決します。

Access では、参照設定ボックスに表示される情報に応じて、参照ごとに適切なファイル (タイプ ライブラリ、オブジェクト ライブラリ、コントロール ライブラリなど) を読み込みます。アクセスでファイルが見つからない場合、アクセスは、ファイルを検索するのには次の手順を実行します。
  1. アクセスは、参照先のファイルがメモリに現在読み込まれているかどうかを確認します。
  2. ファイルがメモリに読み込まれていない場合、アクセスは、 RefLibPathsレジストリ キーが存在していることを確認しようとします。キーが存在する場合、参照として同じ名前を持つ名前付きの値で検索されます。一致するものがある場合は、名前付きの値が指すパスから参照が読み込まれます。
  3. アクセスは、次の順序で、次の場所で参照先のファイルを検索します。
    1. アプリケーション フォルダー (Msaccess.exe ファイルの場所) です。
    2. 現在フォルダーを開く] をクリックして [ファイル] メニューが表示されることです。
    3. オペレーティング システム ファイルが実行されている Windows または Winnt フォルダーです。
    4. Windows または Winnt フォルダーの下にあるシステム フォルダーです。
    5. PATH 環境変数内のフォルダーのオペレーティング システムによって直接アクセスすること。
  4. Access ファイルが見つからない、参照エラーが発生します。

参照のエラー メッセージについて

不足しているファイルまたはデータベースで使用されているバージョンと異なるバージョンのファイルに関連するいくつかのエラー メッセージがあります。ほとんどの場合、記事、特定のエラー メッセージについてのマイクロソフト サポート技術情報を検索することができ、資料の手順を実行してエラーを解決することができますし。場合によっては、依存ファイルはプライマリファイルと正しく一致しません。

次の一覧では、表示される参照のエラー メッセージのいくつかについて説明します。ただし、リストには可能性のある参照エラー メッセージのすべてが含まれていないことに注意してください。
  • "メソッドMethodNameオブジェクトの
    オブジェクト名失敗しました"

    通常、無効なデータ アクセス オブジェクト (DAO) ダイナミック リンク ライブラリ (DLL) ファイルなどのプログラムのタイプ ライブラリに問題がある場合は、このエラー メッセージを表示する可能性があります。このエラー メッセージのさまざまなフォームを記述する記事をマイクロソフト サポート技術情報を検索することができます。
  • "関数では使用できません。
    式の使用方法

    プログラムのタイプ ライブラリに問題がある場合、またはコードが明示的に呼び出されず、適切なライブラリと、DAO ライブラリよりも高い優先順位で記載されている ActiveX データ オブジェクト (ADO) ライブラリを使用して DAO コードを使用する場合など、同じ関数名が含まれるファイルよりも、[参照] ボックスの一覧で低い優先順位でファイルが表示されている場合は、このエラー メッセージを表示する可能性があります。可能性がありますもこのエラー メッセージ場合は、フォームまたはレポートには、ActiveX コントロールが含まれています。
  • 「プロジェクトまたはライブラリで見つけることができません」

    アクセスは、[参照] ボックスの一覧でファイルを検索できない場合は、このエラー メッセージを表示する場合があります。多くの場合ファイルは、[参照設定] ダイアログ ボックスでMissingとしてフラグが設定します。ファイルには、開発用コンピューターではなく、ターゲット コンピューターが存在します。
    このエラーに関する詳細については、マイクロソフト サポート技術情報の記事を表示するのには以下の記事番号をクリックします。
    208218 acc 2000: VBA 関数が不足している参照を含むデータベースの分割
  • 「変数が定義されていません」または「ユーザー定義型は定義されていません」

    ユーザー レベル セキュリティ ウィザードを使用して、既定で含まれているライブラリ以外のライブラリを参照するデータベースをセキュリティで保護する場合に、これらのエラー メッセージのいずれかが表示される可能性があります。たとえば、セキュリティ保護されていないデータベースに存在するライブラリへの参照は、新しい、セキュリティで保護されたデータベースに自動的には作成されません。
  • 「実行時エラー 5、」"シンボルを含んでいるライブラリが現在のプロジェクトで参照していませんまたは、"シンボルを含んでいるライブラリが参照されないで現在のプロジェクトでは、シンボルが定義されていないため""無効なプロシージャ呼び出しまたは引数。

    データベース、タイプ ライブラリ、または存在しないものとしてフラグが設定されているオブジェクト ライブラリへの参照がある場合に、これらのエラー メッセージのいずれかが表示される場合があります。
  • 「ActiveX コンポーネントはオブジェクトを作成できません」

    このエラー メッセージは必ずしも、ActiveX コントロールが関与していることを意味するものではありません。たとえば、一つの原因と考えられるのは、DAO オートメーション サーバーが起動できないために、ActiveX コンポーネントの DAO がオブジェクトを生成できないことです。多くの場合、原因は、プログラムの参照機能を提供する Dll が登録されていないまたはが正しく登録されていないことです。このエラーに関する詳細については、マイクロソフト サポート技術情報の記事を表示するのには以下の記事番号をクリックします:
    244264 INFO: Office アプリケーションを自動化するとエラー 429 が発生
    Visual Basic の観点からこの記事が書き込まれると、このエラーの原因の多くをカバーします。

開発用コンピューターで参照の問題を解決します。

新しい空のデータベースを作成し、別のデータベース ファイルからオブジェクトをインポートは、コードまたは ActiveX コントロールは、既定では、データベースに含まれていない参照に依存している場合参照の問題を作成することができます。Access 2000 データベースのデフォルトの参照は次のとおりです。
  • Visual Basic for Applications
  • Microsoft Access 9.0 オブジェクト ライブラリ
  • OLE オートメーション
  • Microsoft ActiveX データ オブジェクト (ADO) 2.1 ライブラリ
ソースが別の Access 2000 データベースの場合は、参照が一致することを確認します。ソースが Access の以前のバージョンである場合は、DAO 3.5 またはそれ以前の可能性があります。ただし、Access 2000 は、既定で DAO 3.5 を示しません。ADO 2.1 への参照を削除してください (ある場合) のライブラリと、DAO 3.6 オブジェクト ライブラリへの参照を追加します。

以前のバージョンの Access からデータベースを変換すると、データベースに Utility.mda ファイルへの参照が含まれている、ほとんどの場合に参照を除去するこのため、この参照が呼び出す関数は、Access 2000 のデフォルトの参照に含まれています。以前のバージョンの DAO への参照がある場合、DAO 3.6 はこれらの関数を処理できるため、これらの参照も削除できます。

ライブラリへの参照を追加します。
  1. データベースを開きます。
  2. Visual Basic エディターを起動するのには alt キーを押しながら f11 キーを押します。
  3. [ツール] メニューの [参照] をクリックします。
  4. [参照可能なライブラリの名前の横にあるチェック ボックスをオンにする] をクリックして、[ OK] をクリックします。
ライブラリへの参照を削除するには。
  1. データベースを開きます。
  2. Visual Basic エディターを起動するのには alt キーを押しながら f11 キーを押します。
  3. [ツール] メニューの [参照] をクリックします。
  4. [参照可能なライブラリの名前の横にあるチェック ボックスをオフにする] をクリックして、[ OK] をクリックします。

データベース ファイルを配布します。

2 つの基本的なデータベース ファイルの配布方法があります。開発用コンピューターからファイルをコピーするには、ターゲット コンピューターにまたは、セットアップ パッケージを作成するのには、パッケージと展開ウィザードを使用することができます。

開発用コンピューターからターゲット コンピューターにファイルをコピーする場合は、データベース ファイルのみがコピーされます。[参照] ボックスの一覧に記載されているすべてのファイルが利用可能なバージョン レベルが適切で、対象のコンピューターに同じ相対的な位置で開発用コンピューター上を手動で確認する必要があります。

セットアップ パッケージを作成するのには、パッケージと展開ウィザードを使用する場合は、Access のランタイム アプリケーションを開発するためのチェックリストとして使用されるサポート技術情報の記事を参照してください。
チェックリストに関する詳細については、マイクロソフト サポート技術情報の記事を表示するのには以下の記事番号をクリックします。
247530 [mod2000]: 配布可能なランタイム アプリケーションを作成する場合は誤りの一般的なを回避する方法
Access でランタイム アプリケーションを開発する場合、アプリケーションの実行時にいくつかのオペレーティング システム ファイルを配布する必要があります。これらのファイルのパッケージ化は、Microsoft Office 2000 Developer のパッケージおよび展開ウィザードのコンポーネントによって自動的に実行されます。含まれているファイルのバージョンは、他のアプリケーションを開発用コンピューターにインストールされていると、オペレーティング システム ファイルを変更する可能性がありますに依存します。

通常、以下のガイドラインを使用して、ランタイム アプリケーションをインストールするときに、使用するファイルのバージョンがターゲット コンピューター上のファイルと競合しないようにします。ガイドラインを以下に示します。
  1. 任意のコンピューター上の Access データベースを作成します。
  2. ハード ディスクが再フォーマットされているコンピューター環境を作成し、該当するオペレーティング システム、Office、および Office 2000 Developer の最も古いバージョンのみがインストールされています。アプリケーションの実行時バージョンを作成するには、このコンピューターで、パッケージと展開ウィザードを実行します。これにより、ファイルのリビジョン レベルが対象のコンピューターのいずれかで動作します。
  3. ハード ディスクが再フォーマットされていると、オペレーティング システムだけがインストールされているコンピューター環境を作成します。この環境でランタイム アプリケーションをテストします。
    • アプリケーションが正常に動作しない場合はアプリケーション自体に何らかの問題を把握します。特定し、アプリケーションを配布する前に問題を修正する必要があります。
    • アプリケーションは、テスト用コンピューターで正常に動作しますが、ターゲット コンピューターで動作しない、する場合は何か問題が、アプリケーションではなく、ターゲット コンピューターがわかります。識別し、ターゲット コンピューターで、互換性がない可能性がありますまたはファイルの破損の原因を修正する必要があります。

参照リストを更新します。

参照の問題には、ActiveX コントロールが含まれている場合、[参照] ボックスの一覧を更新することで問題が解決することができる場合があります。参照一覧を更新します。
  1. Visual Basic エディターで、[ツール] メニューの参照をクリックします。
  2. [参照] ダイアログ ボックスで選択されていない参照を選択して、メモのどちらかを選択して[ok]をクリックしをクリックします。
  3. [ツール] メニューで、参照を再度クリックします。
  4. 参照の選択を解除する] をクリックし、[ OK] をクリックします。

ActiveX コントロールを持つデータベース ファイルを配布します。

ActiveX コントロールのライセンスの 2 種類があります: デザイン時ライセンスとランタイム ライセンス。
  • デザイン時ライセンスを使用すると、Access データベースのフォームおよびレポートに、Office 2000 Developer からライセンスされた ActiveX コントロールを挿入します。
  • 実行時ライセンスを使用すると、Access データベースがインストールされている Office 2000 の開発者がないコンピューター上の ActiveX コントロールを使用してですが、実行時ライセンスが許可されていない新しいライセンスされた ActiveX コントロールを挿入します。実行時ライセンスをインストールするには、パッケージと展開ウィザードは、コントロールのライセンスをターゲット コンピューターのレジストリに書き込むを使用して ActiveX コントロールを配布します。
不可] のマークが表示されるモジュールをデザイン ビューで開き、[ツール] メニューの [参照] をクリックするは、ターゲット コンピューターでのコモン ダイアログ コントロールへの参照が開発用コンピューターからデータベース ファイル内のソースと一致しないことを示します。

配布可能なコモン ダイアログ コントロールをインストールすることがなくデータベース ファイルを配布する場合は、コントロールの参照可能性があります不足としてフラグを設定」する必要はありませんこの ActiveX コントロールを使用するのに必要なライセンス」エラー メッセージが表示される以外の配布が可能なコントロールがターゲット コンピューターに既にインストールされている場合。

でも、データベース ファイルがランタイム アプリケーションの一部、「する必要はありませんこの ActiveX コントロールを使用するのに必要なライセンス」エラー メッセージが表示ことがあります、ターゲット コンピューターに既にインストールされている以外の配布が可能なコントロールの場合は、ランタイム アプリケーションによって提供されるコントロールより新しいバージョンです。この問題は、セットアップ プログラムが同じファイルの以前のバージョンでファイルのそれ以降のバージョンを上書きしないために発生することができます。

ファイルを再登録します。

ファイルをレジストリに正しく登録しなくても、[参照] ボックスの一覧であることができます。ケースであるという疑いがある場合は、ファイルを再登録するのには次の手順に従います。
  1. Microsoft Windows NT 4.0 では、[スタート] ボタンを検索] をポイントしし、[ファイルやフォルダー、または Windows 2000 で [開始] をクリックします、検索] をポイントし、ファイルやフォルダー] をクリックし。
  2. [名前] ボックスで、ファイルとフォルダーの名前の検索] ボックスで、 regsvr32.exeを入力します。
  3. 探す場所] ボックスで、ハード ディスク (通常は c:) のルートをクリックします。
  4. 選択されていない場合、[サブフォルダーも探す] チェック ボックスを選択する] をクリックし、[検索開始] または [今すぐ検索します。
  5. ファイルが見つかったら、[スタート] ボタンを実行するには、、し、 [開く] ボックス内の文字列を削除します。
  6. Regsvr32.exeファイルを検索結果ウィンドウから[開く] ボックスにドラッグします。
  7. 手順 2 ~ 6 では、この時間を検索
    .Dll のファイル名、場所
    ファイル名は、再登録するファイルの名前です。
  8. ファイル名の .dll ファイルは、Regsvr32.exe ファイルを開く] ボックスでは、 [ok]をクリックします。
  9. アクセスに問題があるかどうかを確認するをテストします。
お使いのコンピューター上の Regsvr32.exe ファイルがなくても、他のコンピューターにこのファイルを確認してください。ファイルが使用できない場合は、マイクロソフト Web サイトからファイルを取得することができます。
詳細については、マイクロソフト サポート技術情報の記事を表示するのには以下の記事番号をクリックします。
161983 ACC: ダウンロード センターで利用可能な Regsvr32a.exe
注:参照を調整した後、すべてのモジュールをコンパイルすることを忘れないでください。すべてのモジュールをコンパイルするには、モジュールを開いたら、[デバッグ] メニューの [データベースのコンパイル] をクリックします。モジュールがコンパイルされない場合は、その他の未解決の参照がある可能性があります。