Sn. burhanb nin açmış olduğu
Sorgu içinden bir kriter seçilerek farklı raporları açmak konusu Sn. Yandemir kadar benim de ilgimi çekti ve ekteki örnek projeyle bir başlangıç yapmak istedim.
Seçenek Kutusu ile rapor cinslerini ayırdım
Daha sonra Rapor seç açılan kutusundan istediğim raporu seçip ön izlemek veya excel'e göndermek istiyorum.
Örneği kullandığım veritabanına uyguladığımda kriter sayısı çok olma ihtimalini düşünerek üst üste bindirip formda yer kazanmak istiyorum bunun içinde
1. Araç Raporu seçiliyse sağdaki açılan kutuları, Personel Raporları seçiliyse soldaki açılan kutuları True - False olayıyla gizle göster yapmak.
2. Rapor seç açılan kutusundan seçilen rapora göre gerekli kriter alanlarını enable - disable yapmayı düşünüyorum.
(Örnek çalışma olduğu için tablo gerekmeyeceğini düşünerek eklememedim önemli olan geliştirebilmek için başlangıç kıvılcımını alabilmek)
Kıvılcım verebilecek herkese şimdiden teşekkür ediyorum
"RaporCins" açılan kutusunun satır kaynağını
SELECT Tbl_Raporlar.Rapor, Tbl_Raporlar.GorunenAd, Tbl_Raporlar.RaporCins FROM Tbl_Raporlar WHERE (((Tbl_Raporlar.RaporCins)=[Formlar]![Frm_Rapor]![RaporCerceve])) ORDER BY Tbl_Raporlar.GorunenAd;
kodu ile değiştir,
"rapor" isimli butonun tıklandığında olayına yazılan
stDocName = "Tbl_Raporlar"
kodunu
stDocName = RaporCins
kodu ile değiştir.
Teşekkürler Sn. sledgeab
Örneğime uyguladım. Tek buton işi halloldu diğerleri nasıl olacak merakla bekliyorum.
ilk sorunuzun cevabı alttadır, diğer soru için yeni konu açınız.
1 "RaporCerceve" Seçenek Gurubunun Varsayılan Dağerini 2 olarak belirle.
2 Soldaki, yani araç ile ilglii olan açılan kutuların İm değerlerini 1, sağdaki açılan kutuların im değerlerini 2 olarak değiştir.
3 Aşağıdaki kodları
Vba sayfasında (alt+f11) en alta ekle.
Sub AcilanKutuGizleGoster()
Dim AcilanKutu As Control
If Me.RaporCerceve = "1" Then
For Each AcilanKutu In Me.Controls
If AcilanKutu.Tag = "1" Then
AcilanKutu.Visible = True
End If
If AcilanKutu.Tag = "2" Then
AcilanKutu.Visible = False
End If
Next
Else
For Each AcilanKutu In Me.Controls
If AcilanKutu.Tag = "1" Then
AcilanKutu.Visible = False
End If
If AcilanKutu.Tag = "2" Then
AcilanKutu.Visible = True
End If
Next
End If
End Sub
4 "RaporCerceve" Seçenek Gurubunun Güncelleştirme Sonrasında olayına aşağıdaki kodu ekle
Call AcilanKutuGizleGoster
5 Formun Geçerli olduğunda olayına aşağıdaki kodu ekle.
Call AcilanKutuGizleGoster
Sayın iscinar,
Günaydın..
Sayın sledgeab'ın önerdiği çözüm sonrası, dosyanızın son halini acaba ekleyebilir misiniz?
Yer İmi konusu çok ilgimi çekti. Yardımınız ve emeğiniz için teşekkürler.
İyi bayramlar ve çalışmalar.
Sn. sledgeab
İlginiz için çok teşekkür ediyorum. Düşündüğüm gibi oldu tek kelimeyle süper. Bu örneği hemen çalıştığım projeme ekliyorum. Bu arada cevabınızda 3. madde olarak verdiğiniz kodların en alta eklenmesini belirtmişsiniz en alta ekledim. Fakat kafama takıldı diye soruyorum. Kodların
Vba penceresinde altta, ortada veya üstte olması fark ediyormu?
Bir konu içinde iki soru olmasının sebebi ilk mesajımda belirttiğim gibi linkini verdiğim konunun Sn. Yandemir kadar benim de ilgimi çekmesi, konuyu açanın örnek eklememesi üzerine birinci adımı onlar atmış ikinciyi de ben atayım diye yani bir anlamda beyin jimlastiği deniyor galiba. Konuyu açarken acaba böyle birşey yapılabilirmi gibi anlık aklıma gelenlerdi. Tabi bunlardan önce hangisinin yapılması gerektiği veya ikisinin bir arada uygulanabilirliğini de aklıma gelmedi değil.
Bu kadar oldu ya ilk işim yeni konu açmak ve sonucunu merakla beklemek olacak.
Ayrıca:
Tüm forum üyelerinin ve İslam aleminin Kadir gecesini, gününü (bu gün ikindiye kadardır) ve bayramını tebrik ediyorum.