アプリ版:「スタンプのみでお礼する」機能のリリースについて

単票フォームを作成したのですが、抽出条件のデータ型が違うとエラーがでてしまいます。
どの抽出条件が不味いのかが分からないのですが、こういった場合メインフォームのエラーなのでしょうか?
また特定する方法はないでしょうか?
(エラーが表示される前までは集計内容、サブフォームともに正常に動作しておりますが、
エラーの後はすべてのデータが表示さらず、集計ボックスもエラーと表示されています。)

://upload.jpn.ph/img/u22359.jpg

A 回答 (1件)

> こういった場合メインフォームのエラーなのでしょうか?



「抽出条件のデータ型が違う」ということでしたら、レコードソース(たぶんクエリ)に問題が
ある(又は発生した)ものと思います。
思い当たるのは・・・直接の原因となる式は異なると思いますが、以前のご質問と同様に、
演算コントロール絡みではないか、ということです。
http://oshiete1.goo.ne.jp/qa4041631.html

例えば、
 ・文字列しか指定できない引数(Left関数の第1引数)に対し、抽出結果の中にNullが
  含まれるものがあったとか、
 ・正の数しか指定できない引数(InStr関数の第1引数)に対し、結果が負となる式を
  入れていた
といった場合、上記回答でも述べましたが、「フィールドの結合」や「並べ替え」、
「絞り込み」などを行うと「データ型が一致しない」エラーが発生します。
こうなると、原因になったフィールド・レコードに関係なく、全レコードの全フィールドが、
ご質問の画像と同様に、エラー表示になります。


> 特定する方法はないでしょうか?

原因がフォームかクエリかを切り分けるには、クエリのみで同様の抽出を行ったときに
エラーが発生するかを見る、しかないように思います。
これで、クエリが原因とわかったら、
 a)どんな抽出条件の場合にエラーが発生し、どの条件ならエラーが発生しないかを
  トライ&エラーで地道に探すか、
 b)クエリで使用している式などをもう一度見直して、以前の経験から原因となって
  いそうなものにあたりをつける、
というのが私のやり方です。

・・・今日の業務中に、私も全く同じエラーを引き起こして、「b)」で原因を把握したばかり
ですが(汗)

この回答への補足

ありがとうございます。
Left関数は使っていますがNULLが原因かよく分からないのですが
以下に原因があることが分かりました。

決算期を-6ヶ月したものを年度としてこちらで扱っているので、以下の関数で変換してます。
決算期 1810→年度 2006年
売上年度: Format(DateAdd("m",-6,CDate("H" & Left([決算期],2) & "年" & Right([決算期],2) & "月")),"yyyy" & "年")

これに抽出条件でFormat(DateAdd("yyyy",-2,Date()),"yyyy\年")または2006年と指定したのですが、
この抽出条件を指定するとエラーが起きるようです。同様に2006年にフィルタを掛けてもエラーがでます。
「抽出条件でデータ型が一致しません」

となるとどこかで決算期の入力をミスしているということですよね?
それともこの関数に抽出条件を掛ける事が不味いということはあるのでしょうか?

補足日時:2008/07/23 09:34
    • good
    • 0
この回答へのお礼

原因を探したところ入力ミス原因がありました。
ありがとうございました。

お礼日時:2008/07/23 12:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!