#374 カレント行の内容を新規レコードにコピーする方法(その1) フォーム、VBA

現在カーソルがある行の内容を新規レコードに追加コピーする方法です。

ここでは、DoCmdオブジェクトのRunCommandメソッドを使って、ちょうどマニュアルでそのような操作を行ったときの手順を、プログラムで順番に再現します。

次の例では、フォーム上の[コピー]ボタンのクリックによって、カレント行の内容を新規レコードにコピーしています。既存のレコードの内容がそのまま(ただしオートナンバーは除く)コピーされます。

Private Sub cmdCopy_Click()
'[コピー]ボタンクリック時

  '現在カーソルのある行全体を選択
  DoCmd.RunCommand acCmdSelectRecord
  'その内容をコピー
  DoCmd.RunCommand acCmdCopy
  '追加貼り付けを実行
  DoCmd.RunCommand acCmdPasteAppend
  '貼り付けられたレコードに移動
  DoCmd.GoToRecord , , acLast

End Sub


実行前:
実行前
実行後:
実行後


※あくまでも単純に既存レコードの内容を追加貼り付けするだけです。主キーフィールドなど、貼り付け後に編集する必要がある場合もあります。
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved