人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

aceess2000の処理で質問なのですが、今「テーブルA」というものがあるとします。
これを一件一件読んで処理を行おうとしています。
処理概要ですが、以下の通りです。

1.「テーブルA」の1件目を読む
2.読み込んだテーブルの「フィールド1」を「テーブルB」に出力する。
3.読み込んだテーブルの「フィールド2」と「フィールド3」を足した結果を「テーブルBに出力する」。
4.1に戻り、ファイルが終わるまで1?4のループ処理

テーブルAの一件に対して、テーブルBが二件出来る感じです。
DAOを使うと思うのですが、初心者のためどうしたらいいのか分かりません。
ソースを書いていただくと、次から雛形として使えますので、
面倒ですが実際の処理のソースの記述でお願いします。
よろしくお願いします。


●質問者: digttahic
●カテゴリ:コンピュータ
✍キーワード:ソース ファイル フィールド ループ 初心者
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● SALINGER
●60ポイント ベストアンサー

DAOだとこんな感じですかね。

テーブルBにインデックスがついてたりすると挿入するフィールドが違ってくるけど

だいたいやってることはわかると思います。


Option Compare Database
Option Explicit

Sub Macro()
 Dim db As DAO.Database
 Dim rs1 As DAO.Recordset
 Dim rs2 As DAO.Recordset
 
 Set db = CurrentDb
 Set rs1 = db.OpenRecordset("テーブルA")
 Set rs2 = db.OpenRecordset("テーブルB")
 
 Do Until rs1.EOF
 rs2.AddNew
 rs2.Fields(0) = rs1!フィールド1
 rs2.Update
 
 rs2.AddNew
 rs2.Fields(0) = rs1!フィールド2 & rs1!フィールド3
 rs2.Update
 rs1.MoveNext
 Loop
 
 Set db = Nothing
 Set rs1 = Nothing
 Set rs2 = Nothing
End Sub
◎質問者からの返答

SALINGERさんありがとうございます(^o^)

お書きになったソースで質問があるのですが、

テーブルBに「フィールド1」と「フィールド2」と二つあって、

「フィールド1」に書き込みたい時は

rs2.Fields(0) = rs1!フィールド1

になって

「フィールド2」に書き込みたい時は

rs2.Fields(1) = rs1!フィールド1

になるということでしょうか?

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