トラブルシューティング : インポートとリンク

表示[外部データの取り込み] コマンドが無効になっている

このコマンドは、データベースが開かれていて、そのデータベースにデータを追加するアクセス許可がある場合にのみ利用できます。

データを既存のデータベースに取り込みたくない場合は、空のデータベースを作成します。空のデータベースの作成の詳細については、「Access データベースを作成する」の「データベース ウィザードを使用しないで空のデータベースを作成する」を参照してください。

表示ウィザードがインストールされていないか無効であることを示すエラー メッセージが表示される

これは、Access がサンドボックス モードで実行されていますが、Microsoft Jet 4.0 SP8 以降がお使いのコンピュータにインストールされていないことが原因である可能性があります。サンドボックス モードが有効な場合に Access が完全に機能するためには、Jet 4.0 SP8 以降が必要です。

Jet アップグレードのインストールの詳細については、Office Online の記事「Microsoft Jet 4.0 SP8 以降について」を参照してください。

サンドボックス モードの詳細については、ヘルプ トピック「Jet Expression Service のサンドボックス モードについて」を参照してください。

表示ウィザードを起動したが消えてしまった場合、どう対処すべきか

Accwiz.dll の正しいバージョンがコンピュータに登録されていない場合、この問題が発生する場合があります。

このファイルの正しいバージョンの登録の詳細については、「Excel スプレッドシートと Access 2002 での HTML ファイルをインポートすることができません。」を参照してください。

表示[ファイルの種類] ボックスの一覧に Microsoft Excel が表示されない

[ファイルの種類] ボックスの一覧に Microsoft Excel が表示されないのは、必要なドライバへのパスが無効であるためです。この問題の修正方法の詳細については、「[ACC2003] Access 2002 または Access 2003 でファイルをインポート、エクスポート、またはリンクするときに、一部のファイル形式が表示されないか、エラー メッセージ "インストール可能な ISAM ドライバが見つかりませんでした" が表示される」を参照してください。

表示Access がファイルからデータをインポートできないことを示すエラー メッセージが表示される

ファイルが破損していない場合は、データが Access が読み取れる形式ではありません。Excel でファイルを開き、データが破損していないこと、およびデータの形式がインポートに適した形式であることを確認してください。

表示ワークシートのインポート時に、既存のテーブルにデータを追加するオプションが無効になっている

インポート対象のレコードのフィールド名が定義されていない Microsoft Excel ワークシートをインポートする場合、既存のテーブルにインポートするオプションは Access では利用できません。この問題のトラブルシューティング方法の詳細については、「Option to Import into an Existing Table Is Not Available for Excel Spreadsheet」 (英語) を参照してください。

表示ワークシートからデータをインポートする際に、最初のフィールド以外のフィールドのオプションを指定できない

これは既知の問題です。この問題を修正する更新プログラムを入手する必要があります。この更新プログラムの入手方法の詳細については、「アクセス 2003 ホットフィックス パッケージの説明」を参照してください。

表示ワークシートまたはテキスト ファイルをインポートまたはリンクするときに、エラーが発生するかデータが適切にインポート (またはリンク) されない

エラーの発生または望むような結果が得られない原因で最も一般的なものを次に示します。

  • グラフィック要素が欠けている。     ワークシート内のロゴ、グラフ、または画像は、インポートやリンクされません。
  • 一部のフィールドが空になるか、#NUM などの文字列が表示される。     フィールドに割り当てられたデータ型と互換性のない値が検出されました。既定では、Access は最初の 8 行をスキャンして、各列のデータ型を推測します。9 行目以降で特定されたデータ型と互換性のない値が検出されると、その値は無視され、インポート (またはリンク) されません。

このフィールドに正常なデータ型が割り当てられていると考えられる場合は、テキスト ファイルまたはワークシートを編集してエラーを訂正し、再度インポートします。そうでない場合は、再度インポートして、適切なデータ型を指定します。

  • ワークシートの日付値を含む列が、数値型の列としてインポートされる。     これは、ワークシートがインポート操作時に開かれているか、共有されていたことが原因である可能性があります。この問題の回避方法の詳細については、「Date Is Displayed as a Number When You Import an Open Excel Workbook」 (英語) を参照してください。
  • 長いまたは中間の長さの日付形式が、短い日付形式として表示される。    January 1, 2000 のような長い日付形式や、1-Jan-2000 のような中間の長さの日付形式の日付は、形式が失われて 2000-01-01 のような短い日付形式で表示されます。

