Gelen Paralari Harcama Tablosuna Yazmak

Katılım
2 Ocak 2007
Mesajlar
148
Excel Vers. ve Dili
office xp
ArkadaŞlar
MÜŞterİ Kaydi
BorÇ Ödeme Tablosu
Harcama Tablosu
Adinda 3 Tablom Var.

BorÇ Ödeme Tablosunda MÜŞterİlerİn Alcaklarini Vereceklerİnİ Kaydedİyorum.

İstedİĞİm Şu;
Harcama Tablosuna BorÇ Ödeme Tablosundakİ GÜnlÜk Para GİrİŞlerİnİ Aktarmak.

ÖreĞİn 01.06.2007 Tarİhİnde 10 MÜŞterİden Toplam 1.250 Ytl Para GelmİŞ Olsun Ben Bu DeĞerİn Harcama Tablosundakİ Tarİh Kismina 01.06.2007 Olarak Ve Gelen Para Kisminada 1.250 Ytl Olarak Kaydolmasini İstİyorum. Hangİ GÜn Para GİrŞİ OlmuŞsa Onlari Toplasin Ve Toplu Olarak O Tarİhe (harcama Tablosunda) Kaydetsİn. Bende Harcamalarimi Buraya Yazinca Elİmde Ne Kadar Para KalmiŞ GÖreyİm.

Yardim Olabİlİr Mİsİnİz?....
 
Katılım
22 Ocak 2007
Mesajlar
815
Excel Vers. ve Dili
2003
bu aktarma belli bir saattemi olacak yoksa sen bir düğmeye tıkladığındamı yoksa her kayıt girildiğinde güncellenecekmi gerçekten çok basit bir şey benim daha önceki ado örneklerime bakarsan sen bile yaparsın ne varki falanca tabloya bak falanca tarihlerdeki falanca alandaki kayıtları topla şu tablonun şu alanına bu günün tarihini şu alnınınada topladığın sayıyı ekle eğer daha önce eklenmişse güncelle hepsi bu kadar
bu daha önce yaptığım bir örnek ve senin yapacağında hemen hemen aynı şey
Tablo1 diye bir tablomuz var içinde ADI=metin SIRA=sayı diye iki alan var
formda sıra alanının veri kısmında etkin hayır kilitli evet dedik formun ekleme sonrasına kodu yazdıkki kayıt ekledikten sonra tablodaki bütün alanları kontrol etsin sonrada aynı ise sırayı 1 artırsın değilse 1 den başlasın dedik

Private Sub Form_AfterInsert()
'burda i diye bir sanal alan yaptık
Dim i As Integer
'burda rs diye bir recorset oluşturduk
Dim rs As New ADODB.Recordset
'burda oluşturduğumuz recorsete bir tablo gösterip onu açmasını söyledik
rs.Open "Tablo1", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
'burda açılan tablonun ilk kaydına gitmesini söyledik
rs.MoveFirst
'burda oluşturduğumuz sanal alana 0 değeri atadık
i = 0
'burda açılan tabloda veri varmı yokmu onu kontrol ediyoruz
If rs.EOF <> True Then
Do
'burda tablodaki ADI alan&#305;yla Formdaki ADI alan&#305;n&#305; kar&#351;&#305;la&#351;t&#305;r&#305;yoruz benzeyenleri
If Nz(rs("ADI")) = Nz(ADI.Value) Then
'burda sayd&#305;r&#305;yoruz
i = i + 1
'burda ise o sayd&#305;rd&#305;&#287;&#305;m&#305;z say&#305;y&#305; ekledi&#287;imizde dahil alana yazd&#305;r&#305;yoruz
SIRA.Value = i
End If
'Burda e&#287;er benzersiz bir kay&#305;t yazd&#305;ysak ona bak&#305;yor kod
If Nz(rs("ADI")) <> Nz(ADI.Value) Then
'burda ise o benzersiz kayd&#305;n s&#305;ras&#305;na 1 yaz&#305;yor
SIRA.Value = 1
End If
'burda bu i&#351;lemleri t&#252;m tablodaki kay&#305;tlar bitene kadar sonraki kay&#305;t diyerek d&#246;nd&#252;r&#252;yoruz
rs.MoveNext
Loop Until rs.EOF
End If
'burda ise son kayda geldi&#287;inde a&#231;&#305;lan tabloyu kapat&#305;yor
Set rs = Nothing
Set conn = Nothing
End Sub
 
