öncelikle tablonuza iki tane alan ekleyeceksiniz birincisi (ad) ki buna form yada raporlarımızın gerçek ismini yazacağız ki biz bu isime göre formu açtıracağız ikincisi ise (tür) buda bize kodda rapormu formmu ona göre işlem yapmamızı sağlayacak aslında bir alan daha ekleyip bunun üstemi yoksa anapage üzerindeki alt forma mı açılacağını da yapabiliriz ancak bize şimdilik sadece açma sorulduğu için diğer arkadaşalrın affına sığınarak benim naçizane örneğimi ekliyorum
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
TREEVIEW.rar
(Dosya Boyutu: 223,78 KB | İndirme Sayısı: 48)
meşhur çin atasözü "ACCESS İLE YAPABİLECEKLERİNİZ HAYAL EDEBİLECEKLERİNİZ İLE SINIRLIDIR" siz ne kadar hayal edebiliyorsunuz