Mengakses Baris dalam Recordset Hierarkis (Contoh)

Contoh berikut menunjukkan langkah-langkah yang diperlukan untuk mengakses baris dalam Recordset hierarkis:

  1. Objek recordset dari penulis dan tabel titleauthor terkait dengan ID penulis.

  2. Perulangan luar menampilkan nama depan dan belakang, status, dan identifikasi setiap penulis.

  3. Recordset yang ditambahkan untuk setiap baris diambil dari koleksi Bidang dan ditetapkan ke rstTitleAuthor.

  4. Perulangan dalam menampilkan empat bidang dari setiap baris dalam Recordset yang ditambahkan.

Properti StayInSync diatur ke false untuk tujuan ilustrasi, sehingga Anda dapat melihat bab berubah secara eksplisit di setiap iterasi perulangan luar. Untuk membuat contoh kode lebih efisien, Anda dapat memindahkan penugasan di langkah 3 sebelum baris pertama di langkah 2, sehingga penugasan dilakukan hanya sekali. Kemudian atur properti StayInSync ke true, sehingga rstTitleAuthor akan secara implisit dan otomatis berubah ke bab yang sesuai setiap kali rst berpindah ke baris baru.

Contoh

Sub datashape()
   Dim cnn As New ADODB.Connection
   Dim rst As New ADODB.Recordset
   Dim rstTitleAuthor As New ADODB.Recordset

   cnn.Provider = "MSDataShape"
   cnn.Open    "Data Provider=MSDASQL;" & _
               "Data Source=SRV;Integrated Security=SSPI;Database=Pubs"
' STEP 1
   rst.StayInSync = FALSE
   rst.Open    "SHAPE  {select * from authors} "  & _
               "APPEND ({select * from titleauthor} " & _
               "RELATE au_id TO au_id) AS chapTitleAuthor", _
               cnn
' STEP 2
   While Not rst.EOF
      Debug.Print    rst("au_fname"), rst("au_lname"), _
                     rst("state"), rst("au_id")
' STEP 3
      Set rstTitleAuthor = rst("chapTitleAuthor").Value
' STEP 4
      While Not rstTitleAuthor.EOF
         Debug.Print rstTitleAuthor(0), rstTitleAuthor(1), _
                     rstTitleAuthor(2), rstTitleAuthor(3)
         rstTitleAuthor.MoveNext
      Wend
      rst.MoveNext
   Wend
End Sub

Lihat juga

Gambaran Umum Pembentukan Data Kumpulan Bidang Objek Bidang(ADO)Bentuk FormalLayanan Pembentukan Data Microsoft Tata Bahasa untuk OLE DB (Penyedia Layanan ADO)Objek Recordset (ADO)Penyedia yang Diperlukan untuk Bentuk Pembentukan DataPerintah Bentuk Klausul TAMBAHAN Perintah Bentuk UmumKlausa KOMPUTASIVisual Dasar untuk fungsi Aplikasi