- ベストアンサー
Accessで最終レコードの削除方法
- Accessで最終レコードを削除する方法を教えてください。
- 最終レコードを削除すると空白の新規レコードが作成されないようにしたいです。
- 1001のレコードを削除すると最終レコードが変わってしまう問題もあります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
もしかしたら、テーブルに保存されてない、空の新規レコードのことを言っているのでしょうか。 レコードを削除すると、その次のレコードにフォーカスが移りますので、最後のレコードを削除すれば、確かに新規レコードにフォーカスが移ります。 それに疑問を抱いたことなんかなかったのですが・・・・ まいったな。空のレコードがテーブルに勝手に保存されるのかと思った。 そのフォームで、レコードの追加をしないのなら、フォームのプロパティで、レコードの追加を「いいえ」にすれば、新規レコードにフォーカスが移りません。 あるいは、レコードを削除するマクロがあるようですから、最終レコードを削除した後に、最後(削除した後の最後)のレコードにフォーカスを移すようにすれば、新規レコードが出てきません。 と、いう感じでどうでしょう。
その他の回答 (1)
なぜ、空の新規レコードができるのかわかりませんが、マクロではなく、削除クエリで削除したらどうでしょう。 参考サイト↓(gooでたまたま一番上に出てきたサイト) http://makotowatana.ld.infoseek.co.jp/access/acconUnderstandingActionQueriesAndWhenUseThemS.htm マクロは良く知らないのですが、多分、マクロからクエリを実行できるでしょう? 「最終レコード」をどう捕まえるかが問題になりますが、オートナンバー型のフィールドを追加するか、入力時間を記録するフィールドがを追加すれば、捕まえられます。
お礼
ご回答頂き有り難うございます。 削除クエリを作成してマクロから呼び出すようにしましたが、入力画面のレコードが最終レコードの場合は空白レコードが作成されてしまいます。 まだ不足している事があるのでしょうか。
お礼
ご回答頂き有り難うございます。 問題は解決しました! レコードの追加を禁止にしてから削除したら空白レコードが発生しなくなりました。 次のような感じです。 Me.AllowAdditions = False 'レコードの追加禁止 DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70 Me.AllowAdditions = True 'レコードの追加許可 本当に助かりました、感謝感激です。