MS Access

Accessでレコードコピー(オートナンバー除く)の決定版のコード!

投稿日:

Accessで、レコードのオートナンバーを除くフィールドを1行、複製(コピー)したくって、Google検索したのだけどなかなか出てこず、しかしやっと見つけた、黄金のソース・・・・。

[VBA] ADOの Clone と AddNew – その他(プログラミング) 解決済み| 【OKWAVE】

やりたかったのは、単純に、レコードのコピー。
フォームのボタンをクリックすると、コピーが作られ、Requeryすると、一番上に表示される、そんな感じの処理。

最初は、

DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdCopy
DoCmd.RunCommand acCmdPasteAppend
Me.Requery

のようなコードでフォーム上のデータをコピペしていたのだが、非連結の検索用テキストボックスの扱いがうまくいかず、ペースト時にエラーになる。
非連結だからコピペしなくてもよいのだがなぜかコピー対象にされる(自分の環境の場合SQLServer上のテーブルのみで発生、mdbテーブルだと発生せず)。
そこはよくわからないけどAccessの仕様だろう。

レコードのクローンを用意して、そこからフィールドごとにループしてレコードを作ればよいかなとは想像してみたのだが、具体的にはどう作ればよいのか、わからず。
そんな中で、上記のコードを見つけた時の喜びやいかに。

にしても、解答者の、30246kiku さん、神だ、天使だ! 感動だ。

-MS Access

執筆者:

関連記事

no image

Accessのフォーム/レポートのコントロール同士をくっつけて桝目状にしたい

レポートを、Excelのような桝目の罫線にしたい。 お客からこんなニーズが多い。 やったことがある人ならわかるけど、これが、なかなか苦労する。 レポートのデザインビューで、いざ個々にコントロールをきち …

no image

AccessでIN演算子をクエリの抽出条件に使うのに苦労

やりたいこと: 非連結のチェックボックスでレコードを選択する – hatena chips ・・・のようなこと。 ・フォームのテキストボックスに、’354942-0007474 …

no image

Accessで実行時エラー’2465′ 指定した式で参照されている’txt区分’フィールドが見つかりません

VBAでフォームをMe.RecalcあるいはMe.Requeryしただけで、タイトルのエラーが出るケースに遭遇。F9キーを押すと同じ動作になるはずだが、キー押下では上記エラーは出ず、不思議。 ネット検 …

no image

フォーム テンプレート

Accessのフォームを作るときに、「フォーム テンプレート」を使う方法があること、知っている人は多いのかな? 既存のフォームにあるテキストボックスの色やサイズなどの設定(プロパティ)を引き継いで、新 …

no image

客先で動かしているAccessとFAXの連携システムが昨日から止まっている

これまでのWindowsXP+OutlookExpressであれば問題なかった。 しかし、OSはWindows7になってしまい、メールはWindowsLiveメールになってしまった。 そしてWindo …