回答編集履歴
10
修正
test
CHANGED
@@ -126,9 +126,9 @@
|
|
126
126
|
|
127
127
|
DoCmd.SetWarnings True 'メッセージの表示 有効
|
128
128
|
|
129
|
-
Me.
|
129
|
+
Me.Requery '再表示
|
130
130
|
|
131
|
-
Me.Re
|
131
|
+
Me.Recordset.FindFirst "請求NO=" & DMax("請求NO", "テーブルA") 'コピー先の請求NOへ移動
|
132
132
|
|
133
133
|
Exit_コピー_Click:
|
134
134
|
|
9
修正
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
追記
test
CHANGED
@@ -98,6 +98,8 @@
|
|
98
98
|
|
99
99
|
クエリーに名前を付けて保存してください。
|
100
100
|
|
101
|
+
※修正後にエラーが無ければ、デザインに戻すことができます。
|
102
|
+
|
101
103
|
|
102
104
|
|
103
105
|
コード
|
7
推敲
test
CHANGED
@@ -104,7 +104,7 @@
|
|
104
104
|
|
105
105
|
---
|
106
106
|
|
107
|
-
コピーボタンのクリック時イベントに割り当てられているコードを以下に差し替えし、請求NOの名前を実際のものに変更して下さい。
|
107
|
+
コピーボタンのクリック時イベントに割り当てられているコードを以下に差し替えし、テーブル名や請求NOの名前を実際のものに変更して下さい。
|
108
108
|
|
109
109
|
※マクロの呼出は削除またはコメントアウトして下さい。マクロ自体の変更は不要です。
|
110
110
|
|
6
推敲
test
CHANGED
@@ -94,7 +94,7 @@
|
|
94
94
|
|
95
95
|
・作成タブ⇒クエリデザイン(テーブルの表示は何も選択せず閉じる)⇒右クリックでSQLビューを選択
|
96
96
|
|
97
|
-
この状態で上記のSQLを元に変更
|
97
|
+
この状態で上記のSQLを元に変更(実際のテーブル名や請求NOの画面上での名前など)したものを貼り付けて、
|
98
98
|
|
99
99
|
クエリーに名前を付けて保存してください。
|
100
100
|
|
5
修正
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
推敲
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
追記
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
追記
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
修正
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は新しいものである必要があります。
|