重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

Windows2000/ACCESS2000を使用してます。
いつもお世話になってます。
保有車両のフォームを作ってます。
で、次のよう計算式をそれぞれのフィールドで設定して、自動計算されるようにしたいのですが・・・
計算2に、もしも現在の年が計算1と同じか大きい場合、もしも車検到来区分が2の場合は現在の年。もしも車検区分が4の場合現在の年、違う場合は計算1に現在の年から計算1に1を足して数値を2で割り基準値で抽出した数値の倍数のうち数値で最も近い値を2倍した数値、違う場合は計算1 をエクセルの関数では次のように組んでるのですが、アクセスで組む場合だとどうしたらいいでしょうか?
If(year(current"date")>=計算1,If(車検到来区分=2,year(Current"date"),
計算1+floor((year(current"date")-計算1+1)/2)*2)),計算1)
お手数かけますが宜しくお願いします。

A 回答 (2件)

現在の年はFormat$(Date(),"ee")で取得できます。

(この関数で14が帰ってきます。)
IfはAccessではIIfになり質問にある式に代入させれば良いと思うのですが

>計算1に現在の年から計算1に1を足して数値を2で割り基準値で抽出した数値
>の倍数のうち数値・・・
の意味がイマイチわからないのですが・・・。

IIf(Format$(Date(),"ee")>=計算1,IIf(車検到来区分=2,Format$(Date(),"ee"), 計算1+(floor(Format$(Date(),"ee")-計算1+1)/2)*2)),計算1)

となりますがfloorは「数値を挟む基準値の倍数のうち、0 に近い方の値を返す」関数ですがAccessでは何をつかえば良いのか・・・?

この回答への補足

おはようございます。
説明が分かりにくくてすいませんでした。
実際にしたいことを書きます。
フォームには、初年度登録年、初年度登録月、登録年・登録月・登録日・検査基準年・検査基準月・検査基準日があります。
車検到来区分のフィールドに、乗用車は1、商用車は2、特装2年検査は3、新基準商用車は4を入力するようになってます。
乗用車は、初回車検は3年で2回目以降は2年。
商用車は、初回も2回目以降も1年。特装2年は、初回も2回目以降も2年。
新基準は初回は2年で2回以降は1年。
新車の登録時は、初年度年・初年度月と登録年・登録月・登録日に入力して、中古車とか検査がずれてる場合は、初年度年・月と登録年・月・日が変わってくるので、検査基準年・月・日に入力して新車も中古車もそれぞれ車検到来区分によって車検到来年月日が自動計算で自動更新されるようにしたいのですが・・・。
(新車の場合、初年度年・初年度月は登録年・月と同じです。)
計算式がうまく出来ないので、アドバイスを頂けたらと思います。
宜しくお願いします。

補足日時:2002/06/22 10:26
    • good
    • 0
この回答へのお礼

O_cyanさん、いつもお世話になってます。
違う方法で、無事設定できました。
アドバイス有難うございました。

お礼日時:2002/06/25 16:14

現在の年はどこかのテーブルもしくはフィールド上に持っているのでしょうか?

この回答への補足

こんにちは、O_cyanさん。
いつもアドバイス有難うございます。
両方ともないです・・・
前回のエクセルは違う人がアクセスではなく違うデーターベースソフトで設定したので・・・現在の年のテーブル&フィールドがない状態では組めないですよね?

補足日時:2002/06/21 15:28
    • good
    • 0

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

関連するカテゴリからQ&Aを探す