ates_bey Posted July 22, 2011 Share Posted July 22, 2011 Merhaba TnC Tr üyleri Sivas Çedaş'a bir borç takip programı yazıyorum Delphi 7 ile. Bütün sorgulama,kaydetme ve takip işlemlerini tamamladım. Fakat bir eksiğim var. Abone.Net ' i aranızda duyanlar vardır. Abone.Netten aylık olarak kalıntı fatura listesi veriliyor.Merkez köyler dahil yaklaşık 320.000 abone var.Bu kalıntı listesinde ise 70.000 gibi bir abone sayısı oluyor ve Excel ile çıktısı alınıyor. Benim sizden yardım istediğim nokta şu ! Şu anda 7. ayın kalıntı fatura listesini aldık ve bu listenin içinde 55 bin küsür borcunu ödemeyen abone var. Örn : Mahmut KAYA - ENERJİ KESİK Bir sonraki ayın yani 8. ayın kalıntı fatura listesi'nin çıktısı alındığı zaman diyelimki aynı şekilde yine aynı abone borcunu ödemedi diyelim yani ; Örn : Mahmut KAYA - İCRAYA SEVK EDİLDİ (bir sonraki ay icraya sevk edilmiş olarak geliyor.) [b]ZURNANIN ZIRT DEDİĞİ YER İSE BURASI [/b] [b]Access veya Mssql 2005 fark etmez hangi yolu gösterirseniz onda yapacağım.;[/b] 7. ay kalıntı fatura listesinde ve 8. ay kalıntı fatura listesinde aynı aboneler mevcut olacak ve yeni abonelerde olacaktır muhtemelen. Yani durum şundan ibaret; Ben bir sabit veri tabanı oluşturacağım bu veri tabanının içerisine ilk olarak 7. ayın listesini veri tabanına import edeceğim ve bir sonraki ayın listesini veri tabanına import ettiğimde [b]yeni alan açmaktansa aynı isimde bulunan abonelerin üzerine yazacak.[/b]Bunu nasıl yapabilirim yaptığım ilk resmi iş olacak ! Yardımlarınızı bekliyorum. Quote Link to comment Share on other sites More sharing options...
abdullahTR Posted July 22, 2011 Share Posted July 22, 2011 [size="4"][b]UPDATE[/b][b] urun [/b][b]SET[/b][b] ADI='AAAA',MARKA='BBBB' [/b][b]WHERE[/b][b] [/b][b]BARKOD=11[/b][b] [/b][b]bu kodu kullanabilirsin[/b][b] [/b][b]mantıgı:barkod numarası 11 adı aaa olan markasıı bbb olan urunu güncelle bunu kullanabilirsin mssql2008 [/b][/size] Quote Link to comment Share on other sites More sharing options...
ates_bey Posted July 22, 2011 Author Share Posted July 22, 2011 (edited) [quote name='PoweredByAbdullah' date='22 July 2011 - 19:05 ' timestamp='1311361524' post='1050148'] [size="4"][b]UPDATE[/b][b] urun [/b][b]SET[/b][b] ADI='AAAA',MARKA='BBBB' [/b][b]WHERE[/b][b] [/b][b]BARKOD=11[/b][b] [/b][b]bu kodu kullanabilirsin[/b][b] [/b][b]mantıgı:barkod numarası 11 adı aaa olan markasıı bbb olan urunu güncelle bunu kullanabilirsin mssql2008 [/b][/size] [/quote] PoweredByAbdullah teşekkür ederim fakat aradığım yanıt bu değil.Bu sadece 1 satır için geçerli olacaktır.ben binlerce aboneden bahsediyorum Abdullah bey Düzenleme : Ayrıca ben isim belirlemeyeceğim o aynı olan değerleri bulup üzerine yazacak. Edited July 22, 2011 by ates_bey Quote Link to comment Share on other sites More sharing options...
abdullahTR Posted July 22, 2011 Share Posted July 22, 2011 hımm bilemicem bugün kurst ögrendim denk geldi ben yazıyım dedim ama çözdürmeye calısırım ben bunu hocaya mail atcam hocaya sorunu Quote Link to comment Share on other sites More sharing options...
ates_bey Posted July 22, 2011 Author Share Posted July 22, 2011 (edited) valla süper olur uçan kaçan çok oluyor ama yapan pek çıkmadı bende bi mühendise sordum ama tık yok Edited July 22, 2011 by ates_bey Quote Link to comment Share on other sites More sharing options...
abdullahTR Posted July 22, 2011 Share Posted July 22, 2011 yardım eder diye tahmin ediyorum ama belli olmaz Quote Link to comment Share on other sites More sharing options...
ates_bey Posted July 22, 2011 Author Share Posted July 22, 2011 Sanırım UNION veya UNION ALL komutu ile çıkarılabilecek bişey ama bi türlü beceremedim gitti malesef Quote Link to comment Share on other sites More sharing options...
abdullahTR Posted July 22, 2011 Share Posted July 22, 2011 ben sana en gec yarın dönerim mesajıma cevap verirse hoca Quote Link to comment Share on other sites More sharing options...
ates_bey Posted July 22, 2011 Author Share Posted July 22, 2011 tamam inşallah bir çözüm yolu çıkar. Quote Link to comment Share on other sites More sharing options...
galetis Posted July 22, 2011 Share Posted July 22, 2011 Tablo sütunlarını buraya yazabilirsen trigger yazabilirim. Quote Link to comment Share on other sites More sharing options...
ates_bey Posted July 22, 2011 Author Share Posted July 22, 2011 çok minnettar olurum Sütunlar şöyle : Abone no,Sayaç no,Sayaç marka,Durum kodu,Adres,Abone şirket adı,Durumu,Tahsil kabiliyeti,Tarih,İşlem,Son durum. zahmet olacak ama şimdiden çok teşekkür ederim. Quote Link to comment Share on other sites More sharing options...
galetis Posted July 22, 2011 Share Posted July 22, 2011 Hmm şimdi anladım. Eğer sen eski verilerin üstüne kayıt yaparsan geçen ayın verileri silinecektir. bu nedenle her ay yine insert intoyla ekletip veriyi çekerken kullanıcının eklenen en son tarihteki kaydını çekebilirsin. Böylece eski kayıtlarda silinmemiş olacaktır ve borçların toplamınıda kolayca alabilirsin. Quote Link to comment Share on other sites More sharing options...
abdullahTR Posted July 22, 2011 Share Posted July 22, 2011 Hoca mesaj yazdı arkadasım bana yazdıgını aynen iletiyorum sana [quote][color=#333333]şimdi çözüm şöyle olmalı birinci liste bir tabloda 7.ay, ikinci site bi tabloda 8. ay bu iki tablo bi fonksiyon ile 7. ay tablosunda birleştirilecek kayıtlar abone numarasının aynısı varsa update yani güncelleme yok ise insert yani kayıt edilecek. bu şekilde kolayca yapabilir.[/color][/quote] Quote Link to comment Share on other sites More sharing options...
ates_bey Posted July 22, 2011 Author Share Posted July 22, 2011 [quote name='galetis' date='22 July 2011 - 20:04 ' timestamp='1311365051' post='1050206'] Hmm şimdi anladım. Eğer sen eski verilerin üstüne kayıt yaparsan geçen ayın verileri silinecektir. bu nedenle her ay yine insert intoyla ekletip veriyi çekerken kullanıcının eklenen en son tarihteki kaydını çekebilirsin. Böylece eski kayıtlarda silinmemiş olacaktır ve borçların toplamınıda kolayca alabilirsin. [/quote] galetis hocam şimdi şöyle bir durum var eğer geçen ayki tablo'da ve son gelen tabloda aynı abone var ise üzerine yazacak eğer yok ise yeni bir satır açıp kaydedecek.tabi bunu otomatik bir sorguya bağlamak gerekecek. [quote name='PoweredByAbdullah' date='22 July 2011 - 20:05 ' timestamp='1311365106' post='1050208'] Hoca mesaj yazdı arkadasım bana yazdıgını aynen iletiyorum sana.. [color=#333333][font=verdana, tahoma, sans-serif][size=2]şimdi çözüm şöyle olmalı birinci liste bir tabloda 7.ay, ikinci site bi tabloda 8. ay bu iki tablo bi fonksiyon ile 7. ay tablosunda birleştirilecek kayıtlar abone numarasının aynısı varsa update yani güncelleme yok ise insert yani kayıt edilecek. bu şekilde kolayca yapabilir.[/size][/font][/color] [/quote] ilgin için çok teşekkür ederim.tabiki mantık bu ama bunu yapabilecek komut lazım Quote Link to comment Share on other sites More sharing options...
mbayrak Posted July 22, 2011 Share Posted July 22, 2011 İmport işlemini nasıl yapıyorsun bilmiyorum ama delphi tarafından döngü ile satır satır yapıyorsan şu kodla kontrol edebilirsin: UPDATE Tablo SET (...) WHERE aboneno=import_edilen_abone_no IF @@ROWCOUNT=0 INSERT INTO Tablo VALUES (...) Quote Link to comment Share on other sites More sharing options...
KintaRo Posted July 22, 2011 Share Posted July 22, 2011 ams de yaparım ben bunu ama delphi bilmiyorum. import edilecek ve import edilen db fetch edilir. while döngüsü yaparak if şartlandırması eklenir, satirdaki 1. veri isim olsun diyelim eğer import edilen veri ile isim den fetch edilen veri aynı ise update komutu devreye girer, değilse insert into ile yeni satir eklenir basitçe mantık bu. Kolay aslında mantığı kavrarsan hemen yaparsın tüm dillerde bu mantıkla sonuca ulaşırsın diye tahmin ediyorum Quote Link to comment Share on other sites More sharing options...
abdullahTR Posted July 23, 2011 Share Posted July 23, 2011 [quote][color=#333333]cursor kulması gerek cursor bu iş için ona yeter yada araya program yazması lazım bi tablodan alıp diğerini kontrol edecek bi program.[/color][/quote] hocam bunu yazdı tabi ben bu seviyeye gelmedim ögrenirken anlamadım Quote Link to comment Share on other sites More sharing options...
ates_bey Posted July 23, 2011 Author Share Posted July 23, 2011 (edited) [quote name='KintaRo' date='22 July 2011 - 21:08 ' timestamp='1311368881' post='1050254'] ams de yaparım ben bunu ama delphi bilmiyorum. import edilecek ve import edilen db fetch edilir. while döngüsü yaparak if şartlandırması eklenir, satirdaki 1. veri isim olsun diyelim eğer import edilen veri ile isim den fetch edilen veri aynı ise update komutu devreye girer, değilse insert into ile yeni satir eklenir basitçe mantık bu. Kolay aslında mantığı kavrarsan hemen yaparsın tüm dillerde bu mantıkla sonuca ulaşırsın diye tahmin ediyorum [/quote] evet kintaro hocam dediğin gibi mantık bu.programın ara yüzünü delphi ile yaptım MSSQL kullanarak veri tabanını yaptım.inşallah bu mantığı koda dökebilirim ams hiç kurmadımda denemedimde ne yalan söliyim Delphi baya bi işimi görüyor benim tek can sıkan taraf sql'de binlerce aboneyi otomatik olarak tarayıp aynı verileri üzerine güncellemesi [quote name='PoweredByAbdullah' date='23 July 2011 - 00:48 ' timestamp='1311382113' post='1050311'] hocam bunu yazdı tabi ben bu seviyeye gelmedim ögrenirken anlamadım [/quote] eyvallah Abdullah biraz araştırmak lazım bu cursor olayını Edited July 23, 2011 by ates_bey Quote Link to comment Share on other sites More sharing options...
KintaRo Posted July 23, 2011 Share Posted July 23, 2011 delphi ile yapamazsan haber et ams ile yapalım bi uygulama db işlemini hallettsin. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.