1

Konu: hesaplama

Herkese merhabalar,
İki tablom var birinde gelecek malzemelerin miktarları ,diğerinde de ihtiyaçlarım var.
Yapmak istediğim, gelecek malzemeye göre ihtiyaç tablomdaki malzemelerin ihtiyaç miktarlarını eritmek.nasıl yapabilirim yardımcı olabilirseniz sevinirim.

Visual Fox Pro
CREATE CURSOR crsgelecek (siparisno c(12), kod c(16),miktar n(8),gelen n(8))

INSERT INTO crsgelecek VALUES ( "940421" , "LL-21", 5000,4000)
INSERT INTO crsgelecek VALUES ( "940441" , "LL-21", 5000,0)
INSERT INTO crsgelecek VALUES ( "940421" , "LL-22", 6000,5000)
INSERT INTO crsgelecek VALUES ( "940441" , "LL-22", 2000,0)
 
 
CREATE CURSOR crshesapkitap ( kod c(16),ihtiyac n(8))
INSERT INTO crshesapkitap VALUES ( "LL-21" ,245 )
INSERT INTO crshesapkitap VALUES ( "LL-21" ,1480 )
INSERT INTO crshesapkitap VALUES ( "LL-21" ,750 )
INSERT INTO crshesapkitap VALUES ( "LL-22" ,2000 )
INSERT INTO crshesapkitap VALUES ( "LL-22" ,800 )
INSERT INTO crshesapkitap VALUES ( "LL-22" ,4300 )
 
***bu tablo crshesapkitap tablosu olacak istediğim görünsün diye adını farklı yazdım
 
CREATE CURSOR crsistedigimsonuç ( kod c(16),ihtiyac n(8))
INSERT INTO crsistedigimsonuç VALUES ( "LL-21" ,0 )
INSERT INTO crsistedigimsonuç VALUES ( "LL-21" ,0 )
INSERT INTO crsistedigimsonuç VALUES ( "LL-21" ,0 )
INSERT INTO crsistedigimsonuç VALUES ( "LL-22" ,0)
INSERT INTO crsistedigimsonuç VALUES ( "LL-22" ,0 )
INSERT INTO crsistedigimsonuç VALUES ( "LL-22" ,4100)
Kader, beyaz kağıda sütle yazılmış yazı
Elindeyse beyazdan, gel de sıyır beyazı. (NFK)

2

Re: hesaplama

Tarik,
Ben buradaki mantigi anlayamadim. Miktar ne, gelen ne? 4100 nereden cikti?

3

Re: hesaplama

miktar sipariş miktarı gelen ise o sipariş miktarından gelen miktar
LL-22 için izah etmeye çalışayım
2 siparişimiz var
1.sipariş 6.000 kg fakat 5.000 kg si daha önce gelmiş bakiyemiz 1.000 kg
2.sipariş 2.000 kg gelen yok dolayısıyla bakiyemiz 2.000kg

bu kod için ihtiyaçlarımız toplam da 7.100 kg
gelecek olan sipariş bakyelirimiz ise  3.000 kg
sipariş bakiyelerine göre ihtiyaçlarımızı satır satır eritirsek son satırdaki 4.300 kg lik ihtiyacımız , 4.100 kg düşüyor.
bunu hesaplayacak kodu yazmaya çalışıyorum

Kader, beyaz kağıda sütle yazılmış yazı
Elindeyse beyazdan, gel de sıyır beyazı. (NFK)

4

Re: hesaplama

genemi anlatamadım derdimi smile

Kader, beyaz kağıda sütle yazılmış yazı
Elindeyse beyazdan, gel de sıyır beyazı. (NFK)

5

Re: hesaplama

Anlattin da ben cikmistim:)

Visual Fox Pro
Select ihtiyac.kod, Sum(Max(ihtiyac - Nvl(elde,0),0)) As ihtiyac From ;

    (Select kod, Sum(ihtiyac) As ihtiyac From crshesapkitap Group By kod) ihtiyac ;
    left Join ;
    (Select kod, Sum(miktar-gelen) As elde From crsgelecek Group By kod) elde ;
    on ihtiyac.kod = elde.kod ;
    GROUP By ihtiyac.kod

6

Re: hesaplama

çetin bey sonuç olarak ayrı bir tablo çıkartıyor sonuç doğru ama benim istediğim ayrı bir tablo değil crshesapkitap tablosunda işlemi gerçekleştirmesi .
gelecek olan malzemeyi bulduk LL-22 için 3.000kg
crshesapkitap dosyasında ihtiyaçları bulup sıfırlıyacağız
kod        ihtiyaç
LL-22 = 2.000  gelecek olan 3.000 kg olduğu için bu sıfırlanacak kalan 1.000 kg
LL-22 = 800   gelecek olan 1.000 kg ye düştü burası da sıfırlanacak kalan 200 kg oldu
LL-22 = 4.300  gelecek olan 200 kg ihtiyaç 4.300 kg ,gelecek kadar eksilteceğiz ihtiyaç hanesini 4.100 olarak değiştireceğiz

kusura bakmayın tam olarak izah edemedim ne istediğimi sizi uğraştırıyorum

Kader, beyaz kağıda sütle yazılmış yazı
Elindeyse beyazdan, gel de sıyır beyazı. (NFK)

7

Re: hesaplama

scan ... endscan kullan. Tablonda primaryKey'ler yok onun icin SQL ile olacak bir is gibi gorunmuyor bana. Ya da eski datayi sil yenisini koy.