Son düzenleme:
Katılım
2 Ocak 2007
Mesajlar
148
Excel Vers. ve Dili
office xp
:) san&#305;r&#305;m daha &#246;nceki soruma verdi&#287;iniz cevab&#305; yazm&#305;&#351;s&#305;n&#305;z.

her kay&#305;t girdi&#287;imde g&#252;ncellenirse daha iyi olur san&#305;r&#305;m.
 
Katılım
2 Ocak 2007
Mesajlar
148
Excel Vers. ve Dili
office xp
say&#305;n gulsum1;
ekleme sorgusu kullanarak yapt&#305;m. sorgu olu&#351;turdum sorguyu &#231;al&#305;&#351;t&#305;r&#305;nca bilgileri di&#287;er tabloya ekledi sorguyu ikinci kez &#231;al&#305;&#351;t&#305;r&#305;nca yine ekledi sorguyu i&#231;inci kez &#231;al&#305;&#351;t&#305;r&#305;nca yine ekledi :) .............................

bir defa eklesin istiyorum. birde yine sorguyla ayn&#305; g&#252;nleri gruplad&#305;m ama bu seferde tabloya eklerken sat&#305;lar&#305; ekledi ama bilgi yok.....

benim istedi&#287;im &#351;&#246;yle;

&#214;re&#286;&#304;n 01.06.2007 Tar&#304;h&#304;nde 10 M&#220;&#350;ter&#304;den Toplam 1.250 Ytl Para Gelm&#304;&#350; Olsun Ben Bu De&#286;er&#304;n Harcama Tablosundak&#304; Tar&#304;h Kismina 01.06.2007 Olarak Ve Gelen Para Kisminada 1.250 Ytl Olarak Kaydolmasini &#304;st&#304;yorum. Hang&#304; G&#220;n Para G&#304;r&#350;&#304; Olmu&#350;sa Onlari Toplasin Ve Toplu Olarak O Tar&#304;he (harcama Tablosunda) Kaydets&#304;n. Bende Harcamalarimi Buraya Yazinca El&#304;mde Ne Kadar Para Kalmi&#350; G&#214;rey&#304;m.

Yardim Olab&#304;l&#304;r M&#304;s&#304;n&#304;z?....
 
Katılım
2 Ocak 2007
Mesajlar
148
Excel Vers. ve Dili
office xp
say&#305;n gulsum1
ben yapamad&#305;m nas&#305;l yapabilece&#287;im konusunda fikriniz var m&#305;?
 
Katılım
22 Ocak 2007
Mesajlar
815
Excel Vers. ve Dili
2003
senin istedi&#287;in &#231;ok basit bir &#351;ey ama &#246;nce yorum yapan arkada&#351;lar yorumu b&#305;rak&#305;p milletin sorular&#305; ile ilgilensinler basit sorular&#305; b&#305;rak&#305;p senin sorun gibi en az 200 sat&#305;rl&#305;k kod gerektiren sorular&#305; cevaplas&#305;nlar yapamazlarsa soruyu es ge&#231;mesinler bu zormu&#351; ben yapamam diyip sezar&#305;n hakk&#305;n&#305; sezara iade etsinler

senin yapaca&#287;&#305;n 1 y&#305;ll&#305;k toplam tablosu 2 ayl&#305;k toplam tablosu 3 g&#252;nl&#252;k toplam tablosu 4 para giri&#351; tablosu 5 para&#231;&#305;k&#305;&#351; tablosu

