知に至る病

お勉強したことを忘れないように書き留めています。

Access のフィールド名に全角記号を使ってはいけない

Access の演習でレポートウィザードを使ってレポートを出力させたところ,多くの受講生から「レポートが作成できませんでした」というエラーが発生したとの報告がありました。 出力されたレポートを確認してみると,ヘッダーやフッターの領域が異常に広く,コントロールのサイズも異常に大きくなっており,レイアウトが大幅に崩れていました。

原因を調べてみたところ,このエラーはフィールド名に記号が含まれていることで起こっているらしいことがわかりました。 Microsoft のサポート技術情報によると,Access ではオブジェクト名やフィールド名に記号を使用することができるらしいのですが,場合によってはそれが予期せぬエラーの原因となってしまうことがあるようです。

Microsoft Access では、データベースのオブジェクト名やフィールド名に番号記号 (#)、ピリオド (.)、または二重引用符 (") などの特殊文字を使用することは制限されていません。ただし、特殊文字を使用すると、予期しないエラーが発生することがあります。

Access は内部でデータを処理する際に一部の記号を特殊な意味を持つ制御文字として使っているらしく,オブジェクト名やフィールド名にそれらの記号が含まれていると制御文字として解釈されてしまい,予期せぬ事態が起こるのではないかと考えられます。

この問題の厄介なところは,全角記号でもエラーが発生することがあるという点です。 今回調べていく中で,中黒や括弧が原因で同様のエラーに遭遇しているケースが多数見つかりました。 初心者はフィールド名に記号が使えないなんて思いもよらないでしょうし,少しコンピュータの扱いに慣れている人でも,半角記号は危なそうだとわかっても,逆に全角記号ならば大丈夫だと思ってしまうのではないでしょうか。

Access で作業する際には,全角・半角を問わず,オブジェクト名やフィールド名に記号は一切使わないほうがよさそうです。

参考資料