次の方法で共有


Access データベースで特殊文字を使用する場合のエラー メッセージ

この記事では、Access のすべてのバージョンでデータベース オブジェクト名またはフィールド名を操作するときに使用しないようにする特殊文字の一覧を示します。

元の KB 番号: 826763

この記事は、Microsoft Access データベース (.mdb) ファイルまたは Microsoft Access データベース (.accdb) ファイル、および Microsoft Access プロジェクト (.adp) ファイルに適用されます。

症状

Access で特殊文字を使用すると、次のいずれかの問題が発生します。

問題 1

テーブル フィールドの名前には、次のいずれかの特殊文字を使用します。

  • アクサン・グラーヴ
  • 感嘆符 (!)
  • 期間 (.)
  • bracket([])
  • 先頭のスペース
  • 印刷できない文字

この場合、次のエラー メッセージが表示されます。

フィールド名が無効です。
名前にピリオド(.)、感嘆符(!)、角かっこ([])、先頭のスペース、またはキャリッジリターンなどの印刷不可能な文字が含まれていないことを確認してください。 別のアプリケーションから名前を貼り付けた場合は、Esc キーを押して名前をもう一度入力してみてください。

テーブル名にこれらの特殊文字を使用すると、次のエラー メッセージが表示されます。

入力したオブジェクト名 'TableName' は、Microsoft Office Access オブジェクトの名前付け規則に従っていません。

問題 2

クエリ式を作成します。 クエリ式には、特殊文字を含むフィールドが含まれています。 特定の特殊文字に応じて、次のいずれかのエラー メッセージが表示されます。

  • フィールド名にスペース文字、疑問符 (?)、またはアットマーク (@) が含まれている場合は、次のエラー メッセージが表示されます。

    入力した式に無効な構文が含まれています。
    演算子なしでオペランドを入力した可能性があります

  • フィールド名に引用符 (") またはアポストロフィ (') が含まれている場合は、次のエラー メッセージが表示されます。

    入力した式に無効な文字列があります。
    文字列の長さには、開始引用符と終了引用符を含め、最大 2048 文字を指定できます。

  • フィールド名に数値記号 (#)が含まれている場合は、次のエラー メッセージが表示されます。

    入力した式に無効な日付値があります。

  • フィールド名にパーセント記号 (%)、チルダ (~)、セミコロン (;)、または角かっこ ([]) が含まれている場合は、次のエラー メッセージが表示されます。

    入力した式に無効な構文が含まれています。
    オペランドまたは演算子を省略したか、無効な文字またはコンマを入力したか、引用符で囲まずにテキストを入力しました。

  • フィールド名に中かっこ ({}) が含まれている場合は、次のエラー メッセージが表示されます。

    クエリ式 'ObjectName' の形式が正しくない GUID

  • フィールド名に角かっこ ([]) またはかっこ (()) が含まれている場合は、次のエラー メッセージが表示されます。

    入力した式に、閉じかっこ、角かっこ (])、または縦棒 (|) がありません。

問題 3

クエリ式を含むクエリがあります。 クエリ式には、特殊文字を含むフィールドが含まれます。 クエリを実行すると、パラメーター値を入力するように昇格されます。 通常、この問題は、次の特殊文字を使用する場合に発生します。

  • より大きい記号 (>)
  • 小なり記号 (<)
  • 期間 (.)
  • アスタリスク (*)
  • コロン (:)
  • キャレット (^)
  • プラス記号 (+)
  • バックスラッシュ (\)
  • 等号 (=)
  • アンパサンド (&)
  • スラッシュ (/)

対処法

この問題を回避するには、特殊文字を使用しないでください。 クエリ式で特殊文字を使用する必要がある場合は、特殊文字を角かっこ ([]) で囲みます。 たとえば、より大きい記号 (>) を使用する場合は、[>] を使用します。

詳細情報

Microsoft Access では、データベース オブジェクト名またはデータベース フィールド名での数字記号 (#)、ピリオド (.)、引用符 (") などの特殊文字の使用は制限されません。 ただし、特殊文字を使用すると、予期しないエラーが発生する可能性があります。 そのため、Access データベースまたはデータベース プロジェクトのデータベース オブジェクト名には特殊文字を使用しないことをお勧めします。 この記事では、これらの特殊文字に関する既知の問題が原因で回避する必要がある特殊文字について説明します。

Access または Microsoft Visual Basic アプリケーションや Active Server Pages (ASP) アプリケーションなどの他のアプリケーションで作業する場合は、次の特殊文字を使用しないようにする必要があります。

名前 記号
宇宙
アポストロフィ 「」
引用符 「」
アポストロフィ 「」
アットマーク @
グレイヴ・アクセント `
番号記号 #
パーセント %
より大きい記号 >
より小さい記号 <
感嘆符 !
ピリオド .
括弧 (ブラケット) [ ]
アスタリスク *
ドル記号 $
セミコロン ;
コロン :
疑問符 ?
キャレット ^
歯列矯正器 { }
正符号 +
ハイフン -
等号 =
チルダ ~
バックスラッシュ |

アクセスの名前付け規則

関数の名前、変数の名前、フィールドの名前、またはテーブルやフォームなどのデータベース オブジェクトの名前の内部には、ピリオド (..)、感嘆符 (!)、重大なアクセント (')、角かっこ ([])、スペース ( )、引用符 (") を使用しないことをお勧めします。

Access で次の特殊文字を使用すると、既知の問題が発生します。 次のシナリオでは、特殊文字を使用してはならない場合について説明します。

  • Microsoft Excel ファイル形式、HTML ファイル形式、テキスト ファイル形式などの他のファイル形式にデータベース オブジェクトをエクスポートする場合は、データベース オブジェクト名またはフィールド名に数値記号 (#) またはピリオド (.) を使用しないでください。
  • Access でハイパーリンクを使用すると、ハイパーリンクは変更されたメモ 型のフィールドとして、区切り記号として番号記号 (#) と共に格納されます。 そのため、番号記号は Access では予約語と見なされます。 ハイパーリンクを作成するときは、番号記号を使用しないでください。
  • テキスト ファイルを Access にインポートし、そのテキスト ファイルにタブやその他の特殊文字が含まれている場合、特殊文字が変換され、特殊文字がボックスとして表示されます。 そのため、インポートされたテーブルを使用しようとすると、予期しないエラーが発生します。 Access にインポートするときは、ソース テーブルの特殊文字を使用しないでください。
  • ASP フォームを使用して Access データベースのデータを追加または変更する場合は、フォームでパーセント記号 (%)、プラス記号 (+)、キャレット (^) を使用しないでください。 これらの特殊文字は、Access データベースで正しく変換されない場合があります。
  • 全角言語を使用する場合は、データベース オブジェクトの名前またはコントロールの名前に全角文字を使用しないでください。 たとえば、全角言語を使用する場合は、全角かっこを使用しないでください。オブジェクトまたはコントロールのイベント プロシージャにコードがある場合、コンパイル エラーが発生する可能性があります。