1=diyelim para giri&#351; tablosunda bu g&#252;ne 10 tane para giri&#351;i yapt&#305;n bu on kayd&#305; toplay&#305;p bir tek kay&#305;t olarak g&#252;nl&#252;ktoplam tablosuna aktaracak e&#287;er sen bu on kay&#305;tttan sonraayn&#305; g&#252;ne ba&#351;ka bir kay&#305;t eklediysen onuda g&#252;nl&#252;ktoplam tablosunda ilgili tarihi bulacak ve onun &#252;st&#252;ne ekleyecek
2=sen diyelim bu g&#252;ne ait harcama tablosuna 5 kay&#305;t girdin bunu toplay&#305;p g&#252;nl&#252;k toplam tablosunda harcama b&#246;l&#252;m&#252;ne yazacak ayn&#305; anda o g&#252;n&#252;n giri&#351; toplam&#305;ndan bunu &#231;&#305;kar&#305;p o g&#252;n&#252;n kalan&#305;na yazacak
3=senin bu girdi&#287;in g&#252;nl&#252;k giri&#351;ler g&#252;nl&#252;k toplam tablosundan sorgulanacak ve toplan&#305;p ayl&#305;ktoplam tablosunda ilgili aya eklenecek toplamlar kendi aralar&#305;nda hesaplancak ayl&#305;k giri&#351; toplam&#305; &#231;&#305;k&#351; toplam&#305; ve kalan
4= senin ayl&#305;k toplam tablosunda biriken toplamlar ilgili y&#305;la toplanarak ve hesaplar&#305; yap&#305;larak ilgili y&#305;la aktar&#305;lacak

b&#246;ylece y&#305;ll&#305;k ayl&#305;k ve g&#252;nl&#252;k sorgulamalar&#305;n kolay olacak ve hangi y&#305;l&#305;n hangi ay&#305;nda hangi g&#252;n&#252;nde ne kadar girmi&#351; ne kadara &#231;&#305;km&#305;&#351; ne kadar kalm&#305;&#351; g&#246;receksin

i&#351;te nas&#305;l yap&#305;laca&#287;&#305;n&#305; anlatt&#305;m yorum yapacak arkada&#351;lar yorum yapmay&#305;n &#231;&#246;z&#252;m yap&#305;n &#231;&#246;z&#252;m bu &#351;ekilde olacak gerisi ado kodlar&#305; hadi kolay gelsin bir hafta sonra g&#246;r&#252;&#351;&#252;r&#252;z yapan &#231;&#305;kmazsa &#246;rne&#287;i koyar&#305;m


"MEYVE VEREN A&#286;A&#199; TA&#350;LANIR B&#304;R G&#220;N GEL&#304;R DALLARI KIRILMI&#350; VE YARALANMI&#350;TIR ARTIK MEYVE VERMEZ OLUR"
 
Son düzenleme:
Katılım
2 Ocak 2007
Mesajlar
148
Excel Vers. ve Dili
office xp
Sayin Gulsum1
ÇaliŞtiĞim Program Ekte. Kopyasi ÜstÜnde Bİraz Anlattiklariniz DoĞrultusunda BİŞeyler Yaptim Ama YanliŞlikla Sİlİndİ :)
Zaten Çok BİŞİde Yapamadim.
 
Katılım
22 Ocak 2007
Mesajlar
815
Excel Vers. ve Dili
2003
asl&#305;nda formdan ayr&#305;l&#305;yorum ama sana s&#246;z verdi&#287;imden yar&#305;n &#246;rne&#287;ini ekleyece&#287;im
 
Katılım
22 Ocak 2007
Mesajlar
815
Excel Vers. ve Dili
2003
yaparım diye söz vermiştim sözümü tutmuş olayım

