İsteğe Bağlı Raporlama !!!!

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

İsteğe Bağlı Raporlama !!!!

Mesaj gönderen ozcank »

Arkadaşlar burda ListBox1,ListBox2,DBGrid1 ve Button1 var
ListBox1 e DB nin içinde bulunan alanları listeliyorum ve ListBox1 den istediğim alanın üzerinde cift tıklayınca o alanı ListBox2 ye aktarıyor ve Button1 yardımı ile DBGrid1 e rapor alıyorum.Buraya kadar herşey normal ve çalışıyor benim yapmak istediğim Listbox1,ListBox2 ve DBGrid1 alanlarına Alan isimleri ile değilde benim Caption a yazdığım isimle görünmesini istiyorum bu konuda yardım istiyorum.Yardım ederseniz çok sevinirim.


procedure TForm1.FormActivate(Sender: TObject);
begin
//listbox1.items.clear;
//listbox1.items:=Table1.Fieldlist;
end;

procedure TForm1.ListBox1DblClick(Sender: TObject);
begin
listbox2.items.add(listbox1.items[listbox1.itemindex]);
end;

procedure TForm1.ListBox2DblClick(Sender: TObject);
begin
listbox2.items.delete( listbox2.itemindex );
end;

procedure TForm1.Button1Click(Sender: TObject);
var
sql:String;
i:Integer;
begin
sql:='Select ';
For i:=0 to listbox2.items.Count-1 do
sql:=sql+''+listbox2.items+',';
sql := copy(Sql ,1, length( sql) -1 ) + ' From ELEMANT ';
query1.sql.Clear;
query1.sql.add(sql);
query1.Open;
query1.Active:=True;
end;

procedure TForm1.FormShow(Sender: TObject);
Var
I:Integer;
begin
For I:=0 To Table1.FieldCount-1 do
Begin
Listbox1.Items.add(Table1.Fields.DisPlayLabel);
end;
end;

end.
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

Daha öncede bu soruyu sormuştun galiba yanlış hatırlamıyorsam..o zaamnda aynı cevabı vermiştim..

Benim anlamadığım formun showunda alansayısı kadar döngü açıp teker teker atmışsın listboxa.
birde formun activate sine denemedim ama ikiside aynı işi yapıyor herhalde.

ŞU ŞEKİLDE YAPSAN



forma listbox 1 ve listbox2 ten hariç listbox3 atsan ve listbox1 ama listbox3 ü görünmezde yapabilirsin.şimdi kod şöyle olcak..

Kod: Tümünü seç

  for i:=0 to table1.fieldcount-1 do
         begin
         listbox3.items.add(table1.fields[i].fieldname);//burda listbox3'e attık
         listbox1.items.add('Alanın adını Görmek İstediğin Şekilde'); /// Yazz at...bu şekilde döngü dönsün.

listbox3 ü görünmez yaparsın..listbox1 den seçim yapılınca aynı indexi listbox1 den seçtirip alan adını listbox3 den orjinal halde alırsın..kullanıcı senin verdiğin ismi görür.ama burda alanların tamamının görünmesi lazım veya ona göre işlem yaptırman lazım mesela sorgu sonucuna göre işlem yaptırıyorsanda eklerken kontrolünü yaptırman lazım .kolay gelsin anladın herhalde demek istediğimi.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Mesaj gönderen ozcank »

Bana karışık geldi?
SQL deki alanları eşitleyebilirmiyim?
bunu yaparsam rapor alabilirmiyim?
Cevapla