• ベストアンサー

空文字列の判断方法

お世話になっています。 空文字列を判断させる方法について教えて下さい。 下記のように、If分を作成しています。 ============================== If rs("USER") = "" Then Response.write "有効" Else Response.write "無効" End If ============================== これだと、空文字列をうまく判断してくれず、結果がすべて"無効"になってしまいます。rs("DEL_FLAG") = ""をrs("DEL_FLAG") = Nullにしても駄目でした。 空文字列を判断させるには、どのように記述したらよいでしょうか? どうしても空文字列を判断させる必要があります。 よろしくお願い致します。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

IsNull(rs("USER")) か rs("USER") is NULL は使えないでしょうか

namesato
質問者

お礼

IsNull(rs("USER"))でも出来ました!! ありがとうございました。。

その他の回答 (1)

  • phoenix343
  • ベストアンサー率15% (296/1946)
回答No.1

Len関数は使えませんか?

namesato
質問者

お礼

ありがとうございます!! 文字列が何か入っていれば、長さが"1"以上になりますね!! これを利用して、うまく空文字列を判断出来ました。。 本当に助かりました。

関連するQ&A

  • AccessでNULLのデータを判断する方法

    ご指導、宜しくお願い致します。 Accessを経由してPostgresのデータベースへ データをインポートしていきたいのですが、 Accessから抽出したデータが空白か空白ではないのかを 判断させたいのですが、以下のように記述しているのですが、正しく判断されないようです。 どのように記述すればよいのでしょうか??? ---------------------------------------- SQL="SELECT 単価,フラグ FROM AAA_TBL" Set RS = Conn.Execute(SQL) IF RS(0) = NULL THEN  RESPONSE.WRITE "空白" ELSE  RESPONSE.WRITE "単価" END IF IF RS(1) = NULL THEN  RESPONSE.WRITE "空白" ELSE  RESPONSE.WRITE "フラグ" END IF ---------------------------------------- Accessdb:AAA_TBL フィールド名/データ型 単価/INT4 フラグ/varchar

  • asp+vbscriptで「文字列があるか、無いか」の条件分岐をしたい

    asp+vbscriptで「文字列があるか、無いか」の条件分岐をしたい場合 mdbファイルを用いて、asp+vbscriptでWebページを作成しています。 mdbファイル内のテーブルデータ(文字列)が空白(データが無い)のであれば 何も表示しなくて、データが入っている場合、そのデータ(文字列)を 表示させたいのですが、指定方法がわかりません。 If rs.Fields.Item("xxxx") = "" Then ←ここの指定方法が知りたいです。 Else Response.Write "<tr>" & vbCrLf Response.Write "<td>" & rs.Fields.Item("xxxx") & "</td>" & vbCrLf Response.Write "</tr>" & vbCrLf End If 上記の通り「""」ではデータの有り無しに関わらず表示されてしまいます。 (文字データは無いので文字が出ませんが、枠が出てしまう) 文字列の「有り」「無し」の判定方法をご存じの方、ご教授頂けますでしょうか。 宜しくお願い致します。

  • 文字列に特定の文字の有無を調べたい。

    ある文字列に特定の文字が入っているか否かを調べたいのです。 AccessでVBAを使用して有無を調べたいんです。 具体的には下記の通りです。 カナ氏名が入力されているフィールドを検索して文字列を抽出したいんです。 "抽出"をカナにすると"チュウシュツ"ですよね。 所が私が使用しているテーブルのカナ氏名が入力されているフィールドには "抽出"は"チユウシユツ"と入力されているんです。 "チュウシュツ"と入力しても"抽出"は表示されず、"チユウシユツ"と入力しなければ "抽出"は表示されません。 従って"チュウシュツ"とキーボード入力してから先頭から2文字目と5文字目の "ュ"を"ユ"に再度変換しなければならないんです。 何か簡単な関数やプロシージャがないでしょうか? 何分初心者なんで下記の様な凄く長いプロシージャしか思い浮かびません。 宜しくお願いいたします。 (例) Public Function Kana_change() Dim kana As String '左から2桁目が小文字の時の変換 If Mid(kana, 2, 1) = "ァ" Then kana = Right(kana, 1) & "ア" & Mid(kana, 3, 13) Else kana = kana End If If Mid(kana, 2, 1) = "ィ" Then kana = Right(kana, 1) & "イ" & Mid(kana, 3, 13) Else kana = kana End If If Mid(kana, 2, 1) = "ゥ" Then kana = Right(kana, 1) & "ウ" & Mid(kana, 3, 13) Else kana = kana End If If Mid(kana, 2, 1) = "ェ" Then kana = Right(kana, 1) & "エ" & Mid(kana, 3, 13) Else kana = kana End If If Mid(kana, 2, 1) = "ォ" Then kana = Right(kana, 1) & "オ" & Mid(kana, 3, 13) Else kana = kana End If If Mid(kana, 2, 1) = "ャ" Then kana = Right(kana, 1) & "ヤ" & Mid(kana, 3, 13) Else kana = kana End If If Mid(kana, 2, 1) = "ュ" Then kana = Right(kana, 1) & "ユ" & Mid(kana, 3, 13) Else kana = kana End If If Mid(kana, 2, 1) = "ョ" Then kana = Right(kana, 1) & "ヨ" & Mid(kana, 3, 13) Else kana = kana End If If Mid(kana, 2, 1) = "ッ" Then kana = Right(kana, 1) & "ツ" & Mid(kana, 3, 13) Else kana = kana End If End Sub End Function

  • 文字列の一番右が数字であるかどうかの判断

    お世話になります。 文字列の一番最後が数字である場合と数字でない場合について判断する方法を教えて頂きたいのですが、数字である場合 then以下の処理をするという風にしたいと思っています。ですが以下のところでつまずいて数字であるかどう確かめればよいのやらわからないので教えて下さい。    If Right("abcdef7", 1) = ここに何を書けばいいのでしょう?    Then 処理する。    end if という文なんですけど。=の右はなにをかけばいいのでしょうか?

  • asp:所定の文字列が含まれているかどうか判別したい

    hoge = request("hoge") if (もしhogeの中に「aaa」の文字列が含まれていたら) then response.write "aaaがありますよ!" end if という処理を作りたいです。 (もしhogeの中に「aaa」の文字列が含まれていたら) の処理がよく分かりません。HELPください。

  • 空の文字列とnullと""

    java初心者です。 空の文字列とnullと""の3つの関係がよくわかりません。 TextFieldを使った簡単なプログラムを作りました。そこで、”TextFieldに何も入力されていないこと”を判定する文を書こうと思ったのですが、どう書けばいいのか迷いました。 TextFieldのオブジェクトをtfとして、tf.getText()==""かtf.getText()==nullで大丈夫だと思いましたが、実行してみると、どちらを用いても判定できませんでした。結局、tf.getText().length()==0で判定できました。そこで、リファレンスを見ると、getText()はデフォルトで空の文字列を返すと、書いてありました。 したがって、「""とnullは空の文字列とは異なる」という理解に至ったのですが、では空の文字列とは何なのかという疑問がわいてきました。 また、自分は""とnullの違いもよくわかっていません。""とnullが異なるものである、ということはわかるのですが・・・ 質問をまとめると ・空の文字列とは何なのか? ・空の文字列は""やnullとどう違うのか? です。よろしくお願いします。

    • ベストアンサー
    • Java
  • static変数の配列の初期値を空文字列にする一般的な方法

    いつもお世話になっております。 static変数の配列の初期値を空文字列(各要素が'\0')にしたいです。 static変数なので放って置いても各要素に'\0'が入りますが、 初期値として空文字列にしている事を明記したいです。 そこで以下の様な方法を考えてみました。 (1)初期値に何もせず、コメントを書いておく (2)初回起動フラグを持ち、フラグが立っていれば空文字列にする (3)初期値にnull文字をSTR_LENの数だけ書く (4)初期値の先頭のみnull文字にし、残りは省略する どの様な方法が一般的でしょうか? 上記以外にもあれば、教えていただければ幸いです。 また、以下は私が考えたそれぞれの方法のソースです。 -------------------------------------------------------------------------------- #include <stdio.h> #include <string.h> #define STR_LEN 16 #define FLAG_ON (1) #define FLAG_OFF (0) -------------------------------------------------------------------------------- /* 初期値に何もせず、コメントを書いておく */ -------------------------------------------------------------------------------- void clear_1(void) { static char hoge[STR_LEN]; /* 空文字列 */ } -------------------------------------------------------------------------------- /* 初回起動フラグを持ち、フラグが立っていれば空文字列にする */ -------------------------------------------------------------------------------- void clear_2(void) { static char hoge[STR_LEN]; static int first = FLAG_ON; if(first == FLAG_ON){ strncpy(hoge, "\0", STR_LEN); first = FLAG_OFF; } } -------------------------------------------------------------------------------- /* 初期値にnull文字をSTR_LENの数だけ書く */ -------------------------------------------------------------------------------- void clear_3(void) { static char hoge[] = {'\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0'}; } -------------------------------------------------------------------------------- /* 初期値の先頭のみnull文字にし、残りは省略する */ -------------------------------------------------------------------------------- void clear_4(void) { static char str[STR_LEN] = {'\0', }; } --------------------------------------------------------------------------------

  • VBScriptである文字列に半角文字が含まれているかどうか調べる方法について

    VBScriptである文字列に半角文字が含まれているかどうか調べる方法について、ネットで調べてソースコードを拾ってきたのですが... IFの条件でなぜ全角、半角が判断できるか分かりません。教えてください。お願いします。 iLen = Len(str1) iLenByte = 0 '--- 文字列のバイト数 For i = 2 To iLen strField = Mid(str1, i, 1) iCode = Asc(strField) If iCode > 0 Then '--- 半角文字 Else '--- 全角文字 End If Next

  • 文字列で渡された式

    質問です。 タイトルのままですが文字列で渡された式で 処理を決定させることはできるのでしょうか? たとえば ============================ dim str as string = "10 > 5" if strの文字列判定 then msgbox("TRUE") else msgbox("FALSE") end if ============================

  • AccessVBA NULLについて

    いつもお世話になっております。 AccessVBAでコーディングを始めたのですが、 NULLの判定で分からない点がでてきました。 データベースより If rs.Fields(0) = Null Then Else 区分 = rs.Fields(0) End If この場合、rs.Fields(0)の中身がNULLの場合は rs.Fields(0)のデータを入れるとエラーになるので ELSEで逃がしたいのですが、 中身のデータがNULLにもかかわらずELSEの方を通ってしまいます。 If rs.Fields(0) Is Null Then Else シール = rs.Fields(0) End If こちらかとも思いましたが、オブジェクトが必要とエラーが返ってきました。 NULLをIF分で判定したい場合どのような記述を行えばよいでしょうか。 どうぞよろしくお願い致します。

専門家に質問してみよう