※ ChatGPTを利用し、要約された質問です(原文:Access のフォームで新しい行を挿入する方法)
Accessのフォームで新しい行を挿入する方法
このQ&Aのポイント
Accessの表形式でフォームを作成した時、行の挿入ができない問題について質問します。
フォーム上で行の挿入を試みましたが、表示が更新されず、新しいレコードが表示されませんでした。
メインフォームでイベントを実行後、サブフォームでは正常に新しいレコードが表示されることが確認できました。
アクセスの表形式でフォームを作成した時、データの先頭を右クリックすると ボックスが表示され、切り取り、コピー、貼り付け と表示されますが、ここに 挿入 がありません。
そこで、ここでダブルクリックをする事により、行挿入を行おうと思いました。
実際やってみるとテーブルの中には新しいレコードが挿入されているのですが、フォームを再表示(Repaintメゾッドを使用)しても、作成されたレコードが表示されません。 この時、レコード件数も増えているのに、以前のままの表示です。追加した後の枝No.は変更されて表示されています。
レコードには、キー項目と枝No.があります。
最初、レコード件数は2件とします。 1件目と2件目の間に新しいレコードを挿入したいので、2件目をダブルクリックして、新しく枝No.「2」のレコードを作成し、元の枝No.「2」のレコードは「3」に変更している事はテーブルを開けてみて確認しています。
この時、フォームでも枝No.は Repaint 実行後、変更されて表示されています。
どのようにすれば、新しいレコードが表示する事が出来るでしょうか。
実際には、この表形式はサブフォームにしており、メインフォームから、この挿入イベントを実行したいのです。 メインフォームでイベントを実行後、新たにサブフォームだけ開けてみると、ちゃんと新しいレコードが表示され、レコード件数も3件になっています。
よろしくお願いいたします。
お礼
ありがとうございます。 うまく行きました。 質問する前に Requery を実行したのですが、Docmd.Requery でやったらうまく行きませんでした。それを Me.Requery としたら、うまく行き、別に Repaint も必要なかったでした。 助かりました。