|
もう一つ
Dim db(1) As DAO.Database
Dim rs(1) As DAO.Recordset
Dim i As Integer
Dim strSQL(3) As String
'委託者テーブルをグループ化して委託者コードを取得
strSQL(0) = "SELECT 委託者コード FROM 委託者テーブル GROUP BY 委託者コード"
'strSQL(0)をサブクエリ化して委託者コード/店番リストクエリを作成
strSQL(1) = "SELECT Q1.委託者コード, 店舗テーブル.店番" & _
" FROM (" & strSQL(0) & ") AS Q1, 店舗テーブル" & _
" GROUP BY Q1.委託者コード, 店舗テーブル.店番" & _
" ORDER BY Q1.委託者コード, 店舗テーブル.店番;"
'既存テーブル削除SQL
strSQL(2) = "DROP TABLE 新しいテーブル;"
'新規テーブル作成SQL
strSQL(3) = "CREATE TABLE 新しいテーブル (委託者コード LONG, 店番 TEXT(50), 金額 MONEY);"
Set db(1) = CurrentDb
On Error GoTo el
db(1).Execute strSQL(2)
el:
db(1).Execute strSQL(3)
Set rs(1) = db(1).OpenRecordset("新しいテーブル")
Set db(0) = CurrentDb
Set rs(0) = db(0).OpenRecordset(strSQL(1))
rs(0).MoveLast
rs(0).MoveFirst
For i = 1 To rs(0).RecordCount
rs(1).AddNew
rs(1)![委託者コード] = rs(0)![委託者コード]
rs(1)![店番] = rs(0)![店番]
rs(1)![金額] = CCur(Nz(DLookup("金額", "委託者テーブル", _
"[委託者コード]=" & rs(0)![委託者コード] & _
"And [店番]='" & rs(0)![店番] & "'"), 0))
rs(1).Update
rs(0).MoveNext
Next i
rs(0).Close: Set rs(0) = Nothing
db(0).Close: Set db(0) = Nothing
rs(1).Close: Set rs(1) = Nothing
db(1).Close: Set db(1) = Nothing
|
|