Pengantar.
Dalam Sesi Tutorial Kontrol TreeView ini, kita akan menggunakan dua Subformulir bersama dengan kontrol TreeView pada formulir utama frmTreeViewtab . Kami telah mengimpor kontrol ImageList dengan Gambar yang dimuat sebelumnya dari Proyek demo kami sebelumnya.Kami akan menggunakan lvCategory yang sama dan lvProduk Tabel yang telah kami gunakan untuk Proyek kami sebelumnya.
lvCategory Kunci Utama Table Tabel nilai bidang (CID) dan bidang Deskripsi (Kategori) adalah Kunci metode TreeView Nodes Add() dan Teks nilai parameter, masing-masing.
The lvProducts Tabel memiliki informasi rinci tentang setiap produk seperti kode produk, deskripsi stok-unit-kuantitas, dan daftar harga.
Selain itu, lvProducts tabel memiliki ParentID bidang yang diperbarui dengan nilai Kode Kategori (CID). Semua item produk yang termasuk dalam kategori tertentu diperbarui dengan nilai bidang CID (ID Kategori) pada bidang ID Induk. Dengan cara ini kedua Tabel memiliki hubungan master-anak.
Catatan Produk memiliki dua subformulir di Halaman Kontrol Tab. Halaman pertama memiliki data View subformulir dan Halaman kedua memiliki Edit subformulir. Halaman kontrol tab pertama menampilkan semua catatan Produk yang termasuk dalam kategori tertentu dari Kontrol TreeView. Catatan subformulir pertama ditampilkan untuk dilihat dan untuk memilih catatan tertentu untuk diedit pada subformulir kedua.
Arus rekam atau dipilih pengguna record pada sub-formulir pertama tersedia untuk diedit pada sub-formulir kedua, pada halaman kedua kontrol Tab. Bidang Kunci yang disorot dengan warna abu-abu dikunci dan tidak dapat diedit.
TreeView dengan Tampilan Desain Subformulir.
Tampilan Desain dari formulir frmTreeViewTab diberikan di bawah ini:
Dua kotak teks tidak terikat pertama pada formulir utama diperbarui saat pengguna memilih item Kategori dari kontrol TreeView.
Kotak teks tak terikat ketiga (nama p_ID) awalnya diperbarui dengan nilai ID unik (PID) catatan produk pertama jika tidak, nilai catatan yang dipilih pengguna akan diperbarui. Catatan produk yang dipilih pada subformulir pertama tersedia di subformulir kedua untuk dimodifikasi.
Tautan ke Sesi Tutorial Sebelumnya.
Tautan Sesi Tutorial sebelumnya diberikan di bawah ini untuk referensi siap pakai:
- Tutorial Kontrol Microsoft TreeView
- Membuat Menu Akses dengan Kontrol TreeView
- Menetapkan Gambar ke Kontrol TreeView
- Menetapkan Gambar ke TreeView Control-2
- TreeView Control Tanda Centang Tambah Hapus Node
- Menu Akses Drop-Down TreeView ImageCombo
- Atur ulang Node TreeView dengan Seret dan Lepas
- Kontrol ListView dengan MS-Access TreeView
- Acara Seret Seret Kontrol ListView
Id Kucing kotak teks tidak terikat adalah [Bidang Master Tautan] Nilai properti dari subformulir pertama.
Kode Produk pada kotak teks ketiga yang tidak terikat (p_ID ) ditautkan ke [Link Master Fields] nilai properti dari subformulir kedua pada Tampilan Halaman Tab.
p_ID nilai kotak teks tidak terikat diperbarui saat konten subformulir pertama diperbarui atau saat item dipilih oleh pengguna.
Tampilan Layar Normal.
Tampilan normal frmTreeViewTab formulir diberikan di bawah ini:
Bidang Kunci pada catatan Produk pada subformulir kedua, dengan warna depan abu-abu, dikunci dan tidak diizinkan untuk mengubah konten.
Formulir frmTreeViewTab Kode VBA Modul Kelas:
Option Compare Database Option Explicit Dim tv As MSComctlLib.TreeView Dim imgList As MSComctlLib.ImageList Const Prfx As String = "X" Private Sub Form_Load() Dim db As DAO.Database Dim tbldef As TableDef 'Initialize TreeView Nodes Set tv = Me.TreeView0.Object tv.Nodes.Clear 'Initialixe ImageList Object Set imgList = Me.ImageList3.Object 'Modify TreeView Font Properties With tv .Font.Size = 9 .Font.Name = "Verdana" .ImageList = imgList 'assign preloaded imagelist control End With LoadTreeView 'Create TreeView Nodes End Sub Private Sub LoadTreeView() Dim Nod As MSComctlLib.Node Dim strCategory As String Dim strCatKey As String Dim strProduct As String Dim strPKey As String Dim strBelongsTo As String Dim strSQL As String Dim db As DAO.Database Dim rst As DAO.Recordset 'Initialize treeview nodes tv.Nodes.Clear strSQL = "SELECT lvCategory.CID, lvCategory.Category, " strSQL = strSQL & "lvcategory.BelongsTo FROM lvCategory ORDER BY lvCategory.CID;" Set db = CurrentDb Set rst = db.OpenRecordset(strSQL, dbOpenSnapshot) ' Populate all Records as Rootlevel Nodes Do While Not rst.BOF And Not rst.EOF If rst.AbsolutePosition = 1 Then Me![CatID] = rst![CID] End If strCatKey = Prfx & CStr(rst!CID) strCategory = rst!Category Set Nod = tv.Nodes.Add(, , strCatKey, strCategory, 1, 2) Nod.Tag = rst!CID rst.MoveNext Loop 'In the second pass of the the same set of records 'Move Child Nodes under their Parent Nodes rst.MoveFirst Do While Not rst.BOF And Not rst.EOF strBelongsTo = Nz(rst!BelongsTo, "") If Len(strBelongsTo) > 0 Then strCatKey = Prfx & CStr(rst!CID) strBelongsTo = Prfx & strBelongsTo strCategory = rst!Category Set tv.Nodes.Item(strCatKey).Parent = tv.Nodes.Item(strBelongsTo) End If rst.MoveNext Loop rst.Close TreeView0_NodeClick tv.Nodes.Item(1) End Sub Private Sub TreeView0_NodeClick(ByVal Node As Object) Dim Cat_ID As String 'Initialize hidden unbound textbox 'Link Master Field' values Cat_ID = Node.Tag Me!CatID = Cat_ID Me![xCategory] = Node.Text End Sub Private Sub cmdExit_Click() DoCmd.Close End Sub
Karena penggunaan TreeView Control dan ImageList Control dan fungsinya semuanya dijelaskan secara rinci di sesi sebelumnya, Anda hanya akan menemukan beberapa subrutin VBA sebelumnya yang muncul di Modul formulir di atas.
Kami telah merancang beberapa Layar dengan MS-Access TreeView, ListView, ImageList, dan ImageCombo Control sejauh ini dan saya harap Anda akan menemukannya sebagai titik referensi yang baik untuk desain Antarmuka Proyek Anda sendiri.
Masalah Versi MS-Office untuk Kontrol TreeView.
Jika Anda mengalami masalah dalam menjalankan Demo Database di versi Microsoft Access Anda, maka Anda dapat merujuk ke tautan berikut untuk beberapa tindakan korektif, yang mungkin berguna untuk menyelesaikan masalah Anda:
Sebelumnya, Kontrol di atas tidak berjalan di bawah Sistem 64 Bit. Namun, pada bulan September 2017 Microsoft telah mengeluarkan pembaruan Perpustakaan MSCOMCTL.OCX dan ekstrak Dokumen Microsoft berikut diberikan di bawah ini untuk informasi Anda:
Klik gambar Dokumen di atas untuk teks lengkap Pembaruan 2017:Dokumen 1707. Tautan berikut menyarankan beberapa petunjuk bermanfaat.- SOLVED MSCOMCTL.OCX UNDUH DAFTAR 64 BIT WINDOWS
Dengan menggunakan objek kontrol TreeView di atas, kita dapat membangun Antarmuka Pengguna yang terlihat lebih baik dan berkinerja lebih baik untuk Proyek baru kita.
Unduh Basis Data Demo.