• ベストアンサー

このような場合は・・・

WINDOWS2000/ACCESE2000 いつもお世話になってます。 例えば、以下の場合だとどのように組んだら良いでしょうか? もし、A>Bの場合で、1の場合はC+B。2の場合はC+D。 もし、A<Bの場合で、1の場合はE+F。2の場合はE+H。 1つだけだったら、Select Caseを使って出来たのですが・・・ Select Caseを2つ繋いでって出来ないですよね? アドバイス宜しくお願いします。

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

  • ベストアンサー
  • kumagoro-
  • ベストアンサー率57% (36/63)
回答No.3

Select CaseステートメントよりもIfステートメントを使った方が分かりやすいのではないでしょうか。 If IsNull(登録年) Then   If 車検到来区分 = 1 Then     車検到来年 = 基準年 + 2   End If ElseIf IsNull(基準年) Then   If 車検到来区分 = 1 Then     車検到来年 = 登録年 + 2   End If End If

renault
質問者

お礼

kumagoro-さん、アドバイス有難うございました。 無事、教えて頂いた方法で設定できました。 本当に有難うございました。 今回初めてアクセスをする事になり、毎日が悪戦苦闘です。 また、質問する事があると思いますが、宜しくお願い致します。 有難うございました。

その他の回答 (2)

  • kumagoro-
  • ベストアンサー率57% (36/63)
回答No.2

すいません。 大きな勘違いをしていました。 SQLとVBAが混ざっていたようです。 renaultさんはこの処理をSQLとVBAのどちらでされたいのでしょうか? 1つだけだったら、Select Caseを使って出来たということは、やっぱりVBAでしょうね。 私が書いたのはSQLでした。しかもSQLServerでした。ので忘れてください。 VBAのSelect Caseステートメントならば以下の様に書いてみてはいかがでしょうか? Select Case A   Case Is > B     Select Case aaa       Case 1         bbb = C + B       Case 2         bbb = C + D     End Select   Case Is < B     Select Case aaa       Case 1         bbb = E + F       Case 2         bbb = E + H     End Select End Select

renault
質問者

補足

アドバイス有難うございます。 度々、質問します。 例えが、A>BとA<Bでしましたが、登録年と基準年があって、登録年が空の場合で 区分が1の場合は基準年+2。基準年が空の場合で区分が1の場合は登録年+2にしたい場合は、 Select Case 車検到来年 Case Is IF IsNull(登録年) Select Case aaa Case 車検到来区分=1 車検到来年=基準年+2 End Select Case Is IF IsNull(基準年) Select Case aaa Case 車検到来区分=1 車検到来年=登録年+2 End Select で良いのでしょうか? お手数かけますが、再度アドバイス宜しくお願いします。

  • kumagoro-
  • ベストアンサー率57% (36/63)
回答No.1

CASEのネストはできますよ。 SELECT CASE WHEN A > B THEN CASE hoge WHEN 1 THEN C + B WHEN 2 THEN C + D END WHEN A < B THEN CASE hoge WHEN 1 THEN E + F WHEN 2 THEN E + H END END FROM TableName といった感じです。

renault
質問者

補足

おはようございます。早速アドバイス有難うございます。 教えていただいた通りに自分で組んでみたら構文エラーが出ました。 Select Case WHEN IsNull(登録年) THEN CASE hoge WHEN 車検到来区分=1 THEN 車検到来年=検査基準年+3 WHEN 車検到来区分=2 THEN 車検到来年=検査基準年+1 END WHEN IsNull(検査基準年) THEN CASE hoge WHEN 車検到来区分=1 THEN 車検到来年=登録年+3 WHEN 車検到来区分=2 THEN 車検到来年=登録年+1 END FROM 保有車両 Select Caseの前に 車検到来年に2000を足さないといけないので、 車検到来年=車検到来年+2000 と記述してます。これがだめなのでしょうか? お手数かけますが、再度アドバイス有難うございます。

関連するQ&A