• ベストアンサー

データベースの特定のfieldだけ削除は可能ですか?

今VB6でSQLにて特定のaccessのレコードを抽出して数あるfieldの中の値を変更し、更新しています。 同様に数あるfieldの中の値を削除(空)にすることは可能でしょうか?

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

  • ベストアンサー
noname#60992
noname#60992
回答No.3

未検証ですが、 ・・・・ Con.Open strSQL = "UPDATE TableName SET TableName.FieldName = null;" Con.Execute strSQL Con.close でできませんか?

3e3
質問者

お礼

nullを使用するとできました。完璧です。 ありがとうございます。nullの意味(基本みたいですが)を改めて理解しました。 感謝します。ありがとうございました。

その他の回答 (2)

  • kero_mio
  • ベストアンサー率90% (94/104)
回答No.2

>さらに、FieldにブランクやNULLをセットすることを許可していない テーブルの場合は 間違えました。正しくは、 「さらに、FieldにブランクやNULLをセットすることを許可していない Fieldの場合は...」 に訂正させていただきます。

3e3
質問者

お礼

nullを使用するとテキスト型と日付/時刻型の両方を空にする事ができました。 解決に協力してくれてありがとうございました。

  • kero_mio
  • ベストアンサー率90% (94/104)
回答No.1

VB6から、AccessのDBに接続する際、ADOで接続してますか? DAOで接続してますか? 上記方法によっても回答は変わります。 また、Fieldの値を空にするといっても、そのFieldがテキスト型だったり整数型だったり、 さらに、FieldにブランクやNULLをセットすることを許可していない テーブルの場合は、当然、空にできないわけですし。 そのFieldのテーブルはどのような型で、また主キーになってるとか ブランク&NULL許可していないとか、具体的な情報を頂かないと 回答が難しいです。 補足情報の提供をよろしくお願いします。

3e3
質問者

補足

回答ありがとうございます。 ・ADOで接続しています。 ・accessのfieldは[テキスト型]と[日付/時刻型]の二種類使用しています。 ・テキスト型ではNULLやブランクのセットを許可しています。 ・内容削除したいのは主キーではありません。 内容削除の仕方がわからないので、現在は [" "]←この様にスペースを入れて更新しています。 テキスト型ではそれでもいいと思うのですが、日時/時刻型ではうまくいかないので困っています。 どうかよろしくお願いします。

関連するQ&A