ACCESS 抽出条件でデータ型が一致しません、の対処法

抽出条件でデータ型が一致しません、の対処法

ACCESSでクエリを作成している際、「抽出条件でデータ型が一致しません」と表示されたことはないでしょうか。

このエラーはメッセージの通り、データ型の指定が誤っていることが原因です。

今回は、抽出条件でデータ型が一致しませんと表示された場合の対処法をご紹介します。


こんにちは。
はこにわガジェット (@hakoniwagadget) です。

ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは使いこなすために少しスキルが必要なものの、うまく活用すればExcelよりも業務の効率化が図れます。
この記事ではACCESSの基本的な使い方をご紹介していきます。

抽出条件でデータ型が一致しません、の原因

「抽出条件でデータ型が一致しません」のエラーが出るのは、そのメッセージの通り、テーブルの該当フィールドに設定されたデータ型と、抽出条件に設定したデータ型が異なっており、抽出ができない場合です。

例えば、

テーブルの該当フィールドには日付型データが入力されているのに、抽出条件はテキスト型

テーテーブルの該当フィールドには数値型データが入力されているのに、抽出条件はテキスト型

テーブルにはYes/No型データが入力されているのに、抽出条件はテキスト型

などです。

以下、詳しくご紹介しましょう。

日付型データに対して、抽出条件はテキスト型

最初は、日付型データに対して、抽出条件をテキスト型で設定してしまった場合です。

サンプルデータを準備しました。

処理日というフィールドは、日付型のデータが入っています。

このフィールドに対して、2021年4月1日以降のデータを抽出したいときに、抽出条件を


>"2021/04/01"

と書いてしまうと、実行時に抽出条件でデータ型が一致しません、のエラーが出ます。

これは、何が誤っているかというと日付型のデータの指定方法です。

日付の数値の前後を「”」で囲っていますが、これだと日付データではなくテキスト型のデータになってしまうのです。

正しくは、「#」を使って以下のように記載します。


>#2021/04/01#

これで抽出が行われるようになります。

データ型によって囲む記号が異なりますので、ご注意ください。

数値型データに対して、抽出条件はテキスト型

次は、数値型のデータに対して、抽出条件をテキスト型で指定するケースです。

上記の例では、小計という数値型のフィールドに対して、


>"1000"

という抽出条件を設定しています。

こちらも、条件を「”」で囲ってしまうとテキスト型になっているので、実行するとエラーが表示されます。

正しくは、


>1000

と記載することで、結果を得ることが可能です。

Yes/No型データに対して、抽出条件はテキスト型

最後は、Yes/No型データのフィールドに対して、抽出条件はテキスト型を指定してしまうパターンです。

Yes/No型のフィールドの抽出条件は「True」「False」で指定します。

この際、「”」を使ってしまうとテキストとして認識されてしまうので、抽出条件が適切に動作しません。

これらのように、「抽出条件でデータ型が一致しません」と言われる場合は、クエリの抽出条件が対象のフィールドのデータ型と異なっているケースがほとんどですので注意してみてください。

以上、抽出条件でデータ型が一致しません、の対処法をご紹介しました。


ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。

そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。

ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。

サービス一覧

最後までお読みいただき、ありがとうございました。