• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQL で数値フィールドにDBNULLをセットする)

SQLで数値フィールドにDBNULLをセットする方法

このQ&Aのポイント
  • VB2008で商品マスタメンテプログラムの開発をしています。入力画面に入力された各項目で、MDBの商品マスタテーブルを更新する際に、入力されなかった項目にDBNULLをセットする方法を教えてください。
  • 入力されなかった項目にDBNULLをセットする場合のSQL文の記述方法を教えてください。例えば、入力されなかった項目は商品名カナで、SQL文はUPDATE商品マスタテーブル SET商品名称=’○○’のような形式です。
  • 入数が入力されなかった場合、SQL文でDBNULLをセットする方法を教えてください。入数は0とDBNULLを区別したいため、入力がなかった場合はDBNULLをセットしたいです。

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

  • ベストアンサー
  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.1

SQL = SQL & " 入数 = null," とすればよいのでは? (mdb上で値要求がいいえになっている必要はあると思います)

nakusa2012
質問者

お礼

回答ありがとうございます。 Irisu As Object を Irisu As String に変更し、 画面「入数」に入力があった場合は、 SQL = SQL & " 入数 = " & Irisu & "," 未入力の場合は、 SQL = SQL & " 入数 = null," でできました。ありがとうございました。

その他の回答 (2)

  • papope
  • ベストアンサー率33% (8/24)
回答No.3

こんにちは .netだと DBNULL.valueを設定すればOKですけど。 NULLを設定すること自体は賛否両論がありますね。

nakusa2012
質問者

お礼

回答ありがとうございます。 DBNULL.value と記述すると、SQL 実行エラーになってしましました。 null でうまく行きました。

  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.2

> Irisu As Object 入力はどんな型で行なわれるのですか?テキストボックスなら 文字列型です。Object は使わないで下さい。 「数値に変換できない文字」を入力された場合を考慮して下さい。 そののち、数値に変換できるか判定して、If文で場合わけして 下さい。

nakusa2012
質問者

お礼

回答ありがとうございます。 入力はテキストボックスです。 Object ではなく String に変更しました。 入力チェックは前のステップでやっているので、 ここでは整合性のあるデータが保証されています。