- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQL で数値フィールドにDBNULLをセットする)
SQLで数値フィールドにDBNULLをセットする方法
このQ&Aのポイント
- VB2008で商品マスタメンテプログラムの開発をしています。入力画面に入力された各項目で、MDBの商品マスタテーブルを更新する際に、入力されなかった項目にDBNULLをセットする方法を教えてください。
- 入力されなかった項目にDBNULLをセットする場合のSQL文の記述方法を教えてください。例えば、入力されなかった項目は商品名カナで、SQL文はUPDATE商品マスタテーブル SET商品名称=’○○’のような形式です。
- 入数が入力されなかった場合、SQL文でDBNULLをセットする方法を教えてください。入数は0とDBNULLを区別したいため、入力がなかった場合はDBNULLをセットしたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
SQL = SQL & " 入数 = null," とすればよいのでは? (mdb上で値要求がいいえになっている必要はあると思います)
その他の回答 (2)
- papope
- ベストアンサー率33% (8/24)
回答No.3
こんにちは .netだと DBNULL.valueを設定すればOKですけど。 NULLを設定すること自体は賛否両論がありますね。
質問者
お礼
回答ありがとうございます。 DBNULL.value と記述すると、SQL 実行エラーになってしましました。 null でうまく行きました。
- MARU4812
- ベストアンサー率43% (196/452)
回答No.2
> Irisu As Object 入力はどんな型で行なわれるのですか?テキストボックスなら 文字列型です。Object は使わないで下さい。 「数値に変換できない文字」を入力された場合を考慮して下さい。 そののち、数値に変換できるか判定して、If文で場合わけして 下さい。
質問者
お礼
回答ありがとうございます。 入力はテキストボックスです。 Object ではなく String に変更しました。 入力チェックは前のステップでやっているので、 ここでは整合性のあるデータが保証されています。
お礼
回答ありがとうございます。 Irisu As Object を Irisu As String に変更し、 画面「入数」に入力があった場合は、 SQL = SQL & " 入数 = " & Irisu & "," 未入力の場合は、 SQL = SQL & " 入数 = null," でできました。ありがとうございました。