フィールドの形式の修正方法の詳細については、「[ACC2002] ワークシート インポート ウィザードでインポートを行うと [日付 (L)] と [日付 (M)] の書式が失われる」を参照してください。

  • Access でのインポートまたはリンク時に、スプレッドシートの列の形式が失われる。     この問題の対処方法の詳細については、「[ACC2002] Excel のデータをインポートまたはリンクすると、書式が変更される」を参照してください。
  • Access でフィールドに不正なデータ型が割り当てられている。    Access では、インポートされる最初の行のデータに基づいて、それぞれのフィールドにデータ型が割り当てられます。たとえば、ほとんどがテキスト値であるフィールドであっても、最初の行に数値が含まれる場合、Access データベースでは、数値データ型が割り当てられます。Access プロジェクトでは、数値データのデータ型が割り当てられます。いずれの場合も、残りのレコードをインポートできません。
  • 再度インポートして、インポート時に適切なデータ型を指定します。
  • テキスト ファイルまたはワークシートの 1 つまたは複数の行に、最初の行より多くのフィールドが含まれている。    たとえば、ファイルの 2 番目の行で、新規テーブルに適合しない不要なフィールド区切り文字が値の前に付いている場合があります。

各行のフィールド数が同じになるようにテキスト ファイルまたはワークシートを編集してから、再度インポートします。

  • Excel ワークシートからインポートされた日付フィールドに、4 年の誤差がある。    Microsoft Excel for Windows では、1900 年を基準年とした日付システムが使用されます。この日付システムでは、1900 年 1 月 1 日から 2078 年 12 月 31 日までに該当する 1 から 65,380 までの通し番号が使用されます。ただし、Microsoft Excel for the Macintosh では 1904 年を基準年とした日付システムが使用され、1904 年 1 月 1 日から 2078 年 12 月 31 日までに該当する 0 から 63,918 までの通し番号が使用されます。

データをインポートする前に Excel ワークシートの日付システムを変更するか、データをインポートした後で、"[date field name] + 1462" という式を使用して更新クエリ (更新クエリ: 指定する抽出条件 (検索条件) に従ってレコードのセットを変更するアクション クエリ (SQL ステートメント) です。)を実行し、日付を修正します。

表示テキスト ファイルのインポートにかかる時間が長い

テキスト ファイルのインポートにかかる時間が思いがけなく長い場合は、エラーが発生している可能性があります。インポートをキャンセルするには、Ctrl + Break キーを押します。発生したエラーのリストを表示するには、データベース ウィンドウからエラー ログ テーブルを開きます。

表示データをワークシートまたはテキスト ファイルに追加するときにエラーが発生する

追加されたレコードには既存テーブルの構造との互換性が必要です。各フィールドには、追加先のテーブルの対応するフィールドと同じデータ型が必要です。また、フィールドは同じ順序の必要があります。ただし、ファイルの最初の行をフィールド名として使用している場合はフィールド名が一致するので、この限りではありません。

追加するデータに問題のある可能性がある場合は、ワークシートまたはテキスト ファイルを編集して、再度インポートします。または、追加先のテーブルそのものの変更が必要な場合があります。フィールドの順番とデータ型を変更し、更新クエリ (更新クエリ: 指定する抽出条件 (検索条件) に従ってレコードのセットを変更するアクション クエリ (SQL ステートメント) です。)を実行してデータの再フォーマットや再計算などを行います。あるいは、テーブル作成クエリ (テーブル作成クエリ: テーブルを新規作成し、既存のテーブルまたはクエリ結果からレコードをコピーして、テーブルにレコード (行) を作成するクエリ (SQL ステートメント)。)を実行して、1 つのフィールドを 2 つのフィールドに分割したり、複数のフィールドを 1 つのフィールドに結合したりします。

