タイトル : DAOによるOpenDatabaseについて 投稿日 : 2011/06/01(Wed) 10:48 投稿者 : しまちゃん
OS:WindowsXP SP3 VB6.0でAccess2003のデータをDAOで開いてデータを表示するプログラムです。 Dim db As DAO.Database Dim rsID As DAO.Recordset Dim rsTM As DAO.Recordset '----- フォームのLoad ----- Private Sub Form_Load() Set db = DBEngine.Workspaces(0).OpenDatabase("D:\Data\ID.mdb") Set rsID = db.OpenRecordset("ID", dbOpenDynaset) ' db.Close: Set db = Nothing Set db = DBEngine.Workspaces(0).OpenDatabase("D:\Data\master.mdb") Set rsTM = db.OpenRecordset("TM", dbOpenDynaset) txtID = rsID![No] DataDisp End Sub Private Sub cmdNext_Click() rsTM.MoveNext DataDisp End Sub Private Sub DataDisp() txtName = rsTM![名前] End Sub 最初、Database型のオブジェクト db へ、ID.mdb をセットし ID をテーブルを開いて No を表示しています。 次に、同じ db へ別の、master.mdb をセットし TM をテーブルを開いて 名前 を表示しています。 同じ db で、別のデータベースを開いてもどちらのテーブルも参照できるのはなぜでしょうか? コメント行にしてますが、db.Close: Set db = Nothing を有効にした後、master.mdb をセットし TM をテーブルを開くと ID テーブルは参照できなくなります。 |