- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フォームのレコードソースにストアドをしてした場合)
フォームのレコードソースにストアドをしてした場合
このQ&Aのポイント
- フォームのレコードソースにストアドを指定すると、VBAでデータを追加する際に特定の命令では追加できないことがあります。
- 'acCmdSaveRecord'でデータの競合が発生し、メッセージが表示されずに進まなくなる場合もあります。
- その場合、追加用のストアドを作成するか検討する必要があります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ストアドプロシージャというものの性質を理解する必要があると思います。 確かにストアドプロシージャの中にSELECT文を書けば、結果を返してくれますし、それをデータソースに使うことはできるでしょう。 ただし、テーブルやビューが更新可能(ビューは条件付)であるのに対し、ストアドプロシージャやテーブル関数が返すレコードは データ処理後の単なるデータ集合にすぎない(元テーブルとの関係から切り離されている)ため、それに対して更新を掛けるという 発想自体に無理があります。 試したわけではないですが、NewRecまではAccess側での処理にすぎないので、うまくいっているように見えるということではないかと思います。 更新する場合はテーブルやビューを使うか、全項目をパラメータにした更新用ストアドプロシージャを準備すべきでしょう。
お礼
いつもいつも、ありがとうございます。 「全項目をパラメータにした更新用ストアドプロシージャ」か ADOで更新するか検討します。 これでまた一歩すすめます、ありがとうございました。