エラー発生の一般的な原因を次に示します。

  • ワークシートまたはテキスト ファイル内のフィールド名が、追加先のテーブルのフィールド名に一致しない。
  • フィールド内のデータが追加先のフィールドのデータ型に該当しない。たとえば、追加先のフィールドが、Access データベースで日付/時刻データ型である、または Access プロジェクトで datetime データ型であるのに、データに Access では日付または時刻と認識されないテキスト値が含まれる場合などです。
  • 数値型フィールドのデータが、追加先のフィールドのフィールド サイズには長すぎる。たとえば、追加先のフィールドの "FieldSize/フィールドサイズ" プロパティが Access データベースでバイト型に、または Access プロジェクトで tinyint データ型に設定されているのに、データには 255 を超える値が含まれる場合などです。
  • Access データベースでは "Indexed/インデックス" プロパティが [Yes/はい (重複なし)] に設定されている、または Access プロジェクトでは [重複するキーを無視] オプションが指定されている追加先のテーブルまたはそのテーブルのフィールドの主キー (主キー: テーブル内の各レコードを一意に識別する値を持つフィールド (列)。主キーには Null 値を含めることができません。また、必ず一意のインデックスを持つ必要があります。主キーは、テーブルと他のテーブルの外部キーを関連付ける際に使用されます。)に格納できない重複する値がインポートするレコードに含まれる。
  • テキスト ファイルまたはワークシートの 1 つまたは複数の行に、追加先のテーブルより多くのフィールドが含まれる。
  • Excel ワークシートからインポートされた日付フィールドに、4 年の誤差がある。Microsoft Excel for Windows では、1900 年を基準年とした日付システムが使用されます。この日付システムでは、1900 年 1 月 1 日から 2078 年 12 月 31 日までに該当する 1 から 65,380 までの通し番号が使用されます。ただし、Microsoft Excel for the Macintosh では 1904 年を基準年とした日付システムが使用され、1904 年 1 月 1 日から 2078 年 12 月 31 日までに該当する 0 から 63,918 までの通し番号が使用されます。

データをインポートする前に Excel ワークシートの日付システムを変更するか、データを追加した後で、"[date field name] + 1462" という式を使用して更新クエリを実行し、日付を修正します。

表示リンクされたテーブルの一部のフィールド値が切り捨てられる

リンク時に Excel の値で 256 文字以上の値が見つかると、この値は先頭から 255 文字までしか表示できないメモ型フィールドに格納されます。この制限の対処方法としては、リンクするのではなく、ワークシートまたは名前を付けた範囲をインポートします。

表示リンクされたテーブルのクエリ実行時に数値フィールドのオーバーフローを示すメッセージが表示される

リンクされたテーブルのデータ型とこのフィールドに格納されているデータの型が競合している場合に、このメッセージが表示されます。

この問題のトラブルシューティング方法の詳細については、「[ACC2003] Excel ワークシートにリンクしているテーブルのクエリを実行したときに、エラー メッセージ "数値フィールドがオーバーフローしました。" が表示される」を参照してください。

表示リンクした Microsoft Visual FoxPro または dBASE のテーブルを開いたり更新したりできない

  • .dbf ファイルをリンクしてインデックス ファイル (.idx、.cdx、.ndx、または .mdx) に関連付ける場合は、リンクしたテーブルを開くためのインデックス ファイルが必要です。Visual FoxPro または dBASE のインデックス ファイル、あるいは Access で作成した情報ファイル (.inf) を削除したり移動したりすると、リンクしたテーブルを開くことができなくなります。
  • Visual FoxPro または dBASE テーブルをメモ フィールドにリンクする場合は、リンクしたテーブルを開くための関連付けられたメモ ファイル (.dbt) が必要です。このファイルを削除したり移動したりすると、リンクしたテーブルを開くことができなくなります。
  • Access を使用して .dbf ファイルのデータを更新すると、インデックス ファイルも更新されて変更が反映されます。Visual FoxPro または dBASE を使用してデータを更新する場合は、Visual FoxPro または dBASE に関連付けられているインデックスも更新する必要があります。Access では、指定したインデックスがカレント インデックスではない場合は、リンクしたテーブルを使用することはできません。
  • データ ファイル (.dbf) またはインデックス ファイル (.idx、.cdx、.ndx、または .mdx) が、読み取り専用に設定されている場合は、Visual FoxPro または dBASE のテーブルを更新することはできません。これを確認するには、Windows エクスプローラを使用してファイルが保存されているフォルダを表示し、データ ファイルまたはインデックス ファイルをマウスの右ボタンでクリックして、[プロパティ] をクリックした後、[全般] タブをクリックします。[読み取り専用] チェック ボックスがオンになっている場合は、それをオフにして [OK] をクリックします。
  • Visual FoxPro または dBASE のテーブルが読み取り専用のドライブまたは CD-ROM に格納されている場合、Access では .inf ファイルを .dbf ファイルと同じフォルダに作成することはできません。また、テーブルにリンクすることができません。読み取り専用ドライブ上のテーブルにリンクするには、Access で .inf ファイルを作成する読み取りおよび書き込み可能なドライブへのパスをレジストリに指定する必要があります。
  • 最新の dBASE ISAM ドライバをご使用ではないかもしれませんが、Microsoft では、dBASE ファイルへの完全な読み取りおよび書き込みアクセスのための Borland Database Engine (BDE) をインストールする必要のない Jet 4.0 用の更新済みの dBASE ISAM ドライバが作成されています。Data Access Component (MDAC) 2.1 以降のバージョンに付属する既定の Jet 4.0 をベースとした dBASE ISAM ドライバを使用すると、BDE がインストールされていなくても dBASE ファイルへの読み取り専用のアクセスが可能になります。これらの ISAM ドライバを取得するには、Microsoft テクニカル サポートにお問い合わせの上、サポート プロフェッショナルからドライバを送付してもらうようリクエストしてください。

