tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル 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 テーブルは参照できなくなります。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。