Treeview trong access

Ðề: Treeview trong access

[flash]http://www.webng.com/soicon/bai1.swf[/flash]
 
Ðề: Treeview trong access

Để xài treeview, bạn phải chắc chắn rằng trong reference của bạn đã có sẵn ActiveX control Microsoft TreeView control, version 6.0 hoặc hơn.

Bạn add control activeX này vào form. Sau đó bạn sẽ viết một thủ tục để load dữ liệu vào treeview. VD:

Private Sub LoadTreeView()
With TreeView0
.Nodes.Add , , "K1", "Nut 1"
.Nodes.Add "K1", tvwChild, "K1a", "Nut con 1a"
.Nodes.Add "K1", tvwChild, "K1b", "Nut con 1b"
.Nodes.Add , , "K2", "Nut 2"
.Nodes.Add "K2", tvwChild, "K2a", "Nut con 2a"
.Nodes.Add "K2", tvwChild, "K2b", "Nut con 2b"
.Nodes.Add "K2", tvwChild, "K2c", "Nut con 2c"
.Nodes.Add "K2", tvwChild, "K2d", "Nut con 2d"
End With
End Sub

Trong đó hai node K1 và K2 là node cha, các node khác có chứa tvwChild là node con ứng với node cha đã xác định ở hto6ng số thứ 1.
"K1a", "K1b", ... là key của node, dùng nó để sau này ta truy cập một node qua key này.
"Nut con 1a", "Nut con 1b", ... là nội dung thể hiện của node trên treeview.

Thông thường, nút con cuối cùng của của một nhánh khi click vào sẽ làm một cái gì đó. Để biết đó có phải là node cuối của nhánh không, ta dùng thuộc tính Children. Nếu nó = 0 thì đây là node cuối của nhánh.

Ví dụ:
Private Sub TreeView0_NodeClick(ByVal Node As Object)
If Node.Children = 0 Then
MsgBox "Ban da chon node " & Node.Text
End If
End Sub

Trên chỉ là những ví dụ cơ bản để hiểu khái quát về cáchdu2ng treeview, cao cấp hơn thì từ từ. :cheers1:
 
Ðề: Treeview trong access

Adds a Node object to a Treeview control's Nodes collection.

Syntax

object.Add(relative, relationship, key, text, image, selectedimage)

The Add method syntax has these parts:

object
Required. An object expression that evaluates to an object in the Applies To list.
relative
Optional. The index number or key of a pre-existing Node object. The relationship between the new node and this pre-existing node is found in the next argument, relationship.
relationship
Optional. Specifies the relative placement of the Node object, as described in Settings.
key
Optional. A unique string that can be used to retrieve the Node with the Item method.
text
Required. The string that appears in the Node.
image
Optional. The index of an image in an associated ImageList control.
selectedimage
Optional. The index of an image in an associated ImageList control that is shown when the Node is selected.

Settings

The settings for relationship are:

(Constant - Value):
tvwFirst - 0
First. The Node is placed before all other nodes at the same level of the node named in relative.
tvwLast - 1
Last. The Node is placed after all other nodes at the same level of the node named in relative. Any Node added subsequently may be placed after one added as Last.
tvwNext - 2
(Default) Next. The Node is placed after the node named in relative.
tvwPrevious - 3
Previous. The Node is placed before the node named in relative.
tvwChild - 4
Child. The Node becomes a child node of the node named in relative.
Note If no Node object is named in relative, the new node is placed in the last position of the top node hierarchy.

Remarks

The Nodes collection is a 1-based collection.
As a Node object is added it is assigned an index number, which is stored in the Node object's Index property. This value of the newest member is the value of the Node collection's Count property.
Because the Add method returns a reference to the newly created Node object, it is most convenient to set properties of the new Node using this reference. The following example adds several Node objects with identical properties:

Dim nodX As Node ' Declare the object variable.
Dim I as Integer ' Declare a counter variable.
For I = 1 to 4
Set nodX = TreeView1.Nodes.Add(,,,"Node " & Cstr(i))
' Use the reference to set other properties, such as Enabled.
nodX.Enabled = True
' Set image property to image 3 in an associated ImageList.
nodX.ExpandedImage = 3
Next I
 
