Accessで最終レコードの削除方法

このQ&Aのポイント
  • Accessで最終レコードを削除する方法を教えてください。
  • 最終レコードを削除すると空白の新規レコードが作成されないようにしたいです。
  • 1001のレコードを削除すると最終レコードが変わってしまう問題もあります。
回答を見る
  • ベストアンサー

Accessで最終レコードの削除について

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

質問者が選んだベストアンサー

  • ベストアンサー
noname#110201
noname#110201
回答No.2

もしかしたら、テーブルに保存されてない、空の新規レコードのことを言っているのでしょうか。 レコードを削除すると、その次のレコードにフォーカスが移りますので、最後のレコードを削除すれば、確かに新規レコードにフォーカスが移ります。 それに疑問を抱いたことなんかなかったのですが・・・・ まいったな。空のレコードがテーブルに勝手に保存されるのかと思った。 そのフォームで、レコードの追加をしないのなら、フォームのプロパティで、レコードの追加を「いいえ」にすれば、新規レコードにフォーカスが移りません。 あるいは、レコードを削除するマクロがあるようですから、最終レコードを削除した後に、最後(削除した後の最後)のレコードにフォーカスを移すようにすれば、新規レコードが出てきません。 と、いう感じでどうでしょう。

flowergoo
質問者

お礼

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

その他の回答 (1)

noname#110201
noname#110201
回答No.1

なぜ、空の新規レコードができるのかわかりませんが、マクロではなく、削除クエリで削除したらどうでしょう。 参考サイト↓(gooでたまたま一番上に出てきたサイト) http://makotowatana.ld.infoseek.co.jp/access/acconUnderstandingActionQueriesAndWhenUseThemS.htm マクロは良く知らないのですが、多分、マクロからクエリを実行できるでしょう? 「最終レコード」をどう捕まえるかが問題になりますが、オートナンバー型のフィールドを追加するか、入力時間を記録するフィールドがを追加すれば、捕まえられます。

flowergoo
質問者

お礼

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

