AccessTr.neT

Tam Versiyon: Vb.da Hesaplama
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2 3
Önce siz üzerinde çalışın bence. Öğrenmeye çalışın.
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.

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.
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


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.
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.
Lütfen olumlu / olumsuz bildirimde bulununuz.
Sayfalar: 1 2 3