質問するログイン新規登録

回答編集履歴

1

説明追記

2021/01/29 08:36

投稿

hatena19
hatena19

スコア34367

answer CHANGED
@@ -6,4 +6,17 @@
6
6
  T_予算明細テーブル.目標原価率 as 目標原価率
7
7
  ```
8
8
 
9
- あと、`Dim No As Long`ですか、`No`は予約語なので、変数名に使うのは避けたほうがいいでしょう。
9
+ あと、`Dim No As Long`ですか、`No`は予約語なので、変数名に使うのは避けたほうがいいでしょう。
10
+
11
+ ---
12
+ メインフォームは`T_予算テーブル`との連結フォームだと思いますので、わざわざ別に`T_予算テーブル`を開くのは無駄だと思います。
13
+
14
+ フィールド名は変更する必要がないので、`T_予算明細テーブル.目標原価率 as 目標原価率`などとする必要はないです。下記でOKです。こうすれば、タイプミスにもすぐ気が付くでしょう。
15
+
16
+ ```vba
17
+ SQL = "INSERT INTO T_予算明細テーブル (予算No,タスクID,請求書項目ID,予算額,目標原価率) "
18
+ SQL = SQL & "SELECT " & No & " as 予算No, タスクID, 請求書項目ID, 予算額, 目標原価率"
19
+ SQL = SQL & "FROM T_予算明細テーブル "
20
+ SQL = SQL & "WHERE T_予算明細テーブル.予算No=" & Me.予算No & ";"
21
+ ```
22
+ あと、現在のフォームのデータを複写するので、WHERE条件は、フォームの予算No(Me.予算No)にする必要があります。