Tarih Ve Açılan Kutu Seçiminde Formda Requery Sorunu - Oğuz Türkyılmaz - 12/03/2020
Merhaba
Uygulamadaki F_IsletmeDefteri Formu Açıldığında Bilgiler doğru bir şekilde geliyor ve hesaplamada bir sorun yok. Fakat açılan kutuda yada tarihte değişiklik yaptığımda 2 şekilde sorun oluşuyor.
1- Tarih değiştirmeden sadece hesap turunu değiştirdiğimde hesap bakiye bilgisi Seçtiğim hesap turune göre doğru gelmesine ve alt formların Requery kodları çalışmasına rağmen GiderToplamı ve GelirToplamı kutularında ki değerler tazelenmiyor formun ilk açıldığındaki şekliyle kalıyor.
Haliyle gelir ve gider tutarları metin kutularındaki değerler değişmediğinden hesaplama yanlış oluyor.
2- Aynı sorun Tarih bölümünde de değişiklik yapıldığında baş gösteriyor. Yazdığım kodlar aşağıda.
Option Compare Database
Option Explicit
Private Sub Form_Current()
Me.TF_HesapHareketleriGiderAF.Requery
Me.TF_HesapHareketleriGelirAF.Requery
Me.HesapTuru_CBO.Requery
Me.HesapBakiyesi_TXT.Requery
Me.GelirToplami_TXT.Requery
Me.GiderToplami_TXT.Requery
Me.HesapBakiyesi_TXT = Dsum ("GirenTutar", "T_HesapHareketleri", "[HesapTuru]='" & Me.HesapTuru_CBO & _
"' and (Tarih Between " & CLng(DateSerial(Year(Me.Tarih_TXT), 1, 1)) & _
" And " & CLng(Tarih_TXT) - 1 & ")") - Dsum ("CikanTutar", "T_HesapHareketleri", "[HesapTuru]='" & _
Me.HesapTuru_CBO & "' and (Tarih Between " & CLng(DateSerial(Year(Me.Tarih_TXT), 1, 1)) & _
" And " & CLng(Tarih_TXT) - 1 & ")")
Me.GiderToplami_TXT = Dsum ("[CikanTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]))
Me.GelirToplami_TXT = Dsum ("[GirenTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]))
'Me.GiderToplami_TXT = Dsum ("[CikanTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]) & " And [HesapTuru]='" & [HesapTuru_CBO] & "'")
'Me.GelirToplami_TXT = Dsum ("[GirenTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]) & " And [HesapTuru]='" & [HesapTuru_CBO] & "'")
End Sub
Private Sub Form_Load()
Me.HesapTuru_CBO = "Kasa TL"
Me.TF_HesapHareketleriGiderAF.Requery
Me.TF_HesapHareketleriGelirAF.Requery
Me.HesapBakiyesi_TXT = Dsum ("GirenTutar", "T_HesapHareketleri", "[HesapTuru]='" & Me.HesapTuru_CBO & _
"' and (Tarih Between " & CLng(DateSerial(Year(Me.Tarih_TXT), 1, 1)) & _
" And " & CLng(Tarih_TXT) - 1 & ")") - Dsum ("CikanTutar", "T_HesapHareketleri", "[HesapTuru]='" & _
Me.HesapTuru_CBO & "' and (Tarih Between " & CLng(DateSerial(Year(Me.Tarih_TXT), 1, 1)) & _
" And " & CLng(Tarih_TXT) - 1 & ")")
Me.GiderToplami_TXT = Dsum ("[CikanTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]))
Me.GelirToplami_TXT = Dsum ("[GirenTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]))
'Me.GiderToplami_TXT = Dsum ("[CikanTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]) & " And [HesapTuru]='" & [HesapTuru_CBO] & "'")
'Me.GelirToplami_TXT = Dsum ("[GirenTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]) & " And [HesapTuru]='" & [HesapTuru_CBO] & "'")
End Sub
Private Sub GelirFisi_BTN_Click()
DoCmd.OpenForm "F_GelirFisi"
End Sub
Private Sub GiderFisi_BTN_Click()
DoCmd.OpenForm "F_GiderFisi"
End Sub
Private Sub HesapTuru_CBO_AfterUpdate()
Me.TF_HesapHareketleriGiderAF.Requery
Me.TF_HesapHareketleriGelirAF.Requery
Me.HesapBakiyesi_TXT.Requery
Me.GelirToplami_TXT.Requery
Me.GiderToplami_TXT.Requery
Me.HesapBakiyesi_TXT = Dsum ("GirenTutar", "T_HesapHareketleri", "[HesapTuru]='" & Me.HesapTuru_CBO & _
"' and (Tarih Between " & CLng(DateSerial(Year(Me.Tarih_TXT), 1, 1)) & _
" And " & CLng(Tarih_TXT) - 1 & ")") - Dsum ("CikanTutar", "T_HesapHareketleri", "[HesapTuru]='" & _
Me.HesapTuru_CBO & "' and (Tarih Between " & CLng(DateSerial(Year(Me.Tarih_TXT), 1, 1)) & _
" And " & CLng(Tarih_TXT) - 1 & ")")
End Sub
Private Sub HesapTuru_CBO_Exit(Cancel As Integer)
Me.TF_HesapHareketleriGiderAF.Requery
Me.TF_HesapHareketleriGelirAF.Requery
Me.HesapBakiyesi_TXT.Requery
Me.GelirToplami_TXT.Requery
Me.GiderToplami_TXT.Requery
Me.HesapBakiyesi_TXT = Dsum ("GirenTutar", "T_HesapHareketleri", "[HesapTuru]='" & Me.HesapTuru_CBO & _
"' and (Tarih Between " & CLng(DateSerial(Year(Me.Tarih_TXT), 1, 1)) & _
" And " & CLng(Tarih_TXT) - 1 & ")") - Dsum ("CikanTutar", "T_HesapHareketleri", "[HesapTuru]='" & _
Me.HesapTuru_CBO & "' and (Tarih Between " & CLng(DateSerial(Year(Me.Tarih_TXT), 1, 1)) & _
" And " & CLng(Tarih_TXT) - 1 & ")")
End Sub
Private Sub Kapat_BTN_Click()
DoCmd.Close acForm, "F_IsletmeDefteri"
End Sub
Private Sub Tarih_TXT_AfterUpdate()
Me.HesapTuru_CBO.Requery
Me.HesapBakiyesi_TXT.Requery
Me.GelirToplami_TXT.Requery
Me.GiderToplami_TXT.Requery
Me.TF_HesapHareketleriGiderAF.Requery
Me.TF_HesapHareketleriGelirAF.Requery
End Sub
Private Sub Tarih_TXT_Change()
Me.HesapTuru_CBO.Requery
Me.HesapBakiyesi_TXT.Requery
Me.GelirToplami_TXT.Requery
Me.GiderToplami_TXT.Requery
End Sub
A-Form yuklendiğinde hesap doğru
B- Hesap Türünü değiştirdiğimde Euro hesap Bakiyesi Geliyor Fakat Gider ve gelir toplamları bir çnceki ekrandaki nakit kasa tutarları olarak değişmediğinden Hesaplama yanlış oluyor. Resme göre euro olarak bir gider girişi ve çıkışı olmadığından Kalan ve devir bakiye tutarlarının 125 olarak gözükmesi gerekiyor.
C- Tarihi değiştirdiğimde de bu sefer Hesap Bakiyesi bölümü de B şıkkında açıkladığım sorunların aynılarına ekleniyor.
Cvp: Tarih Ve Açılan Kutu Seçiminde Formda Requery Sorunu - ozanakkaya - 12/03/2020
1-)
Me.GiderToplami_TXT = Dsum ("[CikanTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]))
Me.GelirToplami_TXT = Dsum ("[GirenTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]))
şeklindeki kodlar sadece form geçerli olduğunda ve yüklendiğinde olaylarında var. Açılan kutunun ve tarih metin kutusunun güncelleştirme sonrası olaylarında kod yok.
2-) Alt formda açılan kutudan yapılan seçime göre filtreleme yapılıyor, hesaplamada ise HesapTuru ile ilgili bir koşul yok.
Cvp: Tarih Ve Açılan Kutu Seçiminde Formda Requery Sorunu - Oğuz Türkyılmaz - 12/03/2020
Ozan Bey soylediklerinizi uyguladim hesaplamalarda sorun kalmadı sadece Tarihi değiştirdiğimde Hesap Türünü alanına illaki bir tıklanıp girilip çıkılması gerekiyor formun yeni hesaplamaları doğru göstermesi için. Bunu nasıl aşarım.
2-
3-
4-
Option Compare Database
Option Explicit
Private Sub Form_Current()
Me.TF_HesapHareketleriGiderAF.Requery
Me.TF_HesapHareketleriGelirAF.Requery
Me.HesapTuru_CBO.Requery
Me.HesapBakiyesi_TXT.Requery
Me.GelirToplami_TXT.Requery
Me.GiderToplami_TXT.Requery
Me.HesapBakiyesi_TXT = Dsum ("GirenTutar", "T_HesapHareketleri", "[HesapTuru]='" & Me.HesapTuru_CBO & _
"' and (Tarih Between " & CLng(DateSerial(Year(Me.Tarih_TXT), 1, 1)) & _
" And " & CLng(Tarih_TXT) - 1 & ")") - Dsum ("CikanTutar", "T_HesapHareketleri", "[HesapTuru]='" & _
Me.HesapTuru_CBO & "' and (Tarih Between " & CLng(DateSerial(Year(Me.Tarih_TXT), 1, 1)) & _
" And " & CLng(Tarih_TXT) - 1 & ")")
'Me.GiderToplami_TXT = Dsum ("[CikanTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]))
'Me.GelirToplami_TXT = Dsum ("[GirenTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]))
Me.GiderToplami_TXT = Dsum ("[CikanTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]) & " And [HesapTuru]='" & [HesapTuru_CBO] & "'")
Me.GelirToplami_TXT = Dsum ("[GirenTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]) & " And [HesapTuru]='" & [HesapTuru_CBO] & "'")
End Sub
Private Sub Form_Load()
Me.HesapTuru_CBO = "Kasa TL"
Me.TF_HesapHareketleriGiderAF.Requery
Me.TF_HesapHareketleriGelirAF.Requery
Me.HesapBakiyesi_TXT = Dsum ("GirenTutar", "T_HesapHareketleri", "[HesapTuru]='" & Me.HesapTuru_CBO & _
"' and (Tarih Between " & CLng(DateSerial(Year(Me.Tarih_TXT), 1, 1)) & _
" And " & CLng(Tarih_TXT) - 1 & ")") - Dsum ("CikanTutar", "T_HesapHareketleri", "[HesapTuru]='" & _
Me.HesapTuru_CBO & "' and (Tarih Between " & CLng(DateSerial(Year(Me.Tarih_TXT), 1, 1)) & _
" And " & CLng(Tarih_TXT) - 1 & ")")
'Me.GiderToplami_TXT = Dsum ("[CikanTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]))
'Me.GelirToplami_TXT = Dsum ("[GirenTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]))
Me.GiderToplami_TXT = Dsum ("[CikanTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]) & " And [HesapTuru]='" & [HesapTuru_CBO] & "'")
Me.GelirToplami_TXT = Dsum ("[GirenTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]) & " And [HesapTuru]='" & [HesapTuru_CBO] & "'")
End Sub
Private Sub GelirFisi_BTN_Click()
DoCmd.OpenForm "F_GelirFisi"
End Sub
Private Sub GiderFisi_BTN_Click()
DoCmd.OpenForm "F_GiderFisi"
End Sub
Private Sub HesapTuru_CBO_AfterUpdate()
Me.TF_HesapHareketleriGiderAF.Requery
Me.TF_HesapHareketleriGelirAF.Requery
Me.HesapBakiyesi_TXT.Requery
Me.GelirToplami_TXT.Requery
Me.GiderToplami_TXT.Requery
Me.HesapBakiyesi_TXT = Dsum ("GirenTutar", "T_HesapHareketleri", "[HesapTuru]='" & Me.HesapTuru_CBO & _
"' and (Tarih Between " & CLng(DateSerial(Year(Me.Tarih_TXT), 1, 1)) & _
" And " & CLng(Tarih_TXT) - 1 & ")") - Dsum ("CikanTutar", "T_HesapHareketleri", "[HesapTuru]='" & _
Me.HesapTuru_CBO & "' and (Tarih Between " & CLng(DateSerial(Year(Me.Tarih_TXT), 1, 1)) & _
" And " & CLng(Tarih_TXT) - 1 & ")")
'Me.GiderToplami_TXT = Dsum ("[CikanTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]))
'Me.GelirToplami_TXT = Dsum ("[GirenTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]))
Me.GiderToplami_TXT = Dsum ("[CikanTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]) & " And [HesapTuru]='" & [HesapTuru_CBO] & "'")
Me.GelirToplami_TXT = Dsum ("[GirenTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]) & " And [HesapTuru]='" & [HesapTuru_CBO] & "'")
End Sub
'Private Sub HesapTuru_CBO_Exit(Cancel As Integer)
'Me.TF_HesapHareketleriGiderAF.Requery
'Me.TF_HesapHareketleriGelirAF.Requery
'Me.HesapBakiyesi_TXT.Requery
'Me.GelirToplami_TXT.Requery
'Me.GiderToplami_TXT.Requery
'Me.HesapBakiyesi_TXT = Dsum ("GirenTutar", "T_HesapHareketleri", "[HesapTuru]='" & Me.HesapTuru_CBO & _
"' and (Tarih Between " & CLng(DateSerial(Year(Me.Tarih_TXT), 1, 1)) & _
" And " & CLng(Tarih_TXT) - 1 & ")") - Dsum ("CikanTutar", "T_HesapHareketleri", "[HesapTuru]='" & _
Me.HesapTuru_CBO & "' and (Tarih Between " & CLng(DateSerial(Year(Me.Tarih_TXT), 1, 1)) & _
" And " & CLng(Tarih_TXT) - 1 & ")")
'End Sub
Private Sub Kapat_BTN_Click()
DoCmd.Close acForm, "F_IsletmeDefteri"
End Sub
Private Sub Tarih_TXT_AfterUpdate()
Me.HesapTuru_CBO.Requery
Me.HesapBakiyesi_TXT.Requery
Me.GelirToplami_TXT.Requery
Me.GiderToplami_TXT.Requery
Me.TF_HesapHareketleriGiderAF.Requery
Me.TF_HesapHareketleriGelirAF.Requery
'Me.GiderToplami_TXT = Dsum ("[CikanTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]))
'Me.GelirToplami_TXT = Dsum ("[GirenTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]))
Me.GiderToplami_TXT = Dsum ("[CikanTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]) & " And [HesapTuru]='" & [HesapTuru_CBO] & "'")
Me.GelirToplami_TXT = Dsum ("[GirenTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]) & " And [HesapTuru]='" & [HesapTuru_CBO] & "'")
End Sub
'Private Sub Tarih_TXT_Change()
'Me.HesapTuru_CBO.Requery
'Me.HesapBakiyesi_TXT.Requery
'Me.GelirToplami_TXT.Requery
'Me.GiderToplami_TXT.Requery
'End Sub
Cvp: Tarih Ve Açılan Kutu Seçiminde Formda Requery Sorunu - ozanakkaya - 12/03/2020
Tarih_TXT metin kutusunun güncelleştirme sonrasında olayında kod var ise sil, yerine Tarih_TXT metin kutusunun değiştiğinde olayına aşağıdaki kodu ekle.
Me.HesapTuru_CBO.SetFocus
Me.TF_HesapHareketleriGiderAF.Requery
Me.TF_HesapHareketleriGelirAF.Requery
Me.GiderToplami_TXT = Dsum ("[CikanTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]) & " And [HesapTuru]='" & [HesapTuru_CBO] & "'")
Me.GelirToplami_TXT = Dsum ("[GirenTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]) & " And [HesapTuru]='" & [HesapTuru_CBO] & "'")
Tarih_TXT.SetFocus
Cvp: Tarih Ve Açılan Kutu Seçiminde Formda Requery Sorunu - Oğuz Türkyılmaz - 12/03/2020
Maalesef durum değişmedi aynı şekilde çalışıyor. İçine girip tıklayarak tekrar seçmek gerekiyor.
Private Sub Tarih_TXT_AfterUpdate()
Me.HesapTuru_CBO.SetFocus
Me.TF_HesapHareketleriGiderAF.Requery
Me.TF_HesapHareketleriGelirAF.Requery
Me.GiderToplami_TXT = Dsum ("[CikanTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]) & " And [HesapTuru]='" & [HesapTuru_CBO] & "'")
Me.GelirToplami_TXT = Dsum ("[GirenTutar]", "T_HesapHareketleri", "[Tarih]= " & CLng([Tarih_TXT]) & " And [HesapTuru]='" & [HesapTuru_CBO] & "'")
Tarih_TXT.SetFocus
End Sub
Cvp: Tarih Ve Açılan Kutu Seçiminde Formda Requery Sorunu - feraz - 12/03/2020
(12/03/2020, 17:54)Oğuz Türkyılmaz yazdı: İçine girip tıklayarak tekrar seçmek gerekiyor
Bu şekilde çalışıp başka yol yoksa şöyle yapılabilir sanıyorum.
Sendkeys ile f2 ve enter kodları eklenebilir.
Sendkeys olayı excelde numlock kapatıp açma gibi gıcıklığı vardı.Belki işe yarayabilir bu yöntem.
|