質問: accessで「16389予約済みエラー」と出ます accessとvba、sqlserverの組み合わせでアプリケーションを作っています。 vbaの中で docmd.runcommand accmdsaverecord を実行する行でエラーが発生します。 msgboxでerr.numberとerr.descriptionを確認すると、 16389 予約済みエラーと表示されます。 この番号とメッセージで調べてはいるのですが、英語のページしかヒットせず、 翻訳してもよくわからず、苦戦しています。 何か情報をお持ちの方は教えてください。
回答: ac2003持っていないので試してみることができないのですが、なんとなく連結フォームからの捜査を行うときにでるエラーのようですね。 http://pressf1.pcworld.co.nz/showthread.php?t=83027 によると、 マルチユーザーデータベースとしているなら、 フォームをデザインモードで開き、プロパティのデータタブのレコードロックをedited record(編集済みレコード?)にしなさい。 docmd.domenuitem acformbar, acrecordsmenu, acsaverecord, , acmenuver70 と書いているなら、 docmd.runcommand accmdsaverecord としてみろ。 それでもダメなら、セーブする代わりにレコードを移動させて戻ってくることによって、フォーム上の変更をdbに反映させることができる。 どうせレコードを移動させるときに保存されるのだから、この時点での保存は本当に必要なのかどうか考えてみてください。 と書いてあります。