Sayın Hocalarımi
Ekteki çalışmamda hesaplama sorununu çözemedim,
Şöyleki F_SERVİSHESABI formunda yer alan mtn_Toplam alanı ile F_TEKNİKSERVİS formunda bulunan mtn_servistutarı alanındaki verileri F_TEKNİKSERVİS formunda bulunan mtn_hesaptoplamı alanında toplayabiliyorum buraya kadar sıkıntı yok,
Ancak F_SERVİSHESABI na veri girmeden servistutarını mtn_hesaptoplamı alanına getiremiyorum kısacası illede F_SERVİSHESABI na veri girmem gerekiyor burada yapmak istediğim ister bağımsız ister birlikte veri girildiğinde hesaptoplamını alabileyim,
ikinci sorun ise F_SERVİSHESABI formunda seç sil yaptığımda hesaptoplamından silinen tutarı düşüyor ancak kalan kısmından düşmüyor.
Bu her iki sıkıntının giderilmesi konusunda yardımcı olabilirseniz sevinirim.
Saygılarımla
İyi çalışmalar.
Sayın fascioglu,
1)
Alıntı:...yapmak istediğim ister bağımsız ister birlikte veri girildiğinde hesaptoplamını alabileyim...
ifadenize yönelik olarak;
F_TEKNİKSERVİS adlı formun Geçerli Olduğunda olay yordamındaki End If ifadesinden hemen sonra
Kod:
Me.mtn_hesaptoplami = Nz(Me.mtn_servistutari + DSum("[TUTARİ]", "T_SERVİSHESABİ", "[İSLEMNO] = " & Me.İSLEMNO), 0)
Me.Kal = Me.mtn_hesaptoplami - Me.ODEMETOPLAMİ
Me.Refresh
kod satırlarını dahil ediniz.
2)
Alıntı:...F_SERVİSHESABI formunda seç sil yaptığımda hesaptoplamından silinen tutarı düşüyor ancak kalan kısmından düşmüyor...
ifadenize yönelik olarak;
F_SERVİSHESABİ adlı formun üzerindeki SEÇ SİL ifadesi ile tanımlı butonun Tıklandığında olay yordamındaki kodları
Kod:
On Error Resume Next
Dim degisenTutar As Integer
DoCmd.SetWarnings False
If MsgBox("Girilen Tutarı Silmek İstediğinizden Eminmisiniz..?", vbCritical + vbYesNo) = vbYes Then
DoCmd.RunSQL "DELETE İSLEMNO FROM T_SERVİSHESABİ WHERE MUSID = " & Me.MUSID & ";"
DoCmd.SetWarnings True
Me.Requery
If Me.mtn_toplam = "" Or IsNull(Me.mtn_toplam) Then
degisenTutar = 0
Else
degisenTutar = Me.mtn_toplam
End If
Forms![F_TEKNİKSERVİS]![mtn_hesaptoplami] = degisenTutar
Forms![F_TEKNİKSERVİS]![Kal] = Forms![F_TEKNİKSERVİS]![mtn_hesaptoplami] - Me.mtn_toplam
'Forms![F_TEKNİKSRVİS].Requery
Forms![F_TEKNİKSERVİS].Requery
Else
Exit Sub
End If
ile değiştiriniz.Bu kodlar içerisinde yeri gelmişken fark edilen bir hususu da belirtmekte fayda var kansındayım.
Hem formlar üzerinde veya tablolarda eğer alan adları veya denetim adlarında herhangi bir olası değişiklik veya yeniden tanımlama söz konusu ise bunu akabinde kodlarda da kontrol ederek düzeltmeye özen gösteriniz hem de alışkanlık edinmek üzere lütfen kod sayfasında üst menüden DEBUG-COMPILE yapmak sureti ile kodlardaki kontrolleri incelemekle birlikte olası düzenlemeleri de gerçekleştirmeye özen gösteriniz.
ÖRNEĞİN;yukarıdaki en son eklenen kodlar içerisinde
Kod:
Forms![F_TEKNİKSRVİS].Requery
kod satırında form adı tanımlaması hatalı olduğu için istenen işlemi sağlayamayacaktır.bilginize…iyi çalışmalar,saygılar.
Sayın Atoz hocam,
Önerileriniz doğrultusunda yapmış olduğum uygulamada;
F_SERVİSHESABI'na 1 adet anakart,1 adet işlemci girişi yaptım =512 TL,servis ücreti 40 tl.olamk üzere 552 tl.Şimdi burada dikkatinizi çekmek istediğim konu şu iŞLEMCİDEN VAZGEÇİP sildiğimizde
Hesaptoplamı 268 tl yerine 228 tl yani servistutarını hesaba katmıyor,ve kalan kısmında veri 0 olarak gözüküyor.
Test etme imkanınız varsa bir deneyin isterseniz.
Saygılarımla.
sayın fascioglu,
hitabınız nezdinde cevap hakkı mahiyetinde açıklamanızı yanıtlamak maksadı ile;
2.mesajda yer alan anlatımların yer aldığı ve hazırlanmış örnek uygulama EK'te bulunmaktadır.
denemeler nezdinde,
bahsettiğiniz sonuçlar değil,aksine açıklamalarda bulunan olumlu sonuçlar ile geçerli olduğu görülecektir.inceleyebilirsiniz.
bilginize...iyi çalışmalar,saygılar.
Muhterem Atoz112 hocam,
Eklediğiniz Resimde de görüleceği üzere,Servishesabı bölümünde yer alan verileri seç-sil yaparak servishesabı bölümünü sıfırlayın ve hesaptoplamı alanında servis ücreti tutarı olan 40 tl yi göremeyeceksiniz.Yeniden 40 tlyi yazmak isteseniz dahi hesap alanına aktarmayacaktır.
Saygılarımla.
İyi çalışmalar.
Buton kodunu aşağıdaki ile değiştiriniz.
Private Sub SIL_Click()
'On Error Resume Next
If MsgBox("Girilen Tutarı Silmek İstediğinizden Eminmisiniz..?", vbCritical + vbYesNo) = vbYes Then
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE İSLEMNO FROM T_SERVİSHESABİ WHERE MUSID = " & Me.MUSID & ";"
DoCmd.SetWarnings True
Me.Requery
Forms![F_TEKNİKSERVİS]![mtn_hesaptoplami] = Forms![F_TEKNİKSERVİS]![mtn_servistutari] + Nz(DSum("[TUTARİ]", "T_SERVİSHESABİ", "[İSLEMNO] = " & Nz(Me.İSLEMNO, 0)), 0)
Forms![F_TEKNİKSERVİS]![Kal] = Forms![F_TEKNİKSERVİS]![mtn_hesaptoplami] - Forms![F_TEKNİKSERVİS]![ODEMETOPLAMİ]
Else
Exit Sub
End If
End Sub