yarın demiştim ama uğraşıp son olarak senin kodunu yazdım
program şu mantıkla çalışıyor
bir adet günlük para girişlerinin yapıldığı bir TOPLANAN diye bir tablo ve yine aynı ismde formu var bu tablodan girilen paralar tarihleri GÜNLÜK tablosundaki tarihlerle karşılaştırılıyor ve tutanlar o tarihe girdi olarak ekleniyor diğer taraftan yılı ve ayıda ayırarak aynı tabloya ekliyorki biz yıllık ve aylık toplamlara bakabilelim şimdi HARCAMA tablosu ve aynı isimli forma bu forma girdiğimiz harcamalar GÜNLÜK tablosunda tarihler karşılaştırılıyor ve eşleşenlere harcamalar ekleniyor aynı zamanda günlük toplamdan çıkarılıyor ve kalanı yazıyor
sıra geldi sorgulara aylık toplam diye bir sorgu hazırladım toplanan harcanan kalan toplamlarını aldım eğer yılını belirtmediysem bütün yılların aylarını gruplayıp topluyor yok yıl belirtirsem o yılın aylarını gruplayıp topluyor
yıllık toplam ise sadece yılların toplanan harcanan ve kalanını topluyor

şimdi siz programı nasıl kullanacaksınız TOPLANAN formunu açacaksınız ve para girişlerini tarihleri ile beraber yapacaksınız sonra harcama formunu açıp harcama varsa onları gireceksiniz aynı güne isterseniz 10 larca kayıt girebilirsiniz

kodlar
TOPLANAN formunun
'formun eklemesine
Private Sub Form_AfterInsert()
'recorset açıyoruruz
Dim rs1 As New ADODB.Recordset
'recorsete tabloyu atıyoruz
rs1.Open "GÜNLÜK", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
'tabloda kayıt varmı ona bakıyoruz
Do Until rs1.EOF
'kayıt ile forma girdiğimiz tarihi karşılaştırıyoruz
If rs1("TARİH") = TARİH.Value Then
'bu bölümde tabloyu güncelleiyoruz
With rs1
.Update
!YIL = Year(Me.TARİH)
!AY = Month(Me.TARİH)
!TARİH = Me.TARİH
!TOPLANAN = !TOPLANAN + Me.TOPLANAN
.Update
End With
End If
güncelleme işlemi bitene kadar sorgudaki kayıtları tek tek kontrol ediyoruz
rs1.MoveNext
Loop
Set rs1 = Nothing
Set conn = Nothing
Call yoksa
End Sub
'burda ise eğer forma girdiğimiz tarih tablodaki hiçi bir kayıtla eşleşmezse tabloya yeni bir gün olarak kaydediyoruz
Function yoksa()
Dim rs1 As New ADODB.Recordset
rs1.Open "gun1", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
rs1.MoveLast
If rs1("TARİH") < TARİH.Value Then
With rs1
.AddNew
!YIL = Year(Me.TARİH)'burdda yıl alanına tarihe yazdığımız tarihin yılını alaıyoruz
!AY = Month(Me.TARİH) burda ay alanıana tarihin ayını alıyoruz
!TARİH = Me.TARİH
!TOPLANAN = Me.TOPLANAN
.Update
End With
End If
Set rs1 = Nothing
Set conn = Nothing
End Function
 
Katılım
22 Ocak 2007
Mesajlar
815
Excel Vers. ve Dili
2003
yaparım diye söz vermiştim sözümü tutmuş olayım

yarın demiştim ama uğraşıp son olarak senin kodunu yazdım
program şu mantıkla çalışıyor
bir adet günlük para girişlerinin yapıldığı bir TOPLANAN diye bir tablo ve yine aynı ismde formu var bu tablodan girilen paralar tarihleri GÜNLÜK tablosundaki tarihlerle karşılaştırılıyor ve tutanlar o tarihe girdi olarak ekleniyor diğer taraftan yılı ve ayıda ayırarak aynı tabloya ekliyorki biz yıllık ve aylık toplamlara bakabilelim şimdi HARCAMA tablosu ve aynı isimli forma bu forma girdiğimiz harcamalar GÜNLÜK tablosunda tarihler karşılaştırılıyor ve eşleşenlere harcamalar ekleniyor aynı zamanda günlük toplamdan çıkarılıyor ve kalanı yazıyor
sıra geldi sorgulara aylık toplam diye bir sorgu hazırladım toplanan harcanan kalan toplamlarını aldım eğer yılını belirtmediysem bütün yılların aylarını gruplayıp topluyor yok yıl belirtirsem o yılın aylarını gruplayıp topluyor
yıllık toplam ise sadece yılların toplanan harcanan ve kalanını topluyor

