• ベストアンサー

access2000:フォームで入力した内容を新規レコードにコピー

初歩的な質問ですが困っています。表記の通りにAというテーブルへ入力フォームを使いデータ入力しています。そこでほぼ同じ内容の入力項目が数十件発生する時があります。そのために入力フォームで作成したデータをそのまま新規レコードへコピーしコピー後に手直ししようと考えています。がどうすればよいのか妙案がうかびません。ヒントでもいいので教えてください。

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

  • ベストアンサー
  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.1

Ctrl+7 ではダメですよね? コマンドボタンのクリック時イベントで以下のコードを記述すれば、 選択していたレコードを、新規レコードにコピーできると思います。 DoCmd.RunCommand acCmdSelectRecord DoCmd.RunCommand acCmdCopy DoCmd.RunCommand acCmdRecordsGoToNew DoCmd.RunCommand acCmdSelectRecord DoCmd.RunCommand acCmdPaste

amuro_kamui
質問者

お礼

速攻のアドバイスありがとうございます。結果は上記コードを使わなくてもコピーできました。回答はいたって簡単でした。フォームをデザインビューで加工して解決しました。ツールボックスのコマンドボタンを新規作成し、レコードの操作→レコードの複製→新しいレコードにコピー★☆★にて新規レコードへ複製した内容が追加されました。 内容は Private Sub コマンド198_Click() On Error GoTo Err_コマンド198_Click DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 2, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 5, , acMenuVer70 'Paste Append Exit_コマンド198_Click: Exit Sub Err_コマンド198_Click: MsgBox Err.Description Resume Exit_コマンド198_Click End Sub となっていました。どうもありがとうございました

その他の回答 (1)

  • souta_n
  • ベストアンサー率33% (79/234)
回答No.2

VBA使えますか? 例えばテーブルのフィールドが項目1、項目2、項目3で、頻繁に発生する内容が、 項目1は「象さん」 項目2は「ぞうさん」 項目3は「お鼻が長いのね」 というケースですと 1.フォームにコマンドボタンを1つ配置します。(ウイザードは起動しないでね) 2.プロパティでボタンの名前を「象さん」表題を「象さん」に変更、プロパティのイベントタグをクリックし、クリック時のイベントをクリックすると右に...というボタンが出てくるので、そこをクリックしコードビルダを起動、 3.Private Sub 象さん_Click()   End Sub と出るので、そこに Private Sub 象さん_Click() 項目1 = "象さん" 項目2 = "ぞうさん" 項目3 = "お鼻が長いのね" End Sub と入力しその画面を閉じる 再びフォームのデザインビューにもどるので、フォームビューに切り替えて、象さんボタンをクリックすると、それぞれの項目に内容がポンッと表されるはずです。

amuro_kamui
質問者

お礼

アドバイスありがとうございます。VBAは使えません。やっと学習を始めたところです。が、上記内容ならば今の私でも理解できます。また、質問した問題は解決しました。しかしこれからもう少し悩む問題に取り組まなければ・・悩んでも光が見えないときは別項目にて質問させていただくかとおもいます。その時もよろしくお願いします。

関連するQ&A