アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

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

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

A 回答 (2件)

キーの設定などはどうなっているのでしょう?


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

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

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

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

ありがとうございました

お礼日時:2002/06/18 16:15

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



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

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

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

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

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

お礼日時:2002/06/18 16:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!