表示リンクした Paradox のテーブルを開いたり更新したりできない

表示リンクした SQL のテーブルを開いたり更新したりできない

選択したフィールドで固有のインデックスが作成されなかったと考えられる場合、テーブルへのリンクを削除して、再度リンクしてから、固有のインデックスを設定するための適切なフィールドを選択します。

または、Create Index ステートメントを使用してデータ定義クエリ (データ定義クエリ: DDL (Data Definition Language) ステートメントを含む SQL 固有のクエリ。これらのステートメントにより、データベース内のオブジェクトを作成または変更できるようになります。)を作成し、Access 内でインデックスを作成することができます。この場合も、各レコードを固有に識別する 1 つのフィールドまたはフィールドの組み合わせを選択する必要があります。生成されたインデックスに重複する値が含まれる場合、テーブルに対して実行されるすべての更新は失敗します。インデックスを削除するには、別のデータ定義クエリを使用します。

  • 固有のインデックスを持ち、そのインデックスが浮動小数点数のフィールドに定義されている SQL のテーブルにリンクする場合、このテーブルを更新できない場合があります。浮動小数点のデータを処理する精度はサーバーによって異なるので、精度が失われることもあります。通常、実際に生じる誤差は十分小さいため実害はありませんが、データが SQL テーブルのブックマークの一部を形成する場合は、影響を受けたレコードが Access では削除されたものとして認識される場合があります。
  • SQL データベース テーブルをインポート、リンク、または使用しているときにエラーが発生した場合は、SQL データベース サーバーか、またはデータベースそのものに問題があります。SQL データベース テーブルにアクセスできない場合は、SQL データベース管理者に連絡してください。

表示キー違反に関するエラー メッセージが表示される

キー違反になる場合、次のような原因が考えられます。

このようなクエリを実行した場合、キー違反が発生し、レコードは変更されません。

レコードを参照整合性に違反するデータに変更するには、該当するテーブル間のリレーションシップを解除するか、参照整合性をオフにした後テーブルを 1 つずつ修正します。ただし、2 つのテーブルのデータの競合を引き起こすことがあります。

表示ファイルをインポートしたところ、<テーブル名>$_ImportErrors テーブルが作成されたことを示すメッセージが表示された

このテーブルには、Access データベースでテキスト ファイルまたはワークシートをインポートするときに発生するほとんどのエラー メッセージの説明が含まれています。テーブルには、フィールド名と、エラーの原因となったデータを示す行番号が格納されます。

エラーが発生した場合は、このエラー ログ テーブルを開いて、レコードをインポートできなかった原因を確認してください。次の表は、主なエラーとその原因の説明です。

