- - PR -
access VBAのキー違反について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-04-15 09:30
いつもお世話になります。
こうと申します。 現在access2000のVBAにてプログラムを行っています。 テスト的に単純なフォームを一つ作ってテキスト ボックスに記述した内容をボタンを押下したら INSERTされるというようなものを作成しています。 テーブルにはひとつキーがあり(denno)そこに INSERTして問題なく処理されるのですが、同じ キーを入力して再度ボタンをクリックした時に キー違反となりエラーが発生すると予想したの ですが、VBAのロジックではエラーが発生 しません。access VBAではこの場合のエラー はとれないのでしょうか? /****** ins 部分 ********* Set WS = DBEngine.Workspaces(0) Set DB = WS.Databases(0) WS.BeginTrans On Error GoTo Err_Sub_Update_DEN sql = "" sql = "該当INSERT文" DB.Execute sql ※※ ここでエラー処理にいくと予想したのですが・・・ WS.CommitTrans Exit_Sub_Update_DEN: On Error GoTo 0 DB.Close WS.Close Exit Sub Err_Sub_Update_DEN: WS.Rollback MsgBox Err.Description 宜しくお願いします。 |
|
投稿日時: 2008-04-15 10:58
Execute するときに、dbFailOnError を指定しましょう。
あるいは、ADOのConnection.ExecuteとかCommand.Execute を使いましょう。 |
|
投稿日時: 2008-04-15 11:24
回答が被りますが、Execute メソッドの第 2 引数に RecordsetOptionEnum.dbFailOnError を指定するか、あるいは DAO.Recordset を Open して AddNew ~ Update にしましょう。(ただし Table モードが望ましい)
_________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |
|
投稿日時: 2008-04-15 11:36
ふるふるさん、じゃんぬねっとさん
お返事ありがとうございました。 "dbFailOnError" を指定することによって 例外の方に入ってきて 無事解決しました。 お世話になりました。 |
1