• ベストアンサー

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

  • アクセス 前レコード内容を、新レコードにコピー

    アクセスで、テーブルに [日付] と [内容] のフィールドがあって、フォームでデータを入力する際、新しいレコードに[日付]を入力した後、[内容]の項目で、前回に最後のレコードで入力した [内容] のデータを、そのまま新しいレコードに入力したい。コピー貼り付けでもできるが、コマンドボタンを押して、1発で前回のデータをコピーしたい。どんなにしたらできるのですか?よろしくお願いします。

  • Accessでフォームからレコードの追加について

    Access2016をWindows10で利用しています。 あるテーブルの単票形式のフォームをフォームウィザードから作成しました。 入力規則などがテーブルの各列の設定に沿って作成されていてとても便利なのですが、フォームにいくつか値を入れた時点でレコードが新規追加されてしまいます。 レコードの追加を、すべての入力が終わって「新規追加」ボタン(あとから自分で作成)を押してから行いたいです。 レコードウィザードを使わずにフォームを作成し、フォームの値とクエリを結び付けてボタン押下時にクエリを実行する、というフォームにすれば実現できると思うのですが、それはなかなか手間がかかってしまうので出来るだけ簡便に実現できたらと考えています。 細かい話なので参考ページ、あるいはヒントになる検索キーワードを教えていただけないでしょうか m(‗ ‗)m ?

  • ACCESSのフォームでの入力について

    ACCESS2000を使用しています。初心者のほうです。住所録のテーブルを作って、作業用のフォームを表形式で作りました。そのフォームに宛名印刷するためのコマンドボタンを配置しています。フォーム上で一件入力し、そのコマンドボタンを実行するのですが、その時点ではレコードとして入力されていないようで、実行できません。フォームを一度閉じて、また開くと出来るようになります。1件のレコードをフォームから入力すると同時にテーブルへも保存されていくようにしたいのですが、簡単にやる方法はないでしょうか?

  • ACCESS2000のフォームからの入力でデータが上書きされる

    書類の受付簿を作成しました。 ユーザー1件ごとに受付日を入れると 規則性無く、時々入力したはずの日付が 前のレコードに書き込まれてしまいます。 内容としては【テーブル】 ユーザーテーブル(約2000件) 受付簿テーブル(3種類をそれぞれmm/ddで) ユーザーでは無くなった退会テーブル(Yes/No) 3つのテーブルで管理しています。 【クエリー】 日付入力をするためにクエリーを1つ作成 しました。上記3つのテーブルの合体させたもの。 それぞれのテーブルはユーザーIDでリレーションし ました。 【フォーム1】→これで入力するとおかしくなる ユーザーIDで検索し、ユーザー名が表示されたら 3項目ある受付枠に日付を入力する画面 フォームビューで作成 【フォーム2】 同じクエリーをデータシートビューで表示させ 検索機能なしで、直接ユーザーIDの該当枠に入力 する画面 を作成しました。フォームビューで作成したフォーム 1で入力したときに、どういう規則性があるか まったく判らないのですが、1件前のユーザーIDに セットされ、入力したはずの部分は空欄になって しまいます。 また、この現象に関連するのでしょうが、すでに入力 されていた日付が、消えてしまう現象もおきます。 何が原因でこのような現象になっているか、まったく 検討がつきません。どこら辺を、チェックしたら 良いか、回答をお待ちしています。

  • Accessフォームの新規レコードについて

    いつもお世話になっています。 Access2000でフォーム作成をしているときにちょっと詰まってしまいました。 クエリからフォームの作成を行うと、フォームの新規レコードの追加ができないんです! テーブルからフォームを作成する場合は新規レコードの追加は可能でした。 クエリがあるとどうしても新規レコードの追加ができなくなってしまいます。 クエリからフォームを作成して、新規レコードの追加を行えるようにすればどうしたらいいんでしょうか? よろしくお願いします。

  • ACCESSでコピーしたレコードのフィールド置換作業の繰返しを簡素化したいです

    ACCESS2000を使っています。テーブルには必ず「Nenndo」というフィールド名(数値型十新型)で西暦4桁が入力されています。(このフィールドはキーにもインデックスにもなってません)たとえば、 T_M001テーブルのNendoフィールドに2007が入力されたレコードが340件 T_M002テーブルのNendoフィールドに2004が入力されたレコードが823件 こんな感じでNendoフィールドがあるテーブルが沢山あります。 これらのテーブルのNendoフィールドに格納されているレコードをコピー置換作業して2004から2008までのデータを作成したいです。 T_M001であれば2007が入力されてるレコードをコピーして、貼付たレコードNendoフィールドの2007を2004へ置換、また2007のレコードをコピーして2005へを繰り返の作業してます。レコード数は340件が1360件増えて1700件。 テーブルが沢山あって作業に苦慮してます。 ACCESSのモジュールでもマクロでも構いませんので対応策等ご教授願います。

  • Accessフォームの操作で

    2つの別々なフォームがあります。 それぞれのフォームの基になっているテーブルが別々にあります。 ひとつはデータが入力されているテーブルで もうひとつはフォームから入力していく空のテーブルです。 データが入力されているフォームでは、データ抽出するサブフォームを持っていて、 そこにあるレコードセレクタをダブルクリックすると もうひとつの空のテーブルから作成したフォームにデータを入力していくようにしたいんですけど、うまくいきません。 乱文でわかりにくいとは思います。 ご迷惑をおかけしますが教えてください。 よろしくお願いします。

  • アクセスのフォームで立ち上げと同時に新規レコードを出したい。

    先日、いろいろと教えていただいたおかげで、なんとか植木鉢の管理表が出来、ぽつぽつとデータを入力しています。 が、当方相当そそっかしいもので、入力のためのフォームを立ち上げつい、そのまま入力してしまい、何回1番先頭のレコードを書き直した事か・・・。 そこで、フォームを立ち上げた時に自動的に新規レコードに書き込める状態にするか、フォーム上からではデータの訂正が出来ない(変更はフォームでなくテーブルから行う)様にする方法は無いでしょうか?

  • アクセス2000でフォームに入力したレコードを表示させたいのです

    初歩の質問ですがよろしくお願い致します。 顧客TBを作成して、それを単票フォームで入力 できるようにしています。 同一フォームにサブフォームを設けて入力したレコードを 登録毎にサブフォームへ一覧表示させるにはどうしたらよいでしょうか サブフォームに直接入力していくと可能なのですが できれば上記のような形で行ないたいのです。 それとサブフォームでは編集できないようにすることは出来ますか? 宜しくお願い致します

  • アクセスでテーブル入力用のフォームを他のテーブルのレコードを参照しながら入力するには

    こんにちわ アクセスでテーブルのレコードを作成するのに 他のテーブルのレコードを引っ張ってきて フォーム上で表示したいのですが うまくいきません たとえば、社員名テーブル(従業員番号と名前) 配属テーブル(従業員番号と営業所コード) 支社テーブル(支社名と営業所コードの上2桁) 営業所テーブル(営業所名と営業所コード)を作成しておきます 退職者が出るたびに 退職者テーブル用のフォームに 従業員番号を入力すると フォーム上にその人の名前・支社名・営業所名が表示され それを確認してから その他のデータをその同じフォームに 入力したいのです 今、試しに作ったのは テーブルに一度上書きしないとデータを引っ張ってこないの不便なのです よろしくお願いします