Önce siz üzerinde çalışın bence. Öğrenmeye çalışın.
Vb.da Hesaplama
Sayın Ozan hocam,
Dediğiniz gibi bazı çalışmalar yaptım kısmende çözdüm fakat yinede bir yerlerde eksiklikler var,
Örneğin;F_SERVİSHESABI'na veri girdiğimde girilen veri F_TEKNİKSERVİS formundaki mtn_degisenToplami alanına veriyi aktarmıyor ancak Servistutarı alanına veri girildikten sonra veriyi aktarıyor,
İkinci sıkıntıda odeme tutarı girildiğinde Bakiye hesabı oluşmuyor.
Bunlardan ibaret,çalışma örneği ekte.
Saygılarımla
İyi çalışmalar.
Dediğiniz gibi bazı çalışmalar yaptım kısmende çözdüm fakat yinede bir yerlerde eksiklikler var,
Örneğin;F_SERVİSHESABI'na veri girdiğimde girilen veri F_TEKNİKSERVİS formundaki mtn_degisenToplami alanına veriyi aktarmıyor ancak Servistutarı alanına veri girildikten sonra veriyi aktarıyor,
İkinci sıkıntıda odeme tutarı girildiğinde Bakiye hesabı oluşmuyor.
Kod:
F_TEKNİKSERVİS formuna uyguladığım kod;
Sub HesapYap()
'=DSum([TUTARİ],T_SERVİSHESABİ,[İSLEMNO]= & Form.F_TEKNİKSERVİS.İSLEMNO)
mtn_degisenToplami = IIf(IsNumeric(T_SERVİSHESABİ.Form!mtn_toplam), T_SERVİSHESABİ.Form!mtn_toplam, 0)
mtn_hesaptoplami = mtn_servistutari + mtn_degisenToplami
mtn_bakiye = mtn_hesaptoplami - ODENEN
Me.Requery
Me.Refresh
End Sub
Private Sub mtn_servistutari_AfterUpdate()
HesapYap
End Sub
Kod:
Sub Hesapla()
On Error GoTo Err_Hata
Forms!F_TEKNİKSERVIS.mtn_degisenToplami = Me.mtn_toplam
Forms!frm_TEKNİKSERVIS.mtn_hesaptoplami = Forms![F_TEKNİKSERVİS]![mtn_servistutari] + [mtn_degisenToplami]
Forms!frm_TEKNİKSERVIS.mtn_bakiye = Forms![F_TEKNİKSERVİS]![mtn_hesaptoplami] - Forms![F_TEKNİKSERVİS]![mtn_ODENEN]
Exit_Hata:
Exit Sub
Err_Hata:
If Err.Number = 3075 Then
Forms![F_TEKNİKSERVİS]![mtn_degisenToplami] = 0
Forms!frm_TEKNİKSERVIS.mtn_hesaptoplami = Forms![F_TEKNİKSERVİS]![mtn_servistutari] + [mtn_degisenToplami]
Forms!frm_TEKNİKSERVIS.mtn_bakiye = Forms![F_TEKNİKSERVİS]![mtn_hesaptoplami] - Forms![F_TEKNİKSERVİS]![mtn_ODENEN]
End If
Resume Exit_Hata
End Sub
Bunlardan ibaret,çalışma örneği ekte.
Saygılarımla
İyi çalışmalar.
Son Düzenleme: 09/12/2015, 17:22, Düzenleyen: fascioğlu.
Daha önceden kaç defa Yapılmaması Gereken Ölümcül Hatalar konusunu incelemeniz gerektiğini, form-tablo isimlerinde Türkçe karakter geçmemesi gerektiğini söylediğimin sayısını inanın hatırlamıyorum.
Eklediğiniz uygulamadaki kod:
Forms!F_TEKNİKSERVIS.mtn_degisenToplami = Me.mtn_toplam
Forms!frm_TEKNİKSERVIS.mtn_hesaptoplami
koddaki form ismi bir yerde F_TEKNİKSERVIS, diğerinde frm_TEKNİKSERVIS
uygulamadaki form ismi: F_TEKNİKSERVİS
Eğer uyarıları kaale alıp form adını f_teknikservis veya F_TEKNIKSERVIS yapsaydınız bu kadar uğraşmayacaktınız.
Ayrıca, forma Sub Hesapla() kodu eklemişsiniz, ancak bu kodu çalıştıracak kod eklememişsiniz. Formun güncelleştirme sonrasında olayına call hesapla şeklinde kod eklemeniz gerekiyor.
Sub Hesapla kodunun aşağıdaki gibi olması gerekiyor
Teknikservis formundaki Sub HesapYap()kodundaki requery ve refresh kodları fazladan, bunların çalışması ile form yenileniyor ve ilk kayda gidiyor. Bu kodları silmelisin. Ayrıca, kodda bulunan IsNumeric kodunun ne amaçla yazıldığını anlayamadığım için yorum yapamıyorum.
Eklediğiniz uygulamadaki kod:
Forms!F_TEKNİKSERVIS.mtn_degisenToplami = Me.mtn_toplam
Forms!frm_TEKNİKSERVIS.mtn_hesaptoplami
koddaki form ismi bir yerde F_TEKNİKSERVIS, diğerinde frm_TEKNİKSERVIS
uygulamadaki form ismi: F_TEKNİKSERVİS
Eğer uyarıları kaale alıp form adını f_teknikservis veya F_TEKNIKSERVIS yapsaydınız bu kadar uğraşmayacaktınız.
Ayrıca, forma Sub Hesapla() kodu eklemişsiniz, ancak bu kodu çalıştıracak kod eklememişsiniz. Formun güncelleştirme sonrasında olayına call hesapla şeklinde kod eklemeniz gerekiyor.
Sub Hesapla kodunun aşağıdaki gibi olması gerekiyor
Forms!F_TEKNİKSERVİS.mtn_degisenToplami = Dsum ("[TUTARİ]", "T_SERVİSHESABİ", "[İSLEMNO] = " & Me.İSLEMNO)
Forms!F_TEKNİKSERVİS.mtn_hesaptoplami = Forms![F_TEKNİKSERVİS]![mtn_servistutari] + Forms!F_TEKNİKSERVİS.mtn_degisenToplami
Forms!F_TEKNİKSERVİS.mtn_bakiye = Forms![F_TEKNİKSERVİS]![mtn_hesaptoplami] - Forms![F_TEKNİKSERVİS]![ODENEN]
Teknikservis formundaki Sub HesapYap()kodundaki requery ve refresh kodları fazladan, bunların çalışması ile form yenileniyor ve ilk kayda gidiyor. Bu kodları silmelisin. Ayrıca, kodda bulunan IsNumeric kodunun ne amaçla yazıldığını anlayamadığım için yorum yapamıyorum.
Sayın Ozan Hocam,
Cevabınız için çok teşekkür ederim,sizede zahmet verdiğim için lütfen affedin.Konuyu hala çözemedim,bu gidişlede çözeceğime inanmıyorum.Bu nedenle konuyuda kapatabilirsiniz veya çöpe atabilirsiniz.
Saygılarımla.
İyi çalışmalar.
Cevabınız için çok teşekkür ederim,sizede zahmet verdiğim için lütfen affedin.Konuyu hala çözemedim,bu gidişlede çözeceğime inanmıyorum.Bu nedenle konuyuda kapatabilirsiniz veya çöpe atabilirsiniz.
Saygılarımla.
İyi çalışmalar.
Bir önceki mesajımda yaptığınız hatayı belirttim. kodda form adı F_TEKNİKSERVIS olarak tanımlanmış, ancak bu isimde form yok.
Ayrıca kullanılması gereken Hesapla kodunuda yazdım.
Ayrıca kullanılması gereken Hesapla kodunuda yazdım.
Lütfen olumlu / olumsuz bildirimde bulununuz.
Konuyu Okuyanlar: 1 Ziyaretçi