回答編集履歴

1

説明追記

2021/01/29 08:36

投稿

hatena19
hatena19

スコア34362

test CHANGED
@@ -15,3 +15,29 @@
15
15
 
16
16
 
17
17
  あと、`Dim No As Long`ですか、`No`は予約語なので、変数名に使うのは避けたほうがいいでしょう。
18
+
19
+
20
+
21
+ ---
22
+
23
+ メインフォームは`T_予算テーブル`との連結フォームだと思いますので、わざわざ別に`T_予算テーブル`を開くのは無駄だと思います。
24
+
25
+
26
+
27
+ フィールド名は変更する必要がないので、`T_予算明細テーブル.目標原価率 as 目標原価率`などとする必要はないです。下記でOKです。こうすれば、タイプミスにもすぐ気が付くでしょう。
28
+
29
+
30
+
31
+ ```vba
32
+
33
+ SQL = "INSERT INTO T_予算明細テーブル (予算No,タスクID,請求書項目ID,予算額,目標原価率) "
34
+
35
+ SQL = SQL & "SELECT " & No & " as 予算No, タスクID, 請求書項目ID, 予算額, 目標原価率"
36
+
37
+ SQL = SQL & "FROM T_予算明細テーブル "
38
+
39
+ SQL = SQL & "WHERE T_予算明細テーブル.予算No=" & Me.予算No & ";"
40
+
41
+ ```
42
+
43
+ あと、現在のフォームのデータを複写するので、WHERE条件は、フォームの予算No(Me.予算No)にする必要があります。