回答編集履歴

10

修正

2017/09/28 01:57

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -126,9 +126,9 @@
126
126
 
127
127
  DoCmd.SetWarnings True 'メッセージの表示 有効
128
128
 
129
- Me.コンボ_請求NO = DMax("請求NO", "テーブルA") 'コピー先の請求NOを設定
129
+ Me.Requery '再表示
130
130
 
131
- Me.Requery '再表示
131
+ Me.Recordset.FindFirst "請求NO=" & DMax("請求NO", "テーブルA") 'コピー先の請求NOへ移動
132
132
 
133
133
  Exit_コピー_Click:
134
134
 

9

修正

2017/09/28 01:57

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -108,7 +108,7 @@
108
108
 
109
109
  コピーボタンのクリック時イベントに割り当てられているコードを以下に差し替えし、テーブル名や請求NOの名前を実際のものに変更して下さい。
110
110
 
111
- ※マクロの呼出は削除またコメントアウトして下さい。マクロ自体の変更は不要です。
111
+ ※マクロの呼出はなくイベントプロシージャに変更して下さい。マクロ自体の変更は不要です。
112
112
 
113
113
  ```VBA
114
114
 
@@ -141,5 +141,3 @@
141
141
  Resume Exit_コピー_Click
142
142
 
143
143
  ```
144
-
145
-

8

追記

2017/09/19 00:49

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -98,6 +98,8 @@
98
98
 
99
99
  クエリーに名前を付けて保存してください。
100
100
 
101
+ ※修正後にエラーが無ければ、デザインに戻すことができます。
102
+
101
103
 
102
104
 
103
105
  コード

7

推敲

2017/09/19 00:38

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -104,7 +104,7 @@
104
104
 
105
105
  ---
106
106
 
107
- コピーボタンのクリック時イベントに割り当てられているコードを以下に差し替えし、請求NOの名前を実際のものに変更して下さい。
107
+ コピーボタンのクリック時イベントに割り当てられているコードを以下に差し替えし、テーブル名や請求NOの名前を実際のものに変更して下さい。
108
108
 
109
109
  ※マクロの呼出は削除またはコメントアウトして下さい。マクロ自体の変更は不要です。
110
110
 

6

推敲

2017/09/15 06:46

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -94,7 +94,7 @@
94
94
 
95
95
  ・作成タブ⇒クエリデザイン(テーブルの表示は何も選択せず閉じる)⇒右クリックでSQLビューを選択
96
96
 
97
- この状態で上記のSQLを元に変更したも請求NOの画面上での名前など)を貼り付けて、
97
+ この状態で上記のSQLを元に変更(実際テーブル名や請求NOの画面上での名前など)したものを貼り付けて、
98
98
 
99
99
  クエリーに名前を付けて保存してください。
100
100
 

5

修正

2017/09/15 06:44

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -104,11 +104,9 @@
104
104
 
105
105
  ---
106
106
 
107
- コピーボタンのクリック時イベントに割り当てられているコードを以下に差し替えて下さい。
107
+ コピーボタンのクリック時イベントに割り当てられているコードを以下に差し替えし、請求NOの名前を実際のものに変更して下さい。
108
108
 
109
109
  ※マクロの呼出は削除またはコメントアウトして下さい。マクロ自体の変更は不要です。
110
-
111
-
112
110
 