エラー 説明
フィールドの切り捨て ファイルの値が、フィールドの "FieldSize/フィールドサイズ" プロパティの設定には大きすぎます。
データ型変換エラー テキスト ファイルまたはワークシートの値がこのフィールドには不適切なデータ型です。
キー違反 このレコードの主キー (主キー: テーブル内の各レコードを一意に識別する値を持つフィールド (列)。主キーには Null 値を含めることができません。また、必ず一意のインデックスを持つ必要があります。主キーは、テーブルと他のテーブルの外部キーを関連付ける際に使用されます。)の値は重複しています。同じ主キーの値が既にテーブルの中にあります。
入力規則エラー フィールドまたはテーブルに設定されている "ValidationRule/入力規則" プロパティの規則に違反する値です。
入力必須フィールドが Null フィールドの "Required/値要求" プロパティに [Yes/はい] が設定されているため、このフィールドには Null (Null: 存在しないデータまたは未知のデータを表す値。フィールドに入力したり、式やクエリで使用したりできます。Visual Basic の Null キーワードは Null 値を表します。主キー フィールドなど、Null 値を格納できないフィールドもあります。)は格納できません。
オートナンバー型フィールドが Null オートナンバー型フィールドに追加するためにインポートしようとしているデータに Null 値が含まれています。
パーズできないレコード

テキストの値に、テキスト区切り文字 (通常はニ重引用符 (")) が含まれています。テキスト ファイルの中の区切り文字は、次のように必ず 2 つ重ねて指定します。

"10 - 3 1/2"" disks/box"

データがエラーの原因と考えられる場合は、テキスト ファイルまたはワークシートを編集します。既存のテーブルにレコードを追加する場合は、フィールドの順番を変更する、またはプロパティ設定を変更するなどテーブルそのものの変更が必要な場合があります。エラーの原因を解決した後、データを再度インポートします。

表示セキュリティ設定されたデータベースからデータをインポートまたはリンクする

インポートまたはリンクするデータベースにパスワードが設定してある場合は、処理を続ける前にパスワードを入力する必要があります。パスワードが設定されているデータベースのテーブルをリンクすると、予期しない結果が起こる場合があります。

表示[ファイルの種類] ダイアログ ボックスで、ファイル名の隣りにファイル拡張子が表示されない

エクスプローラで、[すべてのファイルとフォルダを表示する] オプションが選択されていません。オプションの選択の詳細については、Windows ヘルプを参照してください。

表示変換したデータベースでテーブルまたはフォームを開くと、"ODBC – "データ ソース名" への接続は失敗しました。" というメッセージが表示される。

Access 1.x または 2.0 から変換したデータベースのテーブルが、16 ビット バージョンのドライバ マネージャおよびドライバを使用する ODBC データ ソース (ODBC データ ソース: ODBC (Open Database Connectivity) プロトコルをサポートするプログラムやデータベースのデータにアクセスする場合に必要なデータと情報のことです。)にリンクされていると、"ODBC-- <データ ソース名> への接続は失敗しました。" というエラーが表示されます。Access 2002 以降では、32 ビット バージョンの ODBC ドライバ マネージャ (Odbc32.dll) および適合する ODBC ドライバを使用する ODBC データ ソースのみを開くことができます。適合する ODBC ドライバには、32 ビット バージョンの Microsoft SQL Server ODBC ドライバ (Sqlsrv32.dll) などがあります。

この問題を解決するには、変換前の Access 1.x または 2.0 データベースにリンクされた各 ODBC データ ソースと同じ名前の 32 ビット データ ソース名 (DSN) を新しく作成する必要があります。

  1. Windows のコントロール パネルの [管理ツール] をダブルクリックし、[データ ソース (ODBC)] をダブルクリックします。
  2. 元の DSN と同じ設定値を入力して、新しい DSN を作成します。たとえば、Microsoft SQL Server の場合、少なくとも [データ ソース名] と [サーバー] を定義する必要があります。また、[データベース名] などの値の定義が必要になる場合もあります。

元の DSN が不明の場合は、元のデータベースを作成元のバージョンの Access で開き、デザイン ビュー (デザイン ビュー: データベース オブジェクトのデザインを表示するビュー。テーブル、クエリ、フォーム、レポート、およびマクロで使用できます。デザイン ビューでは、新しいデータベース オブジェクトの作成や、既存のオブジェクトのデザイン変更を行うことができます。)でリンク テーブルを開いて、テーブルのプロパティ シートを表示します。"Description/説明" プロパティに、ODBC 接続文字列が設定されています。接続文字列の "DSN=" 以降が DSN の名前です。

 
 
適用対象:
Access 2003