こんにちは。
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 & " )"
No.1ベストアンサー
- 回答日時:
項目がヌルの場合、'wwwww' の形ではなく、単に NULL と出力します。
このときの判定は、VB側で IsNull で判定するのがもっとも簡単だと思います。
No.2
- 回答日時:
こんにゃくは。
もう、NULLについての方法は出ているようなので、別の考え方?だけ参考までに。。。
>>どのように回避すればいいのか。
一番簡単に思いつく~とすれば、「NULLを入れさせない。」ですよね。
入れさせなきゃ悩む必要ないですから-w-
入れさせない方法として考え付くものとして(?)
・ユーザーに入れさせない。
・入れてもNULLにさせない。
かな。
ユーザーに入れさせない。としたら、入力時に判定させて、必ず何かを入力しなければいけないようにメッセージを出してやったりすればいいですよね。
でなければ、ユーザーが入れても、システムで無理矢理、スペース1つ入れてやるとか、何かすればOKですよね。
で、個人的な意見ですが、NULLは非常に好きじゃないです(笑
NULLのためにわざわざ処理考えなきゃいけないときとかありますしねぇ。。。
検索条件も、NULLがあるがために2回やったり。。。(_。。_
できることなら使いたくないって思っているので、自分で何か考えるときは、できるだけNULLを使わないで済む方法。
を考えながらやってますよ。
まぁ、参考までにー。です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access VBAでクエリーのレコー...
-
ExcellVBAのFindに関する質問で...
-
Access フォームのデータがテー...
-
Accessで名寄せグループの関係...
-
Access 縦(行)のデータを横(列)...
-
Excel 2019 のピボットテーブル...
-
「直需」の意味を教えてください
-
Oracle 2つのDate型の値の差を...
-
エクセルVBAで5行目からオート...
-
Accessでテーブル名やクエリ名...
-
ACCESSのクエリで集計で、先頭...
-
Accessフォームにクロス集計ク...
-
アクセス エラーを数値「0」に...
-
ACCESSでテーブルのチェックを...
-
必須入力項目と入力必須項目
-
ACCESSでの改行コード
-
セルの右クリックで出る項目を...
-
指定した項目の列削除
-
Accessでvlookupみたいなことは...
-
Accessレポートで特定条件で改...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access フォームのデータがテー...
-
Access IF文でテーブルに存在し...
-
Access VBAでクエリーのレコー...
-
ワードでの単純作業の効率化に...
-
ACCESS で マクロの中でフィ...
-
データベースの1要素に複数デー...
-
顧客IDを入力すると顧客名や住...
-
Accessで名寄せグループの関係...
-
別のDBからテーブルをコピーす...
-
シングルクォーテーションとダ...
-
Access 縦(行)のデータを横(列)...
-
Accessデータベースで行と列を...
-
ワードで保存するファイル名の...
-
Access 既に開いているフォー...
-
ADOでレコードを閉じるタイミン...
-
Access クロス集計クエリについて
-
ACCESS2003 Aアクロバットを介...
-
Access レコードロックについて...
-
Access2000 単票フォーム上の...
-
ファイルメーカーの集計につい...
おすすめ情報