関連するQ&A

  • Accessでレコード削除ができなくなってしまいました

    助けてください。 Access2000を使用しています。 ASPでデータのやりとりできるようにプログラムを作成しているのですが、 何かの拍子にテーブル内のデータを消すことができなくなりました。 直接アクセスで削除しようとしても 「レコードに検索キーが見つかりませんでした」 っていうメッセージがでてきて削除できません。 その他データを変更することもできなくなってしまいました。 新規に追加はできます 以上よろしくお願いします

  • Access 2007で、テーブルからレコードを削除するクエリを作りた

    Access 2007で、テーブルからレコードを削除するクエリを作りたい。 具体的には、テーブルAのフィールドF1とテーブルBのフィールドF2があるとします。このとき、テーブルA中の各レコード(仮にXとします)であって、そのF1の値と同じ値をF2に持つレコードがテーブルBに含まれている場合は、(テーブルAから)そのレコードXを削除するという処理をしたいのです。ややこしいと思いますが、これをクエリやマクロで作ることはできるでしょうか? 私はVBAを知らない初心者です。上の処理も文章で書くと理解してもらえるかどうか不安ですが、だれか助けて下さい。

  • Access2000でのレコードの削除と移動

    ccess2000で テーブルがA と Bあり テーブルAは一時保存用で最終的にBに保存しようとしてます。 まず、データをフィールド1が空欄でAに保存して、後にそのデータをフォームで呼び出し、フィールド2を入力後テーブルBに保存その呼び出したカレントレコードのみ削除したいのですが、どうすればいいのでしょうか> フォームは連結されていません。 可能であればサンプルコードをいただくと助かります。 お願い致します。

  • Access「レコードが削除されました」のエラー

    お世話になります。 あるデータベースを作成し、クエリで条件抽出しています。 そのクエリを実行しても、「レコードが削除されています」という エラーが出てしまうようになりました。 どうしてなのか、どうしたらいいのか教えていただけませんでしょうか。 テーブル3つをリレーションしています。 テーブルAは、テーブルBとCにつながっています。 クエリA:テーブルAのチェックボックスAでYesの人だけを選択し、 それに連動するテーブルAのデータを選択したいと思っています。 カテゴリーごとに抽出できるようパラメータをいれ、 抽出条件に「yes」を入れてあるのですが、 実行するとエラーになります。 同じ条件で作成しているクエリBは、同様にテーブルBの チェックボックスBのYesの人だけを選択するようにしているのですが、 実行しても問題がありません。 同じ設定をしている2つのクエリなので、 あとは元のテーブルデータがおかしいのかと思っているのですが 情報はちゃんと入力されています。 情報の閲覧が出来ないので非常に困っています。 復活するときもあるのですが、不安定です。 どうかチェックする部分を教えてください。 なぜこういうことが起きるのかも教えていただければと思います。 私は素人なので、VB等は組めません。 クエリ上で行ないたいのですが、 どうしたら宜しいでしょうか。 Access2000、複数人で入力しています。 宜しくお願い致します。

  • 【Access】レコードが削除できない

    どんな操作をしてそうなったかわからないんですが、 テーブルの最終行に全フィールドのデータが「#Deleted」になっているレコードが出来てしまいました。 このレコードを削除し、一旦テーブルを閉じて、また開くと同じものが復活しています。 どうすれば消せますでしょうか??

  • ACCESS2000であるレコードまで進んだら別フォームに

    ACCESS2000を使って簡単占いソフトを作りました。 あるテーブル(質問集)から単票フォームを作成しました。次のレコード(質問)へはマクロボタンを割付し進むようになっています。 この場合最終レコード(最後の質問)でそのマクロボタンを押すと、別のフォーム(別の質問集)に切り替えるにはどう記述したらよいでしょうか? レコードの数は変わることはありません。 ACCESSは初歩的なことはわかり自分で作成もしますが、モジュールは全くわかりません。基本的なSQLの知識はありますが実践したことはありません。 わかりづらい点があれば、補足質問をお願いします。 宜しくお願いします。

  • ACCESS 重複データ削除の順番について

    追加クエリを使って重複データを削除する時に、削除されるデータについて質問です。 重複レコードを含むテーブルの構造のコピーを作成し、重複レコードを含むすべてのフィールドの主キーを作成して、元のテーブルから新しいテーブルへの追加クエリを実行して、重複レコードを一括削除をしています。 [操作についての参考URL] http://support.microsoft.com/kb/879852/ja =========================================== (テーブル) [ID]  [クラス]  [名前]   [時間]     1     A     ああ   11:00 ←重複 2     B     鈴木   12:00    3     C     アア   13:00     ←重複  4     A     ああ   14:00 ←重複 5     B     森    15:00   6     C     アア   16:00     ←重複  7     B     青山   17:00   8     C     アア   18:00     ←重複     9     A     ああ   19:00 ←重複 =========================================== 上記のようなテーブルで「クラス」と「名前」の2つのフィールドを主キーにした場合、 「A」の「ああ」さんと、「C」の「アア」さんが各3件ずつ重複しています。 しかし、「ID」と「時間」はそれぞれ違っています。 このような場合に、削除されないデータと削除されるデータの違いは何なのでしょうか? ACCESSの仕様でとか、レコードの若い番号順で削除されるとか、明確なルールが あれば教えていただけると幸いでございます。 御手数お掛け致しますが、何卒よろしくお願いいたします。

  • Accessでレコードの削除履歴を残したい。

    Accessで添付画像のような入力フォームを作成しています。 右端にレコード削除ボタンを作成していますが、レコードを削除した履歴を残すには どのようにしたらいいでしょうか? 自分なりに調べてはいますが、わかりませんので、宜しくお願い致します。

  • マイクロソフトアクセスについて

    アクセスでデータベースを作っているのですがテーブルを結合させてクエリを作成しているのですが巧く動きません。一般的なものは、自分でできるのですが今回は、ちっょと悩んでいます。 <組合せの内容は> (1)AテーブルにAコード:Bコードがあります。 Aコードは、2000レコードあり重複していません。 Bコードは、同じものもあります。 (2)BテーブルにBコード:C1~C171までのコードが Bコードは、170レコードあり C1~C171までは、同じものもありますし空白のものもあります。 今回作成したいのがAコード:C1~C171コードです。 自分でクエリを作成してみたのですがデータが表示されません。 何かよいヒントを教えてくださると助かります。

  • Accessで担当者毎に触れるレコードを変えたい

    例えば ・A,B,Cさんがいたとして、Accessファイルを開いた時にパスワードを聞かれ、  Aさん用のパスワードを入力するとAさんのデータしか見えない&Aさんしか書き込めない。 ・他の人間も同様に入力するが、自分以外のレコードは見れない。 ・だが管理者は、全てのレコードを見る&記入することができる。 ということは出来ますでしょうか。 よろしくお願いします。