Arkadaşlar ;
Form üzerine İki tane listbox eklesem ve bu listbox1 ın bir tanesine DB dosyasının alanlarını göstersem ve burdan istediği alana cift tıklayarak listbox2 ye aktarsa ve bu aktarılan alanları bir button1 yardımı ile DBGrid1 e nasıl rapor aldırabilirim.Birde diyelimki Listbox1 den MUSKODU nu listbox2 ye cift tıklayarak aktardı ve ListBox2 de de bu alana cift tıklayınca bir edit açılsa ve bu alana 01 girse DBgrid1 e 01 alanlarını listelese bu mümkün mü yardım ederseniz çok sevinirim.
İsteğe bağlı raporlama !!!
S.A.
1. dbgrid in columns unu sıfırlayın. yani hiç column kalmasın.
2. 2.listboxdaki eleman sayısı kadar döngü kurun ve dbgrid in columns una ekleyin.
field name leri unutmayın.
3. 2.listboxa çift tıklayınca açılacak olan editte de seçilen alana göre filitre yapacaksınız.
burada kodları biraz atmasyon yazdım. bu tarz bir yapı ile istediğin işlemi yapabilirsin.
kolaygelsin.
evet mümkün. ancak uğraşmanız gerekecek.ozcank yazdı:bu mümkün mü
1. dbgrid in columns unu sıfırlayın. yani hiç column kalmasın.
2. 2.listboxdaki eleman sayısı kadar döngü kurun ve dbgrid in columns una ekleyin.
Kod: Tümünü seç
dbgrd.columns.add.....
3. 2.listboxa çift tıklayınca açılacak olan editte de seçilen alana göre filitre yapacaksınız.
Kod: Tümünü seç
filitre:=lb.items[lb.intemindex]+'='+edit1.text
;
vs...
kolaygelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
istege baglı raporlama !!!
Arkadaşlar isteğe bağlı olarak bu şekilde birşeyler yazdım ama DBGrid1 e aktarırken hata veriyor.Hata aslında alanları Db deki gibi olunca hata yok ama alanları Caption da türkçe yazınca şöyler ki "MUSKODU" "Müşteri Kodu" şeklinde yapınca hata veriyor 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.
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.
Merhaba kolay gelsin yanlış anlamadım umarım ama yapmak istediğiniz olay alanları bir listboztan seçip ona göre sorgulatığ rapor hazırlayacaksınız..bunu için ikitane listbox kullanmışsınız ama sorun bana göre ikinci listboxta alanları attığınız listboxtan seççip 2.listboxa ekliyorsunuz bunu şöyle yapsanız..alanları attığınız listobox altta kalıp görünmese ve dbgrid kullanıyorsanız dbgrid de columns özelliğini kullanarak alan isimlerini görmek istediğiniz gibi belirleyin ve coulms adlarını diğer listboxa atsanız sırayla ama alanların indexleriyle aynı olcak.ve ordan seçerek alan isleriminin olduğu listboxtanda aynı indexi seçerseniz sorun kalmaz sanırım..
kolay gelsin
kolay gelsin
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************