• ベストアンサー

アクセス:DateVakueと抽出条件

クエリで年、月、日付の文字情報からDateValueで日付に変換し、ある条件のものだけを抽出しようとしています。しかし実行すると『抽出条件でデータ型が一致しません』というエラーが出ます。 抽出条件の所に日付を入れても自動では日付を表す# #が付かないため、ここは日付のフィールドではないような気がします。 で、手動で#を付けて<#2008/01/01#のように設定すると、5秒くらいは結果が表示されるのですが、すぐ同じエラーが表示されます。 (文字列で設定(<2008/1/1)しても同じエラーが出ます。) 何がおかしいのかご教示お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • naoto0216
  • ベストアンサー率46% (183/391)
回答No.3

テーブルの[year]フィールド、[month]フィールド、[ID]フィールド には、実際にどのような値が入っているのでしょうか。 IDの一部分を「日」にされているようですが、いまいちイメージが つきません。

その他の回答 (2)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

>『抽出条件でデータ型が一致しません』 抽出しようとしてるのが、DateValueの数式のフィールドの場合 <#2008/01/01# で抽出できるはずです。 抽出しようとしてるのが、DateValue(フィールド1)のフィールド1の場合 フィールド1の文字列(日付)は、テキスト型なので、<及び>の不等号での抽出はできません。

  • naoto0216
  • ベストアンサー率46% (183/391)
回答No.1

日付フィールドはテキスト型で 2016年1月1日 2016年2月1日 2016年7月1日 と登録されています。 それをDateValueで変換して、そこで<#2016/06/30#を 条件とすると、 2016年1月1日 2016年2月1日 が抽出されます。エラーにもなりません。 こういうことではないんですかね。

ticktak
質問者

補足

はい、少し違います。TEXTデータは日付の形をとっているのではなく、年、月、日と別れたものをこのような式で変換しています。 DateValue([year] & "/" & [month] & "/" & Mid([id],6,2)) この式は間違っていますか?

関連するQ&A

専門家に質問してみよう