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

access初心者です。
クエリに抽出条件を入力したら「パラメーターの入力」画面が出てくるようになりました。

クエリを開くと、開いた時の昨年度の3/31時点での年齢を計算させ、[昨年度末年齢]フィールドに返すようにしています。このときにクエリを開くとパラメーターの入力の画面が出ないのですが、
[昨年度末年齢]の箇所に抽出条件で Like "0歳*" と入れると
パラメーターの入力で昨年度末日を求める画面が出てきます。
これを出ないようにするにはどうすればよいのでしょうか。
宜しくお願いします。


ちなみに関係しそうな式がこちらです。

昨年度末年齢: IIf(Format([昨年度末日],"mmdd")<Format([生年月日],"mmdd"),DateDiff("yyyy",[生年月日],[昨年度末日])-1,DateDiff("yyyy",[生年月日],[昨年度末日])) & "歳"


昨年度末日: IIf(Month(Date())<4,Year(Date())-1,Year(Date())) & '/03/31'

A 回答 (3件)

こんにちは。


はっきり説明できないのでどなたか詳しい人がいらっしゃれば、と思っていたのですが。

式に演算フィールド名(この場合は[昨年度末日])を入れると、集計や抽出の際にご質問の現象になるのを経験してます。
原因は内部的な処理の順番で、抽出条件のあるフィールドを先に計算しようとするため・・・と聞いたと思うのですが、すみません探したのですがそういう解説のあるサイトが見つけられませんでした。
なのでもしかしたら違うかもしれません。ゴメンナサイ。

ということで、原因は何にしても、昨年度末年齢の式に[昨年度末日]を使わなければできると思います。

昨年度末年齢: IIf(Format((IIf(Month(Date())<4,Year(Date())-1,Year(Date())) & '/03/31'),"mmdd")<Format([生年月日],"mmdd"),DateDiff("yyyy",[生年月日],(IIf(Month(Date())<4,Year(Date())-1,Year(Date())) & '/03/31'))-1,DateDiff("yyyy",[生年月日],(IIf(Month(Date())<4,Year(Date())-1,Year(Date())) & '/03/31'))) & "歳"

(違うかな?? 直打ちしたので修正お願いします。^^;)
    • good
    • 0

No.1です。


なんかピンと来ないですが。。。

質問文で気になったのは、(今更って突っ込まないでね)

>昨年度末日: IIf(Month(Date())<4,Year(Date())-1,Year(Date())) & '/03/31'

昨年度末日って文字列型ではなく日付型ですよね。
なら最終的に日付型への変換が必要なのではないのかな?って。

昨年度末日: CDate(IIf(Month(Date())<4,Year(Date())-1,Year(Date())) & '/03/31')

これが関係あるのかどうかはちょっと不安ですけど。
    • good
    • 0
この回答へのお礼

めぐみんさん

ありがとうございます。
基本的なこともわからず、質問内容もわかりづらい表現ですみません・・。
他の方法を教えて頂き解決致しました。
ありがとうございました。

お礼日時:2020/06/15 17:49

提示されているコードでエラーになるのですか?


違うのであれば

>[昨年度末年齢]の箇所に抽出条件で Like "0歳*" と入れると

はどのように書いているのか?
    • good
    • 0
この回答へのお礼

めぐみんさん
ありがとうございます。

昨年度末年齢① フィールドの抽出条件の箇所に  Like "0歳*" 
昨年度末年齢② フィールドのまたはの箇所に  Like "0歳*" 
と入力しています。
ちなみに昨年度末時点の年齢ではなく、現在の年齢を計算させるフィールドに同様に Like "0歳*"と入力したときはパラメータの入力画面が出ませんでした。
なぜなのでしょうか。

お礼日時:2020/06/15 13:06

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A