Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5010 / 9994 ←次へ | 前へ→

【8219】Re:テーブルの項目について
発言  クロ  - 06/7/12(水) 11:04 -

引用なし
パスワード
   もう一つ

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

258 hits

【8208】テーブルの項目について たけし 06/7/11(火) 15:15 質問
【8209】Re:テーブルの項目について クロ 06/7/11(火) 16:32 回答
【8210】Re:テーブルの項目について たけし 06/7/11(火) 17:20 質問
【8211】Re:テーブルの項目について クロ 06/7/11(火) 17:33 回答
【8212】Re:テーブルの項目について クロ 06/7/11(火) 17:59 回答
【8215】Re:テーブルの項目について たけし 06/7/12(水) 9:49 質問
【8218】Re:テーブルの項目について クロ 06/7/12(水) 10:20 回答
【8219】Re:テーブルの項目について クロ 06/7/12(水) 11:04 発言
【8220】Re:テーブルの項目について たけし 06/7/12(水) 11:16 お礼

5010 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078227
(SS)C-BOARD v3.8 is Free