レコードのコピーについて教えてください。
オートナンバー型を除くレコードのすべてのフィールドをコピーしたいです。
どなたかご教授下さい。
全く同じフィールドを持つテーブルが4つあります。
一つの帳票フォームで、そのテーブル4つをボタンで切り替えられるようにしてあります。
その帳票フォームは必要なフィールドのみを表示させていて、すべてのフィールドを表示させていません。
そのような状態で、選択したレコードの複製を行いたいので以下のようにVBAを記述しそのフォームへボタンを追加ました。
Private Sub コマンド3390_Click()
'[コピー]ボタンクリック時
'現在カーソルのある行全体を選択
DoCmd.RunCommand acCmdSelectRecord
'その内容をコピー
DoCmd.RunCommand acCmdCopy
'追加貼り付けを実行
DoCmd.RunCommand acCmdPasteAppend
'貼り付けられたレコードに移動
DoCmd.GoToRecord , , acLast
End Sub
するとフォーム上に表示されているフィールドだけコピーされた新規レコードができるのですが、表示されていないフィールドもすべてコピーされた新規レコードを作りたいのですが、どうすればいいのかさっぱりわかりません。
どなたかご教授下さい。
よろしくお願いいたします。
フォーム上に連結コントロールとして配置していないフィールドはコピーされません。
フォーム上に連結テキストボックスとして配置しておく必要があります。
表示させたくないなら、サイズを小さめにして、他のコントロールの背面に隠しておくといいでしょう。
「タブストップ」を「いいえ」にしておけば、タブキーで移動してもフォーカスしないのでユーザーは見ることができません。
回答ありがとうございます。勉強になります。
テーブルのレコード自体をまるまるコピーして、新規レコードに貼り付ける方法はないでしょうか?
フォームのレコードソースがテーブルならば、
先頭フィールドがオートナンバー型のフィールドという前提です。
ありがとうございます!やりたいことが完璧にできました!