あなたの習慣について教えてください!!

こんにちは。
SQLServer初心者です。

Access VBAで SQLServerから抽出したデータをDBにINSERT
しようとしてるのですが、抽出した項目にNULLデータがあるので
エラーになってしまいます。
どのように回避すればよろしいでしょうか?
ISNULL関数を使えば回避できるのでしょうか?

たとえば以下のようなINSERT分を実行したいのですが、
顧客名_漢字のフィールドにはNULL文字が入ってる場合があるとします。
よろしくお願い致します。


strSQL2 = ""
strSQL2 = strSQL2 & " INSERT INTO NORSE_TMP_DATA ( "
strSQL2 = strSQL2 & " ポート名"
strSQL2 = strSQL2 & ", 顧客名_漢字"
strSQL2 = strSQL2 & ", 顧客名_カナ"
strSQL2 = strSQL2 & ", 契約状態"
strSQL2 = strSQL2 & ", 契約番号"
strSQL2 = strSQL2 & ", 契約枝番号"
strSQL2 = strSQL2 & ", 顧客番号"
strSQL2 = strSQL2 & " VALUES ("
strSQL2 = strSQL2 & " '" & rs.Fields("ポート名").Value & "'"
strSQL2 = strSQL2 & ", '" & rs.Fields("顧客名_漢字").Value & "'"
strSQL2 = strSQL2 & ",'" & rs.Fields("顧客名_カナ").Value & "'"
strSQL2 = strSQL2 & ",'" & rs.Fields("契約状態").Value & "'"
strSQL2 = strSQL2 & "," & rs.Fields("契約番号").Value
strSQL2 = strSQL2 & "," & rs.Fields("契約枝番号").Value
strSQL2 = strSQL2 & "," & rs.Fields("顧客番号").Value
strSQL2 = strSQL2 & " )"

A 回答 (2件)

 項目がヌルの場合、'wwwww' の形ではなく、単に NULL と出力します。


 このときの判定は、VB側で IsNull で判定するのがもっとも簡単だと思います。
    • good
    • 0
この回答へのお礼

ありがとうございました。
無事対応できました。

お礼日時:2006/10/27 15:55

こんにゃくは。



もう、NULLについての方法は出ているようなので、別の考え方?だけ参考までに。。。

>>どのように回避すればいいのか。
一番簡単に思いつく~とすれば、「NULLを入れさせない。」ですよね。
入れさせなきゃ悩む必要ないですから-w-

入れさせない方法として考え付くものとして(?)
・ユーザーに入れさせない。
・入れてもNULLにさせない。
かな。
ユーザーに入れさせない。としたら、入力時に判定させて、必ず何かを入力しなければいけないようにメッセージを出してやったりすればいいですよね。
でなければ、ユーザーが入れても、システムで無理矢理、スペース1つ入れてやるとか、何かすればOKですよね。

で、個人的な意見ですが、NULLは非常に好きじゃないです(笑
NULLのためにわざわざ処理考えなきゃいけないときとかありますしねぇ。。。
検索条件も、NULLがあるがために2回やったり。。。(_。。_
できることなら使いたくないって思っているので、自分で何か考えるときは、できるだけNULLを使わないで済む方法。
を考えながらやってますよ。


まぁ、参考までにー。です。
    • good
    • 0
この回答へのお礼

そうですね~。
NULL文字扱いは非常に面倒くさいですよね。
ご意見ありがとうございました。

お礼日時:2006/10/27 15:57

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

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