reportta ara toplam neden yanlış hesaplıyor.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

reportta ara toplam neden yanlış hesaplıyor.

Mesaj gönderen selman »

s.a

Kod: Tümünü seç

value:=value+standart_tanimlar['borc']-standart_tanimlar['alacak'];
bu neden ara toplam alarak gitmiyor.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Cevapsız başlıklara bakıyordum da, genelinde eksik bilgi verildiği için olduğu görülüyor.

- QuickReport mu kullanıyorsunuz yoksa başkasını mı ? Yani bir yazıcı çıktısı mı bu bahsettiğiniz report ?

- Value nedir ? nerenin parametresidir ? Ben size binlerce Value sayabilirim arasından seçmek daha kolay olmayacaktır. :wink:

- Bu kodu nereden buldunuz ? siz yazmış olsaydınız bağlantısını da biliyor olurdunuz ve sorunuz için gerekli destek bilgiyi verirdiniz diye düşünüyorum.

- Ara toplam olarak gitmiyor demişsiniz ya, bu kodu nereye yazdınız ki projeniz bunu ara toplam olarak kabul etsin ?

- Bakın bir soru sordunuz bu sorunuz bir sürü soruya gebe kaldı. Belki de çözümünüzü ürettiniz. Çözüm üretmişseniz çözüldü diye buraya not düşerseniz ve çözüm hakkında küçük ipucu verirseniz cevapsız başlıklar en aza inecektir.
Resim
Resim ....Resim
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

Mesaj gönderen selman »

s.a
sayın hocam aslında kusura bakamyın biraz alelacele yazmıştım da..Ben Report builde raporlama aracı kullanıyorum. Bu koduda ben yazdım.Benim yapmak istediğim cari hesap ekstresidende bakiye bölümünüde aratoplam alarak gidnece report builder sapıtıyor neden oluyor acaba onu anlayamaıştım.birde acaba cari hesap ekstresi almak isterken 4 tabloyu union ile birleştirme yapıyorum.Durum ondanda kaynaklanabilirmi.Herkese kolay gelsin iyi çalışmalar.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

-Report builder kullanmadığımdan kounuyu bilen arkadaşlara devrediyorum.

- Quickreport demiş olsaydınız, ara toplam için kullanılmak üzere bir tane global değişken oluşturup, her ara toplam gösterilecek Summary bandının OnBeforePrint eventinde QRLabel'a aktarıp ardından 0 ile eşitleyerek bir sonraki sayfa toplamı almak için hazır hale getirin derdim.

- Diğer yandan UNION ile birleştirme yapıyor olmanız bir sorun teşkil etmez, tersine işleri kolaylaştırır. Ardışık olarak eklenen alan sayı ve türleri aynıdır.
Resim
Resim ....Resim
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

Mesaj gönderen selman »

s.a hocam şimdi union ile birleştirdiğim tabloları insert into ile yeni bir tabloya aktarmam mümkünmü

Kod: Tümünü seç

   select distinct  bagla, max(ckodu)as ckodu,max(unvani)as unvani, max(id)as id,max(turu)as turu,max(tarih)as tarih,max(borc)as borc,max(alacak)as alacak,max(bakiye)as bakiye,max(fis_no)as fis_no,max(aciklama)as aciklama,max(stokkodu)as stokkodu,max(birim)as birim,max(bfiyat)as bfiyat,max(miktar)as miktar,max(tutar)as tutar from cariislemba
 group by bagla
 union
 select distinct bagla, max(ckodu)as ckodu,max(unvani)as unvani, max(id)as id,max(turu)as turu,max(tarih)as tarih,max(borc)as borc,max(alacak)as alacak,max(bakiye)as bakiye,max(fis_no)as fis_no,max(aciklama)as aciklama,max(stokkodu)as stokkodu,max(birim)as birim,max(bfiyat)as bfiyat,max(miktar)as miktar,max(tutar)as tutar  from malalim
 group by
 bagla
 union
 select
 distinct bagla, max(ckodu)as ckodu,max(unvani)as unvani, max(id)as id,max(turu)as turu,max(tarih)as tarih,max(borc)as borc,max(alacak)as alacak,max(bakiye)as bakiye,max(fis_no)as fis_no,max(aciklama)as aciklama,max(stokkodu)as stokkodu,max(birim)as birim,max(bfiyat)as bfiyat,max(miktar)as miktar,max(tutar)as tutar from k_islemler
 group by
 bagla
 union
select distinct bagla,
 max(ckodu)as ckodu,max(unvani)as unvani, max(id)as id,max(turu)as turu,max(tarih)as tarih,max(borc)as borc,max(alacak)as alacak,max(bakiye)as bakiye,max(fis_no)as fis_no,max(aciklama)as aciklama,max(stokkodu)as stokkodu,max(birim)as birim,max(bfiyat)as bfiyat,max(miktar)as miktar,max(tutar)as tutar from ceksenet_bordro  group by