Ðề: Treeview trong access

[flash]http://www.webng.com/soicon/bai2nho.swf[/flash]
 
Ðề: Treeview trong access

Đã cập nhật thêm vào flash ở trên. Nhấn vào các flash ở bài trước để xem.

Có lẽ phần thao tác nhiêu đó là đã đủ để sử dụng treeview rồi.
1 - Tạo button "TreeView Control" trong Toolbox.
2 - Khai báo các node.
3,4 - Gán 1 thuộc tính (property) bằng câu lệnh (code).
5 - Gán thuộc tính lúc thiết kế form.
6 - Tạo 1 hành động khi xảy ra 1 sự kiện (event).
7 - Tạo ImagesList Control.
8 - Sử dung ImagesList Control trong Treeview Control.
 
Ðề: Treeview trong access

Bài tập nhỏ:
Tạo 1 form Sổ Cái Tài Khoản có các tính năng như hình dưới.
[flash]http://www.webng.com/soicon/bai9.swf[/flash]
Kèm theo: Ban cần 1 số dữ liệu nháp để làm bài tập:
- 1 số icon dùng để insert vào imageslist. Bạn có thể tìm trên máy của mình các file ảnh có đuôi .bmp hoặc .ico . Chú ý chỉ đưa vào làm icon cho treeview những hình ảnh có kích cỡ nhỏ hơn 24x24 mà thôi.
Down 1 số ảnh ico mẫu tại đây: www.webng.com/soicon/imagelist.rar

- Data mẫu down tại đây: www.webng.com/soicon/data.rar
Trong đó gồm 1 table hệ thống TK font unicode, 1 table HTTK font VNI và 1 table Nhật ký chung với số liệu mẫu dùng trong bài tập này.


-----------
Bài giải: Tuần sau sẽ có.
 
Sửa lần cuối:
Ðề: Treeview trong access

Anh muontennguoi ơi làm ơn gửi cho 1 file .mdb có treeview để em tham khảo được không?
 
Sửa lần cuối bởi điều hành viên:
Ðề: Treeview trong access

Theo bài hướng dẫn của bác phatnq2002 và bác muontennguoi, em đã thực hiện được việc tạo treeview. Xin các bác hướng dẫn thêm về việc lọc treeview theo dữ liệu của textbox hoặc combobox được không ạ
Em ví dụ thế này :
ta co 1 treeview trong 1 form chứa danh sách khoa của trường, trong khoa có nhiều lớp, trong lớp có nhiều học sinh. Trên form này có 1 textbox hoặc 1 combobox danh sách khoa
Khi ta gõ vào textbox hoặc chọn trên combobox 1 khoa nào đó, thì treeview sẽ tự động lọc và thể hiện khoa đó (cùng các lớp, các học sinh của khoa đó) lên treeview thôi.
Xin các bác hướng dẫn thêm ạ
 
Ðề: Treeview trong access

Theo bài hướng dẫn của bác phatnq2002 và bác muontennguoi, em đã thực hiện được việc tạo treeview. Xin các bác hướng dẫn thêm về việc lọc treeview theo dữ liệu của textbox hoặc combobox được không ạ
Em ví dụ thế này :
ta co 1 treeview trong 1 form chứa danh sách khoa của trường, trong khoa có nhiều lớp, trong lớp có nhiều học sinh. Trên form này có 1 textbox hoặc 1 combobox danh sách khoa
Khi ta gõ vào textbox hoặc chọn trên combobox 1 khoa nào đó, thì treeview sẽ tự động lọc và thể hiện khoa đó (cùng các lớp, các học sinh của khoa đó) lên treeview thôi.
Xin các bác hướng dẫn thêm ạ

Ăck. Thế cái ví dụ mà bạn gửi ở trên bạn cũng chưa xem?

