Private Sub TreeView_Click()
burda nodselected diye bir comctl nesnesi yaratıyoruz
Dim nodSelected As MSComctlLib.Node
burda db diye dao database ve rst diye bir dao recorseti yaratıyoruz
Dim db As DAO.Database, rst As DAO.Recordset
burda db nin bu veritabanı olduğunu söylüyoruz
Set db = CurrentDb
burda strsearch diye string bir alan belirliyoruz
Dim strSearch As String
burda rst dediğimiz dao recrsetimizi set ederk ona tablomuzu açtırıyoruz
Set rst = db.OpenRecordset("SELECT * FROM treeview_tablosu ")
burda da nodselected nesnemizi set ederek onun trreeview imizin seçili olan itemi diyoruz
Set nodSelected = Me.TreeView.SelectedItem
burda strsearch stingimize treeviewde seçili olan nodun text ini veriyoruz alında key inide alabilirdik ancak bir işimize yaramazdı çünkü aynısından bir sürü var hangisini bulacaktı
strSearch = nodSelected.Text
burda rst nesnemizi with ile bir başlık altında topluyoruz
With rst
burda ilk kayda git diyoruz
.MoveFirst
burda etiket alanında strsearch e verdiğimiz seçilinodun ismini ara diyoruz
.FindFirst "[etiket] Like '*" & strSearch & "*'"
eğer bulursan
If Not rst.NoMatch Then
tür alanına bak dolu ise
If !tür > "" Then
yine tür alanına bak eğer form ise formu aç değilse zaten rapordur raporu aç ama hangi raporu yada formu işte onuda (ad) alanına yazdığımız formun yada raporun gerçek ismine göre aç
If !tür = "Form" Then
DoCmd.OpenForm !ad
Else
DoCmd.OpenReport !ad
End If
dolu değilse kodu durdur
Else
Exit Sub
End If
bulamazsan kodu durdur diyoruz
Else
Exit Sub
End If
End With
rst.Close
End Sub
buda kodun temiz hali
Kod:
Private Sub TreeView_Click()
Dim nodSelected As MSComctlLib.Node
Dim db As DAO.Database, rst As DAO.Recordset
Set db = CurrentDb
Dim strSearch As String
Set rst = db.OpenRecordset("SELECT * FROM treeview_tablosu ")
Set nodSelected = Me.TreeView.SelectedItem
strSearch = nodSelected.Text
With rst
.MoveFirst
.FindFirst "[etiket] Like '*" & strSearch & "*'"
If Not rst.NoMatch Then
If !tür > "" Then
If !tür = "Form" Then
DoCmd.OpenForm !ad
Else
DoCmd.OpenReport !ad
End If
Else
Exit Sub
End If
Else
Exit Sub
End If
End With
rst.Close
End Sub