回答編集履歴

2

説明追記

2024/05/17 07:47

投稿

hatena19
hatena19

スコア34017

test CHANGED
@@ -5,6 +5,7 @@
5
5
  > > 追加保存されたレコードをフォームのカレントレコードにする。
6
6
  > 引用テキスト
7
7
  > 上記が実現したい内容です。
8
+ > 主キーはオートナンバー型になっており、それ以外のフィールドが複写できれば良いのですが。
8
9
 
9
10
  そういうことなら、下記のコードでどうぞ。
10
11
 

1

回答追記

2024/05/17 07:41

投稿

hatena19
hatena19

スコア34017

test CHANGED
@@ -1,8 +1,33 @@
1
+ 質問へのコメントより
2
+ > >・『フォームのカレントレコードが既存のレコードである状況』において、
3
+ > > [複写]というコマンドボタンをクリックしたら、カレントレコードと
4
+ > > 同じ内容(主キーを除く)の新規レコード1件をテーブル[顧客リスト]に追加し、
5
+ > > 追加保存されたレコードをフォームのカレントレコードにする。
6
+ > 引用テキスト
7
+ > 上記が実現したい内容です。
8
+
9
+ そういうことなら、下記のコードでどうぞ。
10
+
11
+ ```vba
12
+ Private Sub 複写_Click()
13
+ DoCmd.RunCommand acCmdSelectRecord 'カレントレコードを選択
14
+ DoCmd.RunCommand acCmdCopy 'コピー
15
+ DoCmd.GoToRecord , , acNewRec '新規レコードへ移動
16
+ DoCmd.RunCommand acCmdPasteAppend '追加貼り付け
17
+ End Sub
18
+ ```
19
+ 添付ファイルフィールドのデータもそのまま複写されます。
20
+ オートナンバー型のフィールドは自動で複写対象外になります。
21
+
22
+
23
+ 質問がコメントで明確になったので以下は質問内容とは合致していません。
24
+ ---
25
+
1
26
  ADOの場合のコードは見つけられなかったですが、DAOなら下記が参考になるでしょう。
2
27
 
3
28
  [DAO で添付ファイルを操作する | Microsoft Learn](https://learn.microsoft.com/ja-jp/office/vba/access/concepts/data-access-objects/work-with-attachments-in-dao)
4
29
 
5
- 非連結フォームのテキストボックスにデータを入力してそれをテーブルに新規追加したいということなら、下記のようになります。
30
+ **非連結フォームのテキストボックスにデータを入力してそれをテーブルに新規追加したいということなら、下記のようになります。**
6
31
 
7
32
  ```vba
8
33
  Private Sub cmd保存_Click()