Delphi & FastReport

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
enesharun
Üye
Mesajlar: 18
Kayıt: 17 Eki 2014 10:46

Delphi & FastReport

Mesaj gönderen enesharun » 30 Eyl 2019 12:58

Merhabalar, Delphi ve fastreport ile ilgili takıldığım bir konu var. Yardımlarınızı diliyorum arkadaşlar.
Konu şu;

İki tane sorgum var, biri ana sorgu diğeri bu sorgunun her dönüşünde gelen sorgu. Fastreportta Master - Detail ilişkisi kurmam gerekiyor. Aşağıdaki kodları yazdım fakat detail datada sürekli son kayda ait veriler gösteriyor. Şimdiden teşekkürler

Kod: Tümünü seç

QRaporlar := TMyQuery.Create(Nil);
  QRaporlar.Connection := DM.MyCon;
  FrxDataSetRaporlar.DataSet := QRaporlar;
  QRaporlar.sql.Clear;
  QRaporlar.sql.Add
    ('SELECT m.menuid,u.urunadi,u.barkod FROM urunler u, menuicerik m where u.menuid=m.menuid  group by m.menuid ORDER BY `m`.`menuid` ASC');
  QRaporlar.Open;
  QRaporlar.First;
  while not QRaporlar.eof do
  begin
    QRaporlar1 := TMyQuery.Create(Nil);
    QRaporlar1.Connection := DM.MyCon;
    FrxDataSetRapor1.DataSet := QRaporlar1;
    QRaporlar1.sql.Clear;
    QRaporlar1.sql.Add
      ('SELECT u.urunadi,u.barkod FROM urunler u, menuicerik m where u.id=m.urunid and m.menuid=:menuid order by u.urunadi asc');
    QRaporlar1.Params.ParamByName('menuid').Value :=
      QRaporlar.FieldByName('menuid').AsString;
    QRaporlar1.Open;
    QRaporlar1.First;

    QRaporlar.Next;
  end;

enesharun
Üye
Mesajlar: 18
Kayıt: 17 Eki 2014 10:46

Re: Delphi & FastReport

Mesaj gönderen enesharun » 30 Eyl 2019 03:10

Çözümü buldum arkadaşlar ilgilenenlere teşekkürler. sayfaya bir tane de DataSource ekledim.

Kod: Tümünü seç

QRaporlar := TMyQuery.Create(Nil);
  QRaporlar.Connection := DM.MyCon;
  DataSource1.DataSet := QRaporlar;
  FrxDataSetRaporlar.DataSet := DataSource1.DataSet;
  QRaporlar.sql.Clear;
  QRaporlar.sql.Add
    ('SELECT m.menuid,u.urunadi,u.barkod FROM urunler u, menuicerik m where u.menuid=m.menuid  group by m.menuid ORDER BY `m`.`menuid` ASC');
  QRaporlar.Open;
  QRaporlar.First;

  QRaporlar1 := TMyQuery.Create(Nil);
  QRaporlar1.Connection := DM.MyCon;
  QRaporlar1.MasterSource := DataSource1;
  QRaporlar1.DetailFields:=QRaporlar.MasterFields;
  FrxDataSetRapor1.DataSet := QRaporlar1;
  QRaporlar1.sql.Clear;
  QRaporlar1.sql.Add
    ('SELECT u.urunadi,u.barkod,m.menuid FROM urunler u, menuicerik m where u.id=m.urunid and m.menuid=:menuid  order by u.urunadi asc');
   QRaporlar1.Params.ParamByName('menuid').Value :=
   QRaporlar.FieldByName('menuid').AsString;
  QRaporlar1.Open;
  QRaporlar1.First;

Cevapla