Üzerinde çalıştığım veritabanında "Frm_Site_Tesis_Uye_ve_Ucret_Takip_Tablosu" ana formundaki "Metin10" ve "Metin12" tarih alanlarında seçtiğim değerlere göre "AltForm_Site_Tesis_Uye_ve_Ucret_Takip_Tablosu" altformundaki "BasTrh" ve "BitTrh" alanlarını SORGULA düğmesine basarak filtrelemek istiyorum (veya daha uygun bir yol ile de olabilir). Altformun sorugusunda ilgili alanların altına kriterleri yazdım (SorguOrnek) olarak mesajıma ekledim. Düğme altına bilgim dahilinde bir SELECT cümlesi yazmak istedim ama olmadı. Sildim.
Sitede tek tarihli örnekleri inceledim ama istediğim özellikte bulamadım.
Konuyla ilgili örnek ve resimleri ekledim. Yardımcı olabilirseniz sevinirim.
Sağlıcakla kalın.
metin12 silip, Metin10 ile başlama - bitiş tarihleri arasında YIL-DONEM odendi alani isaretli olan kayıtların Tbl_Apt_Gelir_Tablosu'na aktarılması yapılabilir.
Visual Basic
PrivateSub Komut38_Click()
Dim Kyt AsNewADODB.Recordset, BUL AsDouble, SQLa AsString
SQLa = "SELECT TesisID, AptID, Sum(TopUcret)As Toplam FROM Tbl_Site_Tesis_Uye_Kayit WHERE (((TesisID)=" & Me.SiteID & ")And((Odendi)=-1)And((#" & Format(Me.Metin10, "mm\/dd\/yyyy") & "#) Between BasTrh and BitTrh)) GROUP BY TesisID, AptID ORDER BY TesisID, AptID"
12-12-2021, 22:23 (En son düzenleme: 12-12-2021, 22:53 M_Kemal_Askeri.
Düzenleme Nedeni: örneği değiştirmek ve ilave bazı hususları eklemek
)
Sayın dsezgin,
cevabınız için çok teşekkür ederim. Anladığım kadarı ile çözümünüzde sadece başlangıç tarihini esas alıyoruz. Yani o tarihte başlayan ama bitiş tarihi ne olursa olsun göstersin diyoruz. Yazdığınız kodu kendi örneğim üzerinde denedim. Metin12 yi sildim ama kod çalışmadı. Hiç veri göstermedi. belki benim gözden kaçırdığım bi husus olabilir. Ben kendim BasTrh ve BitTrh altına aynı kriteri yazarak "Between [Forms]![Frm_Site_Tesis_Uye_ve_Ucret_Takip_Tablosu]![Metin10] And [Forms]![Frm_Site_Tesis_Uye_ve_Ucret_Takip_Tablosu]![Metin12]" ve komut altına sadece "Me.AltForm_Site_Tesis_Uye_ve_Ucret_Takip_Tablosu.Requery" yazarak bir sonuca ulaştım. Bu örneği de ekliyorum. Acaba sizin yazdığınız kodu örnek üzerinde uygulamanız mümkün mü?
Ayrıca şunu da ilave etmek isterim ki, AptID'nin üye ve ücret yazımı için önemi yok. Çünkü tabloya AptID koymamın tek sebebi özellikle "Misafir" lerin kimin misafiri olarak girdiğini gösterebilmektir. yani Misafir sahibi apartman sakininin hangi apartmanda olduğunu gösterebilmek için. Üyeleri de doğrudan Siteye (SiteID) bağlamadım sadece tesise (TesisID) bağladım. Kodda yeniden değerlendirmek istersiniz diye yazıyorum bu hususları da.
Sağlıcakla kalın.
(12-12-2021, 22:23)M_Kemal_Askeri demiş ki: Anladığım kadarı ile çözümünüzde sadece başlangıç tarihini esas alıyoruz. Yani o tarihte başlayan ama bitiş tarihi ne olursa olsun göstersin diyoruz.
Yok öyle değil, Tek dizine ait başlama ve bitiş tarihleri arasındaki tüm tarihleri içermektedir. Başlangıç tarihi 01.01.2021, Bitiş tarihi 01.03.2021 olursa bu iki tarih arasındaki ödenen miktarın değerlendirilecek anlamında. Baslama-bitis tarihleri bos olduğunda tesisid ile ilgili kayıtları gösterilmiyor.
Öneri prosedürü süzgeç işlemi yapmayıp, gelirler tablosuna kaydı eklemekteydi.
örneği indirdim ve bilgisayarımda çalıştırdım. Birkaç defa denedim ve aşağıdakileri fark ettim:
1. örnekteki ilk tarihi yazıp tuşa bastığımda o tarihi altformda gösterdi.
2. ikinci defada ikinci tarihi girdiğimde ilk tarih ve ve girdiğim ikinci tarihi verdi.
3. ilk tarihi bir daha yazdığımda "yok" dedi. daha sonra her girdiğimde hangi tarihi yazarsam yazayım "yok" dedi. kapattım açtım ama yine de istikrarlı bir sonuç vermedi.
acaba access versiyon değişikliği mi var ben 2016 kullanıyorum. referansları dakontrol ettim aynı.
size ilk aldığım sonucun görüntüsünü gönderiyorum.
(13-12-2021, 22:41)M_Kemal_Askeri demiş ki: örneği indirdim ve bilgisayarımda çalıştırdım. Birkaç defa denedim ve aşağıdakileri fark ettim:
1. örnekteki ilk tarihi yazıp tuşa bastığımda o tarihi altformda gösterdi.
2. ikinci defada ikinci tarihi girdiğimde ilk tarih ve ve girdiğim ikinci tarihi verdi.
3. ilk tarihi bir daha yazdığımda "yok" dedi. daha sonra her girdiğimde hangi tarihi yazarsam yazayım "yok" dedi. kapattım açtım ama yine de istikrarlı bir sonuç vermedi.
acaba access versiyon değişikliği mi var ben 2016 kullanıyorum. referansları da kontrol ettim aynı.
size ilk aldığım sonucun görüntüsünü gönderiyorum.
Versiyonla ilgili olduğunu sanmıyorum.
Beklenen tuşu ilk etapta, ödeme alanı işaretli olmayan iki tarih arası arama yapmakta. Eğer beklenen tuş basılı ise ödendi alanı işaretli olan, yani ödeme yapılan ve gelir tablosuna aktarma yapılan kayıtlar süzdürülmekte. SQLa koşul bölümüne bakarsan süzgeç mantığı anlaşılır.
Ödemenin haricindeki beklenen kayıtları görmek istendiğini tahminen ikili süzgeç önermiştim.
Bilanço veya Gelir tablosunda yıl ve ay(Donem) olarak gelirin toplamı kaydedilecekse, Tbl_Site_Tesis_Uye_Kayit tablosunda Ödendi işaretinin atıldığı tarih gerekir diye aklıma geldi. Erken ödeme ve geç ödemenin zamanı gelirin üyelik tarihleri arasında olmadığı zaman dönemsel gelirin eksik-fazla durumu sorun olmaz mi? İki tarih arası yazmaktansa yıl ve ay ile ödenen gelirin aktarılması daha uygun gibi geldi.