Bu treeview 2006 yılında yapmış olduğum bir programdan "ESİNLENEREK" diyeyim, yapılmış bir treeview çalışmasıdır. Hatta öyle bir esinlenme ki imagelist bile değiştirilmemiş
Orjinali için
Prooficeyonel
Bir başka sitede denk gelmiştim buna geçen aylarda. İlgnç bir çalışma olmuş üst anahtar ve alt anahtarı direkt olarak tablodan almak demiştim. Arkadaş sağolsun bana kodların nasıl çalıştığını anlatmıştı. Meraklısı iki kodu karşılaştırır. Bendeki fonksiyon AGACI_DOLDUR o programda doldur
Artık ne yazık ki alıştığım bir durum oldu, kodlarımı alıp kaynak belirtmeden kullanıp sonra da o kodları bana anlatmaları
Herneyse...
Alıntı:Ama bir türlü cevap geçiştirildi. Veya örtbas edildi.
Bu sitede hangi soru geçiştirildi ki? Daha da kötüsü hangi soru örtbas edildi. Açılmış konularda ufak bir aramayla bile yanıt bulunabilen konular bile defalarca açıldı.Tekrar tekrar uyardık ama cevapları tekrar tekrar yazmamıza engel olmadı. Bazı üyelerimiz araştırıp yapmaya çalışarak öğrenmek,benzer kodlardan yola çıkarak kendi çözümlerini geliştirmek yerine direkt cevaba ihtiyaç duydukları için başımıza gelen anlayışla karşılamaya çalıştığımız bir durumdur.
Bence forumumuzda emek veren insanları bu tarz bir şeyle suçlamadan önce Cevaplanmş sorulardaki cevap ve soru sayılarını incelemenizi isterdim.
Gelelim sorunuzun cevabına
Sizin eklerken kullandığınız kod.
Kod:
Set nod_nesnesi = .Add(ust_anahtar, tvwChild, rs!Anahtar, rs!etiket, 1, 2)
Bu da Profficeyoneldeki
Kod:
Set nodobject = .Add(UstAnahtarim, tvwChild, rs!Anahtar, rs!ETIKET & " (" & IpucuSayisi & ")", 1, 2)
Şimdi burda eklenirken önemli olan durum o rs!Anahtar dediği alan. Bu direk treeview'in NODE elemanının KEY alanına yazılıyor.
Peki bunu nasıl alıcaz?
Kod:
Private Sub TreeView_NodeClick(ByVal Node As Object)
msgbox node.key
End Sub
Bu yukarıdaki kodu programınıza ekliyorsunuz Bu node'un her elemanı tıklandığında bize gelen fonksiyon olucak. Tıklanmış olan node'un KEY alanı demin eklediğimiz rs!Anahtar alanı. mesaj olarak da görebilirsiniz.
Şimdi bu noktada ufak bir select - case içine giriyoruz.
Kod:
Private Sub TreeView_NodeClick(ByVal Node As Object)
select case node.key
case "KURUMSAL PLANLAMA_RAPORLAR_Aylık İzin Kullanım Listesi"
docmd.openform "buraya açılmasını istediğin formun adını yaz. çift tırnakları unutma:)"
case "SİCİL YÖNETİMİ_RAPORLAR_İzin Durum Raporu"
docmd.openreport ""buraya açılmasını istediğin raporun adını yaz. çift tırnakları unutma:)"
end select
End Sub
Hangi node'un tıklanmasında hangi işlevi yapmak istiyorsan case içine yaz ve altına istediğin kodları yazabilirsiniz.
docmd.openform verilen parametrelerle istediğiniz formu istediğiniz şekilde açar. Bağımsız olarak. Şayet bu kodda zorlanıyorsanız tavsiye olarak bu üst düzey treeview kodlamasıyla uğraşmayı bırakıp öncelikle daha basit şeylerden başlamanızı tavsiye ederim. görüntülü ders anlatımları ve kaynak kitaplar ve örnek programlar bu konuda size yardımcı olacaktır.