投稿日 | : 2003/07/31(Thu) 11:11 |
投稿者 | : みつお |
Eメール | : |
URL | : |
タイトル | : Re^3: データベースの値との比較について |
>
> これって、VB.TextがNULLだったら"TABLE1.DATA1 IS NULL"、
> そうでなかったら"TABLE1.DATA1 = '" & VB.Text & "'"
> としたいってことですよね。
> ("TABLE1.DATA1 IS '" & VB.Text & "'"ではダメだし)
> そうだとしたら、SQL文というよりも文字列の操作だと思います。
>
> sql="SELECT COUNT(*) FROM TABLE1 WHERE TABLE1.DATA1 " _
> & IIf(IsNull(VB.Text), "IS NULL", "= '" & VB.Text & "'")
> とかするしかないのでは。
> IIfはIf文の省略形?なので、だいさんのいうように
> sql="SELECT COUNT(*) FROM TABLE1 WHERE TABLE1.DATA1 "
> If IsNull(VB.Text) Then
> sql = sql & "IS NULL"
> Else
> sql = sql & "= '" & VB.Text & "'"
> End If
> とするのとコーディング量は大して変わらないかも知れませんが。
TMさん、ありがとうございます。
TMさんに教えていただいた方法だと、IF文を50個も並べることなく
記述することができますね。
やはりIF文がずっと並んでいると見栄えもよくないと思われるので、
TMさんの方法でいこうとおもいます。
今回の件ではいろいろと参考になりました。
だいさん、TMさん、本当にありがとうございました。