- ベストアンサー
データベースの特定のfieldだけ削除は可能ですか?
今VB6でSQLにて特定のaccessのレコードを抽出して数あるfieldの中の値を変更し、更新しています。 同様に数あるfieldの中の値を削除(空)にすることは可能でしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
未検証ですが、 ・・・・ Con.Open strSQL = "UPDATE TableName SET TableName.FieldName = null;" Con.Execute strSQL Con.close でできませんか?
その他の回答 (2)
- kero_mio
- ベストアンサー率90% (94/104)
>さらに、FieldにブランクやNULLをセットすることを許可していない テーブルの場合は 間違えました。正しくは、 「さらに、FieldにブランクやNULLをセットすることを許可していない Fieldの場合は...」 に訂正させていただきます。
お礼
nullを使用するとテキスト型と日付/時刻型の両方を空にする事ができました。 解決に協力してくれてありがとうございました。
- kero_mio
- ベストアンサー率90% (94/104)
VB6から、AccessのDBに接続する際、ADOで接続してますか? DAOで接続してますか? 上記方法によっても回答は変わります。 また、Fieldの値を空にするといっても、そのFieldがテキスト型だったり整数型だったり、 さらに、FieldにブランクやNULLをセットすることを許可していない テーブルの場合は、当然、空にできないわけですし。 そのFieldのテーブルはどのような型で、また主キーになってるとか ブランク&NULL許可していないとか、具体的な情報を頂かないと 回答が難しいです。 補足情報の提供をよろしくお願いします。
補足
回答ありがとうございます。 ・ADOで接続しています。 ・accessのfieldは[テキスト型]と[日付/時刻型]の二種類使用しています。 ・テキスト型ではNULLやブランクのセットを許可しています。 ・内容削除したいのは主キーではありません。 内容削除の仕方がわからないので、現在は [" "]←この様にスペースを入れて更新しています。 テキスト型ではそれでもいいと思うのですが、日時/時刻型ではうまくいかないので困っています。 どうかよろしくお願いします。
お礼
nullを使用するとできました。完璧です。 ありがとうございます。nullの意味(基本みたいですが)を改めて理解しました。 感謝します。ありがとうございました。