①Microsoft Office Access のテーブルを使い、ASPでWebアプリケーションを作成しています。

以下のエラーが表示されます。
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] フィールド 'yoyaku.email' には、長さ 0 の文字列を格納できません。
■質問
このエラーを回避する方法はありませんか?

②プログラム内容

Sub Update_yoyaku()

if kbn = "del" then
StrSQL = "delete from yoyaku "
ObjConn.Execute(StrSQL)
else
if yoyakuchk(hiduke,roomid) = "空" then
StrSQL = "insert into yoyaku ("
StrSQL = StrSQL & "'" & email & "',"
StrSQL = StrSQL & "'" & tel & "'"
StrSQL = StrSQL & ")"
ObjConn.Execute(StrSQL)
else
StrSQL = StrSQL & " email = '" & email & "',"
StrSQL = StrSQL & " tel = '" & tel & "'"
ObjConn.Execute(StrSQL)
end if
end if

End Sub

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/11/02 10:16:29
  • 終了:2006/11/09 10:20:03

回答(2件)

id:taknt No.1

きゃづみぃ回答回数13539ベストアンサー獲得回数11982006/11/02 10:20:21

ポイント35pt

Not Nullの項目に Nullをいれようとしてるのでは ないでしょうか?

StrSQL = StrSQL & "'" & email & "',"

StrSQL = StrSQL & "'" & tel & "'"

このような個所を

StrSQL = StrSQL & "'" & email & " ',"

StrSQL = StrSQL & "'" & tel & " '"

と半角空白をつけて 保存するようにしたらいかがでしょうか?

で、取り出すときは trim などで 空白を 取り除いて 取得したらいいですね。

http://q.hatena.ne.jp/list

id:saiden

分かり易い回答ありがとうございます。

2006/11/02 13:08:01
id:TONTON3 No.2

TONTON3回答回数212ベストアンサー獲得回数42006/11/02 11:05:38

ポイント35pt

http://q.hatena.ne.jp/answer

方法はいろいろありますが

アクセスでそのMDBファイルを開いて

yoyakuテーブルを開きます。

デザインでemailフィールドの空文字を許可にします。

email のことに & "" を追加する

StrSQL = StrSQL & "'" & email & "" & "',"

でエラーは回避できると思います。

id:saiden

ありがとうございます。お二人の回答で回避できています。大変勉強になりました。

2006/11/02 13:08:22

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません