Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
master detail raporlama
#1
master dbgrid de ürünler tablosundaki ürünleri gösteriyorum detail dbgrid de ise master dbgrid de seçili olan ürüne ait hareketleri. birbirlerine master/detail soruce ile bağlı. farklı bir kod yazmadım onlar için. benim isteğim raporlama kısmında örneğin stok girişi yapılan ürünlerin listesini almak istiyorum master / detail olarak
üst satırda ürünler tablosundaki ürünün bilgileri
altında o ürüne ait seçili tarihler arasındaki ürün hareketleri

tek ürün için aldığım zaman raporlamamda sıkıntı yok fakat hepsini listele dediğim zaman hem ürünler tablosunda fazla kayıt olduğundan dolayı hazırlaması uzun sürüyor hemde hareketi olmayan ürünleri de listeliyor

ben hepsini dediğim zaman hareket tablosunda hareketleri olan ürünlerin detaylı hareket listesini almak istiyorum
Cevapla
#2
Raporlamayı nerede yapıyorsunuz eğer FastReport ile yapıyorsanız bu dediğinizi aynı şekilde orada yapabilirsiniz
Yada cxGrid kullanıyorsanız burada da aynı şekilde olur
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz. 
Cevapla
#3
(24-01-2019, Saat: 11:12)adelphiforumz Adlı Kullanıcıdan Alıntı: Raporlamayı nerede yapıyorsunuz eğer FastReport ile yapıyorsanız bu dediğinizi aynı şekilde orada yapabilirsiniz
Yada cxGrid kullanıyorsanız burada da aynı şekilde olur

raporlama yı fastreport ile yapıyorum .
sorunumu şu şekilde hallettim

select * from stokkart where stokkartid in (select stokkartid from stokhareket)

şeklinde master tablomu belirledim dolayısıyla da raporlama işlemim de hareketi olan ürünleri listelemiş oluyor böylece
teşekkür ederim ilginize
Cevapla
#4
(24-01-2019, Saat: 11:17)cvheneburi Adlı Kullanıcıdan Alıntı:
(24-01-2019, Saat: 11:12)adelphiforumz Adlı Kullanıcıdan Alıntı: Raporlamayı nerede yapıyorsunuz eğer FastReport ile yapıyorsanız bu dediğinizi aynı şekilde orada yapabilirsiniz
Yada cxGrid kullanıyorsanız burada da aynı şekilde olur

raporlama yı fastreport ile yapıyorum .
sorunumu şu şekilde hallettim

select * from stokkart where stokkartid in (select stokkartid from stokhareket)

şeklinde master tablomu belirledim dolayısıyla da raporlama işlemim de hareketi olan ürünleri listelemiş oluyor böylece
teşekkür ederim ilginize
aşağıdaki şekilde aynı sonucu verir ve daha performanslı olur görüşündeyim
select sk.* from stokkart sk
           inner join stokhareket sh on sh.stokkartid = sk.stokkartid
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz. 
Cevapla
#5
bu şekilde sorgu yaptığım zaman aynı ürünü birden fazla kez gösteriyor
Cevapla
#6
(24-01-2019, Saat: 12:16)cvheneburi Adlı Kullanıcıdan Alıntı: bu şekilde sorgu yaptığım zaman aynı ürünü birden fazla kez gösteriyor

Merhaba,
Join işlemi yalnızca Inner ile sınırlı değil. Join ifadesini daha iyi anlamak için @yhackup bey'in daha önce yazmış olduğu MySQL Join Kullanımları konusuna göz atmanız faydalı olacaktır.
Cevapla
#7
(24-01-2019, Saat: 12:16)cvheneburi Adlı Kullanıcıdan Alıntı: bu şekilde sorgu yaptığım zaman aynı ürünü birden fazla kez gösteriyor

Merhaba.

Her iki tabloda da istenilen alanları seçip GROUP BY ile gruplandırırısanız istediğiniz şekilde bir sonuç elde edersiniz.
Bazen daha ileriye ulaşmak için bir kaç adım geri gitmek mecburidir. Çünkü en ileri sıçrayışlar iki adım geriden başlar.
Cevapla
#8
(24-01-2019, Saat: 11:44)adelphiforumz Adlı Kullanıcıdan Alıntı:
(24-01-2019, Saat: 11:17)cvheneburi Adlı Kullanıcıdan Alıntı: raporlama yı fastreport ile yapıyorum .
sorunumu şu şekilde hallettim

select * from stokkart where stokkartid in (select stokkartid from stokhareket)

şeklinde master tablomu belirledim dolayısıyla da raporlama işlemim de hareketi olan ürünleri listelemiş oluyor böylece
teşekkür ederim ilginize
aşağıdaki şekilde aynı sonucu verir ve daha performanslı olur görüşündeyim
select sk.* from stokkart sk
           inner join stokhareket sh on sh.stokkartid = sk.stokkartid

(24-01-2019, Saat: 12:29)ihalilcoban Adlı Kullanıcıdan Alıntı:
(24-01-2019, Saat: 12:16)cvheneburi Adlı Kullanıcıdan Alıntı: bu şekilde sorgu yaptığım zaman aynı ürünü birden fazla kez gösteriyor

Merhaba.

Her iki tabloda da istenilen alanları seçip GROUP BY ile gruplandırırısanız istediğiniz şekilde bir sonuç elde edersiniz.

select * from stokkart,stokhareket where stokkart.stokkartid=stokhareket.stokkartid

group by stokhareket.stokkartid

bu şekilde yazdığım zaman hata veriyor
Cevapla
#9
SQL Konusunda biraz araştırma yapman lazım arkadaşım
YouTube Delphi Tips
"Yaşlanarak değil, yaşayarak tecrübe kazanılır. Zaman insanları değil, armutları olgunlaştırır" Peyami Safa
WWW
Cevapla
#10
(24-01-2019, Saat: 13:19)uparlayan Adlı Kullanıcıdan Alıntı: SQL Konusunda biraz araştırma yapman lazım arkadaşım
teşekkür ederim üstad Blush
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Fast report Master-Detail delphicim 1 287 17-10-2023, Saat: 19:25
Son Yorum: delphicim
  FastReport detail tablo gösterim sorunu Frrst 12 1.808 14-07-2023, Saat: 17:10
Son Yorum: hi_selamlar
  Fast Report Master Data bünyamin68 13 2.867 22-11-2022, Saat: 12:18
Son Yorum: bünyamin68
  Toplu Raporlama cemakkus 3 1.027 25-08-2022, Saat: 09:24
Son Yorum: cemakkus
  FiredacJosnReflect master detail kayıt ekleme JavaCiva 0 399 23-11-2021, Saat: 23:58
Son Yorum: JavaCiva



Konuyu Okuyanlar: 1 Ziyaretçi