プロが教える店舗&オフィスのセキュリティ対策術

Accessで新規レコードを作成しないで最終レコードを削除したいのですが、方法をご存知でしたら教えて頂けないでしょうか。
現状は次の通りです。
レコード データ
1000   A
1001   B
1002   C ←最終レコード
※マクロで1002のレコードを削除すると
レコード データ
1000   A
1001   B
1002   空白のレコード ←最終レコード
となってしまいますが、これを
レコード データ
1000   A
1001   B ←最終レコード
としたいのです。

ちなみに最終ではない1001のレコードを削除すると
レコード データ
1000   A
1001   C ←最終レコード
となり、空白の新規レコードは作成されません。

A 回答 (2件)

もしかしたら、テーブルに保存されてない、空の新規レコードのことを言っているのでしょうか。


レコードを削除すると、その次のレコードにフォーカスが移りますので、最後のレコードを削除すれば、確かに新規レコードにフォーカスが移ります。

それに疑問を抱いたことなんかなかったのですが・・・・
まいったな。空のレコードがテーブルに勝手に保存されるのかと思った。

そのフォームで、レコードの追加をしないのなら、フォームのプロパティで、レコードの追加を「いいえ」にすれば、新規レコードにフォーカスが移りません。

あるいは、レコードを削除するマクロがあるようですから、最終レコードを削除した後に、最後(削除した後の最後)のレコードにフォーカスを移すようにすれば、新規レコードが出てきません。

と、いう感じでどうでしょう。
    • good
    • 0
この回答へのお礼

ご回答頂き有り難うございます。
問題は解決しました!
レコードの追加を禁止にしてから削除したら空白レコードが発生しなくなりました。
次のような感じです。
Me.AllowAdditions = False 'レコードの追加禁止
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
Me.AllowAdditions = True 'レコードの追加許可
本当に助かりました、感謝感激です。

お礼日時:2009/03/10 21:43

なぜ、空の新規レコードができるのかわかりませんが、マクロではなく、削除クエリで削除したらどうでしょう。


参考サイト↓(gooでたまたま一番上に出てきたサイト)
http://makotowatana.ld.infoseek.co.jp/access/acc …

マクロは良く知らないのですが、多分、マクロからクエリを実行できるでしょう?

「最終レコード」をどう捕まえるかが問題になりますが、オートナンバー型のフィールドを追加するか、入力時間を記録するフィールドがを追加すれば、捕まえられます。
    • good
    • 0
この回答へのお礼

ご回答頂き有り難うございます。
削除クエリを作成してマクロから呼び出すようにしましたが、入力画面のレコードが最終レコードの場合は空白レコードが作成されてしまいます。
まだ不足している事があるのでしょうか。

お礼日時:2009/03/08 11:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A