şimdi siz programı nasıl kullanacaksınız açılan formda TOPLANAN kısmına para girişlerini tarihleri ile beraber yapacaksınız sonra harcama HARCAMA kısmına harcama varsa onları gireceksiniz aynı güne isterseniz 10 larca kayıt girebilirsiniz alt formlarda günlük aylık ve yıllık toplamlar otomotik gelecektir

kodlar
TOPLANAN formunun
'formun eklemesine
Private Sub Form_AfterInsert()
'recorset açıyoruruz
Dim rs1 As New ADODB.Recordset
'recorsete tabloyu atıyoruz
rs1.Open "GÜNLÜK", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
'tabloda kayıt varmı ona bakıyoruz
Do Until rs1.EOF
'kayıt ile forma girdiğimiz tarihi karşılaştırıyoruz
If rs1("TARİH") = TARİH.Value Then
'bu bölümde tabloyu güncelleiyoruz
With rs1
.Update
!YIL = Year(Me.TARİH)
!AY = Month(Me.TARİH)
!TARİH = Me.TARİH
!TOPLANAN = !TOPLANAN + Me.TOPLANAN
.Update
End With
End If
güncelleme işlemi bitene kadar sorgudaki kayıtları tek tek kontrol ediyoruz
rs1.MoveNext
Loop
Set rs1 = Nothing
Set conn = Nothing
Call yoksa
End Sub
'burda ise eğer forma girdiğimiz tarih tablodaki hiçi bir kayıtla eşleşmezse tabloya yeni bir gün olarak kaydediyoruz
Function yoksa()
Dim rs1 As New ADODB.Recordset
rs1.Open "gun1", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
rs1.MoveLast
If rs1("TARİH") < TARİH.Value Then
With rs1
.AddNew
!YIL = Year(Me.TARİH)'burdda yıl alanına tarihe yazdığımız tarihin yılını alaıyoruz
!AY = Month(Me.TARİH) burda ay alanıana tarihin ayını alıyoruz
!TARİH = Me.TARİH
!TOPLANAN = Me.TOPLANAN
.Update
End With
End If
Set rs1 = Nothing
Set conn = Nothing
End Function
 

assenucler

Altın Üye
Katılım
19 Ağustos 2004
Mesajlar
3,552
Excel Vers. ve Dili
Ofis 365 TR 64 Windows 11 Home Single Language x64 TR
Altın Üyelik Bitiş Tarihi
29-05-2025
Sn. Gulsum

Sitemize b&#252;y&#252;k emek veren ve renk katan konusunda uzman bir birey olarak karar&#305;n&#305;za &#252;z&#252;lmekle birlikte sayg&#305; duyuyorum.

Hepimizin yaz&#305;n bu s&#305;cak g&#252;nlerinde biraz dinlenmeye ve serinli&#287;e ihtiyac&#305;m&#305;z var. Bize verdi&#287;iniz katk&#305; i&#231;in kendi ad&#305;ma hakk&#305;n&#305;z&#305; helal ediniz. Sizi arayaca&#287;&#305;m&#305;z&#305; bilmenizi isterim. Her &#351;ey g&#246;nl&#252;n&#252;zce olsun. Sevgiyle ve sa&#287;l&#305;cakla ho&#351;&#231;akal&#305;n.
 
Katılım
2 Ocak 2007
Mesajlar
148
Excel Vers. ve Dili
office xp
say&#305;n gulsum1
forumdan ayr&#305;lman&#305;za &#252;z&#252;ld&#252;&#287;&#252;m&#252; bilmenizi isterim.
bu foruma &#231;ok eme&#287;iniz ge&#231;ti.
yapt&#305;&#287;&#305;n&#305;z her&#351;ey i&#231;in &#231;ok te&#351;ekk&#252;r ederim....
 
Üst