こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

VBでACCESS(アクセス)にSQLを発行したときのエラーについて

VBでアクセスのデータにSQLを発行してテーブルに更新等の処理をしています、削除や検索では該当するレコードがないとエラーコードが返りますが、挿入の場合はすでにあるデータに重複するデータを登録する(二重登録)処理をしてもエラーになりません?

なにもメッセージがないので登録されたのか、だめだったのかを判断することができません、このような場合に二重登録の判定をするには先に検索をして当該データの有無を調べた後に登録処理にを行うようにするしかないのでしょうか?(同じことが更新についてもあてはまります)

データの挿入にはjetSQLのinsert intoステートメントを使用しています
データの更新には同updateステートメントを使用しています

投稿日時 - 2002-06-18 15:11:52

QNo.294695

困ってます

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

キーの設定などはどうなっているのでしょう?
二重登録ができないようなキー設定になっていれば、エラーは返ると思いますが。

ただ、普通は存在チェックをかける方が確実だと思いますけど。
一度セレクトでSQLをまわして、該当レコードが0件だったらinsertを行う、という風にした方がいいと思いますよ。

投稿日時 - 2002-06-18 15:27:32

お礼

イミディエイトで確認したところエラーが表示されていました、エラーメッセージの処理の記述間違いでメッセージが表示されませんでした。

アドバイスをいただいた存在チェックもするようにしておきます。

ありがとうございました

投稿日時 - 2002-06-18 16:15:47

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

いえ、INSERTする際、主キーが重複したレコードが既に存在する場合、エラーが返ってきます。

従って、おそらく、主キーが設定されてない、あるいは、設定されていたとしても違ったフィールドに設定されているのではないでしょうか?

もう1度、主キーの設定を確認してみて下さい(ACCESSのテーブルを選択してデザインボタンを押し鍵マークを確認してみて下さい)。

投稿日時 - 2002-06-18 15:29:15

お礼

イミディエイトで確認したところエラーが表示されていました、エラーメッセージの処理の記述間違いでメッセージが表示されませんでした。

主キーの見直しをしていてとんでもない間違い(この件とは無関係なので詳細は省略します)にも気づきました、アクセスのキーの設定については考えてもみませんでした、いろいろな角度から調査をする必要性を再認識しました

ありがとうございました。

投稿日時 - 2002-06-18 16:19:14

あなたにオススメの質問