bagla
ben bunu mesela yeni boş bir tabloya aktarmak istiyorum.Nasıl yapapbilriim.Bunu yaparsam sanırım bakiye bölümü de düzelir.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Evet tabii ki mümkün.

- Uygulama formatı

Kod: Tümünü seç

INSERT INTO YeniTablo ( alan1, alan2, alan3, alan4 .... alanN ) SELECT ....
Resim
Resim ....Resim
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

Mesaj gönderen selman »

s.a hocam sizin dediğiniz gibi bende denedim hata veriyordu .birdaha deneyeim.
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

Mesaj gönderen selman »

s.a hocam

Kod: Tümünü seç

insert into fatura_detay_tablo (bagla,ckodu,unvani,id,turu,tarih,borc,alacak,bakiye,fis_no,
aciklama,stokkodu,birim, bfiyat,miktar,tutar)
select distinct  bagla, max(ckodu)as ckodu,max(unvani)as unvani,
 max(id)as id,max(turu)as turu,max(tarih)as tarih,max(borc)as borc,max(alacak)as alacak
 ,max(bakiye)as bakiye,max(fis_no)as fis_no,max(aciklama)as aciklama,
 max(stokkodu)as stokkodu,max(birim)as birim,max(bfiyat)as bfiyat,max(miktar)as miktar
 ,max(tutar)as tutar from cariislemba 
 group by bagla 
 union 
 select distinct bagla, max(ckodu)as ckodu,max(unvani)as unvani, max(id)as id,max(turu)as turu,max(tarih)as tarih,max(borc)as borc,max(alacak)as alacak,max(bakiye)as bakiye,max(fis_no)as fis_no,max(aciklama)as aciklama,max(stokkodu)as stokkodu,max(birim)as birim,max(bfiyat)as bfiyat,max(miktar)as miktar,max(tutar)as tutar  from malalim 
 group by 
 bagla 
 union 
 select 
 distinct bagla, max(ckodu)as ckodu,max(unvani)as unvani, max(id)as id,max(turu)as turu,max(tarih)as tarih,max(borc)as borc,max(alacak)as alacak,max(bakiye)as bakiye,max(fis_no)as fis_no,max(aciklama)as aciklama,max(stokkodu)as stokkodu,max(birim)as birim,max(bfiyat)as bfiyat,max(miktar)as miktar,max(tutar)as tutar from k_islemler 
 group by 
 bagla 
 union 
select distinct bagla, 
 max(ckodu)as ckodu,max(unvani)as unvani, max(id)as id,max(turu)as turu,max(tarih)as tarih,max(borc)as borc,max(alacak)as alacak,max(bakiye)as bakiye,max(fis_no)as fis_no,max(aciklama)as aciklama,max(stokkodu)as stokkodu,max(birim)as birim,max(bfiyat)as bfiyat,max(miktar)as miktar,max(tutar)as tutar from ceksenet_bordro  group by 
bagla 
bu şekilde denedim hata veriyor sqlde
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Hocam hatayı neden yazmıyorsun ? Hata bize bir sonraki adım hakkında fikir verir.

1. Burada sayamadım ama INSERT INTO'daki alan adı kadar alan olması lazım.

2. Farklı tablolardan veri akışı olduğuna göre benzer alan isimlerin varsa onların başına TabloAdını ekleyip refere etmelisin.

3. Bir de daha önce bu fatura_detay_tablo tablosunu create etmiş miydin? Bu tablo yoksa SELECT INTO kullanmalısın.

ve nice bir sürü cevap ... Lütfen zaman kazandırmaya çalış.. Hem sen kazanırsın hem de sabrı sınırlı bizler...
Resim
Resim ....Resim
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

Mesaj gönderen selman »

s.a
öncelikle kusura bakmayın.
verdiği sql hatası
[/code]
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 9, char 2.
union.

Kod: Tümünü seç

bu....
fatura_detay_tablosu daha önce creaate edilmiş bir tablo.
benzer alan isimleri derken neyi kastetmek isteidğiniz tam olarak anlayamadım.herşey için tşkler. hocam çözümünü tam oalrak nasıl yapıcağımı buşlabilmiş değilim
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- SQL cümlesini UNION kısımlarından bölerek dört farklı SQL cümlesine dönüştürerek ardışık olarak çalıştır ve öncelikle problemini çöz, ondan sonra UNION olayına devam edilir.
Resim
Resim ....Resim
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

Mesaj gönderen selman »

SQL cümlesini UNION kısımlarından bölerek dört farklı SQL cümlesine dönüştürerek ardışık olarak çalıştırdım.herhangi bir problem yok problem sanırım union kullandığımı için .Nasıl yapmamız gerekiyor.Saygılarımla
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Veritabanı olarak ne kullanıyorsunuz ? MSSQL, Access ADO, MySQL vs.

Örnek cümleler :
http://www.really-fine.com/SQL_union.html
Resim
Resim ....Resim
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

Mesaj gönderen selman »

Firebird kullanıyorum.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
union kullandığınız zaman group by deyimi sadece en sondaki sql için yazın. alan adı yerine alanın sıra numarasını verin.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Cevapla