ACCESS クエリからテーブルへのコピペ
Pzrivate Sub cmb品番_AfterUpdate()
Dim Rst As DAO.Recordset
Dim z As String
z = DLookup("コード", "Q_コンポーネント", "専用コード='" & Me.tx専用コード & "'")
Set Rst = CurrentDb.OpenRecordset("W_部品一覧", dbOpenTable)
With Rst
.AddNew
.Fields("区分") = DLookup("部門", "Q_マスタ", "専用コード='" & z & "'")
.Fields("分類1") = DLookup("分類1", "Q_マスタ", "専用コード='" & z & "'")
.Fields("分類2") = DLookup("分類2", "Q_マスタ", "専用コード='" & z & "'")
.Fields("品番") = DLookup("材料", "Q_マスタ", "専用コード='" & z & "'")
.Fields("品名") = DLookup("品名", "Q_マスタ", "専用コード='" & z & "'")
.Fields("コード") = DLookup("コード", "Q_マスタ", "専用コード='" & z & "'")
.Fields("品種") = DLookup("品種", "Q_マスタ", "専用コード='" & z & "'")
.Fields("重量") = DLookup("重量", "Q_マスタ", "専用コード='" & z & "'")
.Update
End With
Rst.Close
Set Rst = Nothing
End Sub
------------------------------------------------------------
上記のコードで「Q_マスタ」クエリの内容を「W_部品一覧」テーブルにコピペしています。
※「W_部品一覧」テーブルはサブフォームです。
「Q_マスタ」クエリの専用コードフィールドには「z」と一致する値が複数あるのですが、上記コードではそのクエリ内の一番上の1レコード分しかコピペできていません。
「z」の値が一致している全てのフィールドを「Q_マスタ」→「W_部品一覧」にコピペするようにしたいです。
For~NextやDo While~Loopを使って処理回数を増やしてみたのですが、同じレコードの内容が繰り返しコピペされてしまいました。
どうすれば複数のレコードをコピペできるかご教示頂けますようお願いします。