前回作ったクエリのデータを、今度はテーブルで受けます。
受けるテーブルを作ります。
このテーブルにクエリの集計結果をレコードとして入れていきます。
VBAを実行するための簡単なフォームを作ります。
作成タブのフォームデザインを選択し、コマンドボタンを一つ配置するだけです。
このコマンドボタンのプロパティにADOでコードを入力します。
Private Sub コマンド0_Click()
Dim cnn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim cnn1 As ADODB.Connection
Dim rs1 As ADODB.Recordset
Set cnn = CurrentProject.Connection
Set rs = New ADODB.Recordset
Set cnn1 = CurrentProject.Connection
Set rs1 = New ADODB.Recordset
rs.Open “商品”, cnn, adOpenKeyset, adLockOptimistic
rs1.Open “売上集計抽出”, cnn1, adOpenKeyset, adLockOptimistic
rs.MoveFirst
Do Until rs.EOF
rs1.AddNew
rs1!商品CD = rs!商品CD
rs1!商品名 = DLookup(“商品名”, “売上集計”, “商品CD='” & rs!商品CD & “‘”)
rs1!数量 = DLookup(“数量の合計”, “売上集計”, “商品CD='” & rs!商品CD & “‘”)
rs1!単価 = DLookup(“単価”, “売上集計”, “商品CD='” & rs!商品CD & “‘”)
rs1!金額 = DLookup(“売上金額”, “売上集計”, “商品CD='” & rs!商品CD & “‘”)
rs1.Update
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
cnn.Close
Set cnn = Nothing
rs1.Close
Set rs1 = Nothing
cnn1.Close
Set cnn1 = Nothing
End Sub
これでコマンドボタンを押すとクエリのデータがテーブルに移ります。
実行結果です。
ADOを使うとこのようなこともできてしまいます。
これは簡単な例ですが、今後深堀していきます。
========================================
今日は娘の小学校の卒業式。昨日は娘から「お父さんへ」という手紙をもらいました。
知らない間に子供は立派に育っているんだなあとしみじみ。
子供の成長も早いけど、おっさんの歳を取るのも早いです。
本日も最後までお読み頂きありがとうございます。