09/09/2015, 06:13
sayın fascioglu,
mustericari isimli formu açıp müşteri seçtiğinizde alt formdaki tüm verileri yeniden hesaplar ve tablodaki alanlara kaydeder.
alt forma veri girdikten sonra odeme tutarı alanına tutar yazarsanız ve formu kaydederseniz tüm alanları yeniden hesaplar.
tbl_URUNCIKIS isimli tablodaki
toplam=kişinin aldığı ürünün borç tutarı,
devir= bir önceki kayıttan kalan alacak
borc=toplam+devir
odemetutarı = işlemde yapılan ödeme
kalan= borc-odeme tutari
olacak şekilde tasarlandı
sorgu: srg_kayitnolubakiye ve srg_kosturan isimli iki sorgu eklendi
form: frm_MUSTERICARİ_1 isimli forma aşağıdaki kod eklendi ve bu kod formun geçerli olduğunda olayında çağrıldı.
modül: DEVIR isimli modülün ismi mdl_devir olarak değiştirildi ve TOPLAGEL fonksiyonu eklendi.
Hesaplama sonucuna ait resim aşağıdadır.
Son olarak, yapılmaması gereken ölümcül hataları tekrar etmek istiyorum,
-Tabloda "devir" adında alanın var ise, DEVIR diye modül adı olmaz, sen koda tablodaki alan için devir yazarsın, o modül sanıp DEVIR yapar, modül ise "mdl_..." şeklinde yazılır.
-Tablo, sorgu isimlerinin ya tamamı büyük harf, yada tamamı küçük harf ile yazılır, Türkçe karakter kullanılmaz,
- tbl_MUSTERICARİ isminde tablo ismi olmaz, İ harfi bizde var, ofisi yapan elemanda İ harfi yok, Açılan kutu eklediğinde ismini "Açılan Kutu 874" yazması ofisi Türkçeleştiren vatandaşların umurunda da değil.
- Srg_TRANSFER isminde rapor olmaz, bu rapor ise rpr_... şeklinde yazılır.
- Formdaki Metin kutusinin denetim kaynağı "toplam" ise, metin kutusunun adı "mtn_toplam" olur, "top" olmaz.
- Tabloda acl_odemyon" diye alan adı olmaz, "odemyon" olur, formdaki açılan kutunun adı "acl_odemyon" olur,
- Tabloda "musterıadı" diye alan adı olmaz, olacaksa "MUSTERIADI" veya "musteriadi" olur, kod yazarken sıkıntı yaşarsın, ayrıca uygulamanızın bir zaman sonra gümlemesine yol açar.
mustericari isimli formu açıp müşteri seçtiğinizde alt formdaki tüm verileri yeniden hesaplar ve tablodaki alanlara kaydeder.
alt forma veri girdikten sonra odeme tutarı alanına tutar yazarsanız ve formu kaydederseniz tüm alanları yeniden hesaplar.
tbl_URUNCIKIS isimli tablodaki
toplam=kişinin aldığı ürünün borç tutarı,
devir= bir önceki kayıttan kalan alacak
borc=toplam+devir
odemetutarı = işlemde yapılan ödeme
kalan= borc-odeme tutari
olacak şekilde tasarlandı
sorgu: srg_kayitnolubakiye ve srg_kosturan isimli iki sorgu eklendi
form: frm_MUSTERICARİ_1 isimli forma aşağıdaki kod eklendi ve bu kod formun geçerli olduğunda olayında çağrıldı.
Sub VeriYenileTablola()
' Accesstr.neT
On Error GoTo Hata
Dim db As DAO.Database
Dim KytGuncelVeri As DAO.Recordset
Dim KytTablodakiVeri As DAO.Recordset
Set db = CurrentDb()
Set KytGuncelVeri = db.OpenRecordset("srg_kosturan")
Set KytTablodakiVeri = db.OpenRecordset("tbl_URUNCIKIS")
If KytGuncelVeri.RecordCount = 0 Then Exit Sub
KytGuncelVeri.MoveFirst
Do Until KytGuncelVeri.EOF
If KytTablodakiVeri.RecordCount = 0 Then Exit Sub
KytTablodakiVeri.MoveFirst
Do Until KytTablodakiVeri.EOF
If KytGuncelVeri![Kimlik] = KytTablodakiVeri!Kimlik Then
KytTablodakiVeri.Edit
KytTablodakiVeri![devir] = KytGuncelVeri![SDevir]
KytTablodakiVeri![kalan] = KytGuncelVeri![SKalan]
KytTablodakiVeri![borc] = KytGuncelVeri![SBorc]
KytTablodakiVeri.Update
End If
KytTablodakiVeri.MoveNext
Loop
KytGuncelVeri.MoveNext
Loop
KytGuncelVeri.Close
KytTablodakiVeri.Close
Set KytGuncelVeri = Nothing
Set KytTablodakiVeri = Nothing
Set db = Nothing
Hata: MsgBox ("Birşeyler ters gitti, Hata kodu :" & Err.Number)
Exit Sub
End Sub
modül: DEVIR isimli modülün ismi mdl_devir olarak değiştirildi ve TOPLAGEL fonksiyonu eklendi.
Hesaplama sonucuna ait resim aşağıdadır.
Son olarak, yapılmaması gereken ölümcül hataları tekrar etmek istiyorum,
-Tabloda "devir" adında alanın var ise, DEVIR diye modül adı olmaz, sen koda tablodaki alan için devir yazarsın, o modül sanıp DEVIR yapar, modül ise "mdl_..." şeklinde yazılır.
-Tablo, sorgu isimlerinin ya tamamı büyük harf, yada tamamı küçük harf ile yazılır, Türkçe karakter kullanılmaz,
- tbl_MUSTERICARİ isminde tablo ismi olmaz, İ harfi bizde var, ofisi yapan elemanda İ harfi yok, Açılan kutu eklediğinde ismini "Açılan Kutu 874" yazması ofisi Türkçeleştiren vatandaşların umurunda da değil.
- Srg_TRANSFER isminde rapor olmaz, bu rapor ise rpr_... şeklinde yazılır.
- Formdaki Metin kutusinin denetim kaynağı "toplam" ise, metin kutusunun adı "mtn_toplam" olur, "top" olmaz.
- Tabloda acl_odemyon" diye alan adı olmaz, "odemyon" olur, formdaki açılan kutunun adı "acl_odemyon" olur,
- Tabloda "musterıadı" diye alan adı olmaz, olacaksa "MUSTERIADI" veya "musteriadi" olur, kod yazarken sıkıntı yaşarsın, ayrıca uygulamanızın bir zaman sonra gümlemesine yol açar.