113
111
  ```VBA
114
112
 

4

推敲

2017/09/15 06:34

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -94,7 +94,7 @@
94
94
 
95
95
  ・作成タブ⇒クエリデザイン(テーブルの表示は何も選択せず閉じる)⇒右クリックでSQLビューを選択
96
96
 
97
- この状態で上記のSQLを元に変更したもの(請求NOの画面上での名前)を貼り付けて、
97
+ この状態で上記のSQLを元に変更したもの(請求NOの画面上での名前など)を貼り付けて、
98
98
 
99
99
  クエリーに名前を付けて保存してください。
100
100
 

3

追記

2017/09/15 06:31

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -21,3 +21,125 @@
21
21
  具体的にはコピー元の請求Noを条件にして、ID以外のコピーしたい項目を追加します。
22
22
 
23
23
  ※その際、請求Noは新しいものである必要があります。
24
+
25
+
26
+
27
+ 追記
28
+
29
+ ---
30
+
31
+ 概要
32
+
33
+ ---
34
+
35
+ コピーボタンで、表示している請求データと請求明細データをコピーを行う。
36
+
37
+ 1.コピー元は画面上の請求NOを用いる。
38
+
39
+ 2.追加はクエリーで行う。
40
+
41
+ 2.1.コピー元条件は画面の請求NOを使用する。
42
+
43
+ 2.2.コピー先の請求NOはテーブルAの最大値+1
44
+
45
+ 3.コピー完了後に、画面上の請求NOにテーブルAの請求NOの最大値を設定し、コピー先を表示する。
46
+
47
+
48
+
49
+ ※以下画面や項目の名称を以下と仮定しているので、実際の名称に適宜合わせて下さい。
50
+
51
+ 請求データ入力画面=F請求データ入力
52
+
53
+ 請求データ入力画面の請求NO=コンボ_請求NO
54
+
55
+
56
+
57
+ クエリー
58
+
59
+ ---
60
+
61
+ コピーする項目は想定して設定しているので、請求NO以外は過不足があれば変更して下さい。
62
+
63
+ ※IDは追加しないこと。
64
+
65
+
66
+
67
+ クエリー名:Q_請求データ追加
68
+
69
+ ```SQL
70
+
71
+ INSERT INTO テーブルA ( 請求NO, 取引先コード, 部門, 業務件名 )
72
+
73
+ SELECT (SELECT Max(請求NO) FROM テーブルA)+1 , 取引先コード, 部門, 業務件名
74
+
75
+ FROM テーブルA
76
+
77
+ WHERE 請求NO=[Forms]![F_請求データ入力]![コンボ_請求NO];
78
+
79
+ ```
80
+
81
+ クエリー名:Q_請求明細追加
82
+
83
+ ```SQL
84
+
85
+ INSERT INTO テーブルB ( 請求NO, 内容, 数量, 単価, 備考 )
86
+
87
+ SELECT (SELECT Max(請求NO) FROM テーブルA)+1 , 内容, 数量, 単価, 備考
88
+
89
+ FROM テーブルB
90
+
91
+ WHERE 請求NO=[Forms]![F_請求データ入力]![コンボ_請求NO];
92
+
93
+ ```
94
+
95
+ ・作成タブ⇒クエリデザイン(テーブルの表示は何も選択せず閉じる)⇒右クリックでSQLビューを選択
96
+
97
+ この状態で上記のSQLを元に変更したもの(請求NOの画面上での名前)を貼り付けて、
98
+
99
+ クエリーに名前を付けて保存してください。
100
+
101
+
102
+
103
+ コード
104
+
105
+ ---
106
+
107
+ コピーボタンのクリック時イベントに割り当てられているコードを以下に差し替えて下さい。
108
+
109
+ ※マクロの呼出は削除またはコメントアウトして下さい。マクロ自体の変更は不要です。
110
+
111
+
112
+
113
+ ```VBA
114
+
115
+ On Error GoTo Err_コピー_Click
116
+
117
+ DoCmd.SetWarnings False 'メッセージの表示 無効
118
+
119
+
120
+
121
+ DoCmd.OpenQuery "Q_請求明細コピー"
122
+
123
+ DoCmd.OpenQuery "Q_請求データコピー"
124
+
125
+
126
+
127
+ DoCmd.SetWarnings True 'メッセージの表示 有効
128
+
129
+ Me.コンボ_請求NO = DMax("請求NO", "テーブルA") 'コピー先の請求NOを設定
130
+
131
+ Me.Requery '再表示
132
+
133
+ Exit_コピー_Click:
134
+
135
+ Exit Sub
136
+
137
+ Err_コピー_Click:
138
+
139
+ MsgBox Err.Description
140
+
141
+ Resume Exit_コピー_Click
142
+
143
+ ```
144
+
145
+

2

追記

2017/09/15 06:29

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -10,7 +10,9 @@
10
10
 
11
11
 
12
12
 
13
- サブフォームが表示されている状態から請求Noの入力によりサブフォームが消えるという状況から判断するとコピーはされていなくて、表示しているデータの請求Noの修正を行っていることになり、該当する明細が無いので、表示されていない状況だと思われます。
13
+ サブフォームが表示されている状態から請求Noの入力によりサブフォームが消えるという状況から判断するとコピーはされていなくて、表示しているデータの請求Noの修正を行っていることになり、該当する明細が無いので、表示が消える状況だと思われます。
14
+
15
+ この状況は、テーブルAとテーブルBの請求Noのリンクが切れている状態だと思いますので、データは確認されて下さい。
14
16
 
15
17
 
16
18
 

1

修正

2017/09/14 02:48

投稿

sazi
sazi

スコア25195

test CHANGED
@@ -16,6 +16,6 @@
16
16
 
17
17
  参照作成を行いたい場合、テーブルAとテーブルB両方のコピーを行います。
18
18
 
19
- 具体的にはコピー元の請求Noを条件にして、ID以外のすべての項目を追加します。
19
+ 具体的にはコピー元の請求Noを条件にして、ID以外のコピーしたい項目を追加します。
20
20
 
21
21
  ※その際、請求Noは新しいものである必要があります。