Đầu tiên chỉ khai node cho 1 khoa mặc định theo giá trị mặc định ban đầu của combobox thôi.
Chẳng hạn lấy "Select * from ds_hocsinh where maKhoa = '" & comboKhoa.value & "'"
Rồi duyệt qua recordset để khai node.
Khi comboKhoa thay đổi thì xoá hết các node trong treeview đi, select lại và khai lại node.

Xoá node: treeControlName.Nodes.Clear
 
Ðề: Treeview trong access

Ăck. Thế cái ví dụ mà bạn gửi ở trên bạn cũng chưa xem?

Đầu tiên chỉ khai node cho 1 khoa mặc định theo giá trị mặc định ban đầu của combobox thôi.
Chẳng hạn lấy "Select * from ds_hocsinh where maKhoa = '" & comboKhoa.value & "'"
Rồi duyệt qua recordset để khai node.
Khi comboKhoa thay đổi thì xoá hết các node trong treeview đi, select lại và khai lại node.

Xoá node: treeControlName.Nodes.Clear

Quả thật em có xem ví dụ trên, nhưng quá phức tạp, e chưa "ngộ" ra được, vì e cũng mới tiếp xúc với treeview thôi. Cảm ơn bác đã chỉ giáo, em ngâm cứu theo ý kiến của bác, có gì e chưa hiểu e hỏi bác tiếp bác nhé. Thks
 
Ðề: Treeview trong access

Bài tập nhỏ:
- Data mẫu down tại đây: www.webngcom/soicon/data.rar
Trong đó gồm 1 table hệ thống TK font unicode, 1 table HTTK font VNI và 1 table Nhật ký chung với số liệu mẫu dùng trong bài tập này.

Link trên không vào được.
mình tạo treview nhưng không hổ trợ unicode. mình đã chọn font unicode cho Treeview từ TreeCtl object -> Properties -> Font.
Dữ liệu nhận từ form hoặc từ table nhưng đều không được.
Bạn giúp mình với.

-----------

Muontennguoi:

Sorry mọi người. Tôi viết thiếu dấu chấm: www.webng.com/soicon/data.rar
 
Sửa lần cuối bởi điều hành viên:
Sửa lần cuối:
Ðề: Treeview trong access

Chào Bạn,
Bạn vào link sau tha hồ mà tham khảo, có cả file mdb minh hoạ thật chi tiết:
http://mytreeviewblog.blogspot.com/

+ Nếu Bạn nào gặp khó khăn khi tải về các file minh hoạ: xin tải về từ link sau:
http://www.mediafire.com/download.php?kyoifymzo2l


Nếu khó khăn trong tiếng Anh, bạn hãy phối hợp với trình dịch tự động của Google:
http://www.translate.google.com
 
Ðề: Treeview trong access

Anh Chị nào đã có bài giải của Bài tập nhỏ "Lập sổ cái tài khoản" chia xẻ mình tham khảo học tập với. Rất mong sự hỗ trợ của các bạn! Cảm ơn nhiều.
 
Ðề: Treeview trong access

Mình mới tham gia diễn đàn nên còn bỡ ngỡ, đang trong giai đoạn tìm hiểu nên chưa có bài viết để chia sẽ. Hy vọng ngày gần nhất mình sẽ là thành viên tích cực. Mong các Anh chị thông cảm!
Hiện mình cũng đang tập lập trình trên Access2007, đang rất bí về TreeView và rất ngưỡng mộ bài tập nhỏ "Lập sổ cái tài khoản" Xin nhờ các Anh chị chia sẻ hướng dẫn chi tiết chi. Xin cảm ơn và chờ sự trợ giúp!
 
Hướng dẫn làm Tạo 1 form Sổ Cái Tài Khoản như của bạn muontennguoi.
Bạn có thể cho mình File đó được không?
Chân thành cảm ơn bạn nhiều
 

CẨM NANG KẾ TOÁN TRƯỞNG


Liên hệ: 090.6969.247

KÊNH YOUTUBE DKT

Cách làm file Excel quản lý lãi vay

Đăng ký kênh nhé cả nhà

SÁCH QUYẾT TOÁN THUẾ


Liên hệ: 090.6969.247

Top