Listbox'dan rapor çekme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Gk_imptob
Üye
Mesajlar: 84
Kayıt: 01 Kas 2005 12:34

Listbox'dan rapor çekme

Mesaj gönderen Gk_imptob »

Herkese merhaba,

DB'im FireBird. IBExpert yardımıyla Firebird DB'deki tabel'erı excel'e ve notepad'e göndererek rapor alabiliryorum.Fakat benim haricimde IBExper kullanmasını bilen olmadığı için Delphide bir rapor formu yaratara tabel'daki isteiğimiz filedleri dbgridde raporlamak.Yapmak istediğimiz şey, Delphide oluşturduğum foruma 2 ad. listbox koyuyorum.IBDataset ayarlarını yaparak DB'deki istedğim table bağlantı yapıp fiedlleri listbox'1 getiriyorum.Daha sonra listbox1'den seçtiklerim bazı fieldleri listbox2 atıyorum.Listbox2'ye gönderdiğim fieldların dbgridde raporlamak istiyorum.Listbox2'den Dbgird'e rapor çalıştıramadım.Umarım anlatabilmişimdir.

Yardımlarınızı bekliyorum teşekkürler.
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Re: Listbox'dan rapor çekme

Mesaj gönderen Lost Soul »

Raporlama araçlarından birini kullanın
bkz. FastReport, quickreport, cyrstal report, rave report

IbExpert Fastreport kullanıyor.
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Listbox'dan rapor çekme

Mesaj gönderen conari »

Selam, Ben query için şöyle bir şey hazırlamıştım
Sizede fikir verebilir.

Kod: Tümünü seç

var i:integer  ;
begin
if ListeEk.Count >1 then   begin //Seçilen Fieldlar ListekEk listboxına atılıyor.
MainForm.ADORapor.SQL.clear;
MainForm.ADORapor.SQL.Add('SELECT ');
 for i:=0 to ListeEk.Count-2 do begin
   MainForm.ADORapor.SQL.Add(Listeek.items[i]+',');
   end;
    MainForm.ADORapor.SQL.Add(Listeek.Items[ListeEk.Count-1]+' from ');
    MainForm.ADORapor.SQL.Add(CmbTables.text);//seçilen tablo
    //------------ Group By
    if ListeGrup.Count >0 then begin
     MainForm.ADORapor.SQL.Add(' Group by ');
        for i:=0 to ListeGrup.Count-2 do begin
        MainForm.ADORapor.SQL.Add(listeGrup.items[i]+',');
         end;
       MainForm.ADORapor.SQL.Add(listeGrup.Items[ListeGrup.Count-1]);
       end;
     //------------ Group By End
     //Order by------------------
   if ListeSira.Count >0 then begin //Sıralama yapılacak fieldların Listboxı
   MainForm.ADORapor.SQL.Add(' Order by ');
      for i:=0 to ListeSira.Count-2 do begin
        MainForm.ADORapor.SQL.Add(ListeSira.items[i]+',');
         end;
       MainForm.ADORapor.SQL.Add(ListeSira.Items[ListeSira.Count-1]);
      if Rdartan.Checked then
        begin
               MainForm.ADORapor.SQL.Add(' ASC');
             end else begin
           MainForm.ADORapor.SQL.Add(' DESC');
         end;
       end;
        //Order by------------------End     
   MainForm.ADORapor.open; 
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Gk_imptob
Üye
Mesajlar: 84
Kayıt: 01 Kas 2005 12:34

Re: Listbox'dan rapor çekme

Mesaj gönderen Gk_imptob »

Cevap veren arkadaşlara teşekkür ederim.Fakat işin içinden çıkamadım maalesef.Yapmak istediğim şey çok basit listbox'taki items lara göre ibquery çalıştırmak istiyorum.Belki sizler için kolay fakat benim için karışık bir konu, işin içinden çıkamadım.

Lisbox'ımda A,B,C itemlarına göre table'ımdaki A,B,C fieldlarında ibquery çalıştırmak.Yardımlarınızı bekliyorum.

Teşekkürler.
Cevapla