access2000を使用しています。
以下の通りプログラムがあります。
Sub makuro()
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
処理
rs1.MoveNext
Loop
Set db = Nothing
Set rs1 = Nothing
Set rs2 = Nothing
End Sub
今これを、テーブルA(テーブル)ではなくクエリを入れることは可能でしょうか?
もし可能ならどのように、Set rs1 = db.OpenRecordset("テーブルA")を
どのように書けばよろしいのでしょうか?
よろしくお願いします。
■ OpenRecordsetメソッド : DAOリファレンス - DAO入門講座
http://www.accessclub.jp/dao/OpenRecordset.html
Set recordset = object.OpenRecordset {(source), type, options, lockedits}
OpenRecordset メソッドの第1引数(source)には、
のいずれかを指定することができます。
今これを、テーブルA(テーブル)ではなくクエリを入れることは可能でしょうか?
「クエリ」が「SQL文」のことを意味しているのでしたら、
Set rs1 = db.OpenRecordset("SELECT * FROM テーブルA")
のように記述するだけです。
Sub makuro() Dim db As DAO.Database Dim rs1 As DAO.Recordset Dim rs2 As DAO.Recordset Set db = CurrentDb Set rs1 = db.OpenRecordset("SELECT * FROM テーブルA") Set rs2 = db.OpenRecordset("テーブルB") Do Until rs1.EOF Debug.Print rs1(0) ' テーブルAの1つめの項目の値を表示 rs1.MoveNext Loop Set db = Nothing Set rs1 = Nothing Set rs2 = Nothing End Sub