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でメッセージ内容が無い(のっぺらぼう、OKボタンのみ)エラーメッセージがでる

自分作のモジュールの記述で、以下のように書いている箇所があって、 If rs.EOF = True Then GoTo Err_chkFukuyamaVcr ‘error Else   (中略) また …

no image

「抽出条件 フォーム access not in クエリ」とか「forms access in 抽出条件 複数」とかでググっても出てこなかったので、メモ

Accessでフォームからクエリに抽出条件をパラメータで渡すやり方が分からなくて、数時間苦労。 このタイトルがGoogleの肥やしになって、このサイトに来てくれる人が増えれば。。。 要するに私がやりた …

no image

Accessでファイル選択ダイアログを開いて選択したExcelファイルの先頭シートを読み込み番号が一致するデータの配送日を本日日付で消し込む処理

ファイル選択ダイアログを開いて、選択したExcelファイルの先頭シートを読み込み、番号が一致するデータの配送日を本日日付で消し込む処理(楽天販売DB.mdb) ダイアログを表示する際には、事前にMic …

no image

Excelで使える祝日判定のWebAPIを見つけた

Excelの関数には、曜日を判定できる関数(WEEKDAY)が用意されている。また、表示だけなら書式設定でもできる。しかし祝日となると、関数も何も、用意されていない。 祝日は年により、突然増えたり、「 …

no image

Accessの複雑な処理のレポート帳票で1ページのみ出力されるはずが2ページ目になぜかページヘッダーが出るトラブルに見舞われ

レポートのデザインビューでいうと上から、レポートヘッダー、ページヘッダー、グループヘッダー、詳細、グループフッター、ページフッター、レポートフッター・・・というような、結構細かいレポートを作っている。 …