dポイントプレゼントキャンペーン実施中!

どなたかご存知の方はご教示願います。
使用言語はVB6_SP5、DBはMdb(アクセス97形式)です。
ADOでDBに接続し、レコードセットを取得しそのレコードの任意のフィールドの値により処理を3通りに分けたいのです。(値はNULL、"1"、"9" の3つです。)
IF文で条件分岐を行いたいのですが、うまく振り分けができずにおります。
IF ISNULL(RS.FIELDS("HHH").VALUE) THEN
NULLの場合の処理
ELSE
"1"の場合の処理
END IF
' "9" の場合はなにもしない

結果は全てNULLの場合の処理を実行してしまいます。
どこを修正すれば宜しいのでしょうか?

A 回答 (3件)

これでダメですか?(未検証)



Dim strDATA As String

strDATA = Nz(RS.Fields("HHH").Value,"")

Select Case strDATA
Case "1"
'"1"の場合の処理
Case "9"
'"9"の場合の処理
Case ""
'Nullの場合の処理
End Select
    • good
    • 0

判定の条件を変えてみては?



If rs.Fields("HHH").Value = "1" Then
("1"の場合の処理)
ElseIf rs.Fields("HHH").Value = "9" then
'何もしない
Else
(Nullの場合の処理)
End IF
    • good
    • 0

とりあえず、「結果は全てNULL」の処理に行く理由が、


上記のソースで確認できませんが、
RS.FIELDS("HHH").VALUEの値をログかトレースで、"1","9"が
入る事は確認済みでしょうか?

自分の予想としてはクエリーの方に誤りがあると思っています。



関係ないけど"1"の判定抜けています

ELSE IF ("1"の判定)
"1"の場合の処理
END IF
' "9" の場合はなにもしない
    • good
    • 0

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

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


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