
VBでアクセスのデータにSQLを発行してテーブルに更新等の処理をしています、削除や検索では該当するレコードがないとエラーコードが返りますが、挿入の場合はすでにあるデータに重複するデータを登録する(二重登録)処理をしてもエラーになりません?
なにもメッセージがないので登録されたのか、だめだったのかを判断することができません、このような場合に二重登録の判定をするには先に検索をして当該データの有無を調べた後に登録処理にを行うようにするしかないのでしょうか?(同じことが更新についてもあてはまります)
データの挿入にはjetSQLのinsert intoステートメントを使用しています
データの更新には同updateステートメントを使用しています
No.1ベストアンサー
- 回答日時:
キーの設定などはどうなっているのでしょう?
二重登録ができないようなキー設定になっていれば、エラーは返ると思いますが。
ただ、普通は存在チェックをかける方が確実だと思いますけど。
一度セレクトでSQLをまわして、該当レコードが0件だったらinsertを行う、という風にした方がいいと思いますよ。
イミディエイトで確認したところエラーが表示されていました、エラーメッセージの処理の記述間違いでメッセージが表示されませんでした。
アドバイスをいただいた存在チェックもするようにしておきます。
ありがとうございました
No.2
- 回答日時:
いえ、INSERTする際、主キーが重複したレコードが既に存在する場合、エラーが返ってきます。
従って、おそらく、主キーが設定されてない、あるいは、設定されていたとしても違ったフィールドに設定されているのではないでしょうか?
もう1度、主キーの設定を確認してみて下さい(ACCESSのテーブルを選択してデザインボタンを押し鍵マークを確認してみて下さい)。
イミディエイトで確認したところエラーが表示されていました、エラーメッセージの処理の記述間違いでメッセージが表示されませんでした。
主キーの見直しをしていてとんでもない間違い(この件とは無関係なので詳細は省略します)にも気づきました、アクセスのキーの設定については考えてもみませんでした、いろいろな角度から調査をする必要性を再認識しました
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
csvデータ不要列の削除をbatフ...
-
SELECT INTOで一度に複数の変数...
-
PostgreSQLのtimestamp型で時間...
-
既にテーブルが存在する場合の...
-
sqlに記述できない文字
-
フラグをたてるってどういうこ...
-
truncate tableを使って複数の...
-
selectの単純繰り返し
-
テーブル定義書(Oracle) 【IX】...
-
テーブル名が可変の動的SQLをフ...
-
Accessの構成をコピーしたい
-
結合したテーブルをSUMしたい
-
SELECTした結果に行番号を求めたい
-
既存データをINSERT文にして出...
-
ADO+ODBCでテーブルに接続する...
-
集計でテストの各教科の最高得...
-
Activation codeとは
-
oracle ora-02298
-
SQLで、過去で一番大きい日付の...
-
accessのデータをoracleへinser...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
追加クエリで重複データなしで...
-
【VB】セルが空になるまで処理...
-
csvデータ不要列の削除をbatフ...
-
pandasでsqlite3にテーブル作成...
-
EXCELで外部データの取り込みが...
-
Excel VBAのユーザーフォームで...
-
エクセル 2つの列にある値の完...
-
JDBCを使ってdate型へのINSERT...
-
ACCESS VBAでSeekメソッドの処...
-
VBAで、新しい値のみを抜き出す...
-
マクロでファイルを読み込み、...
-
ListBoxにAddItemする際、重複...
-
自作アプリからAPIで他のアプリ...
-
PHPとMYSQL、DBのデータが空の...
-
テーブルの更新を簡単にできる...
-
WEBサイトって何ですか?
-
重複データをなくす
-
VBAでの行数を揃える方法
-
リストボックスからリストボッ...
-
エクセルデータをAccessに取り...
おすすめ情報