Arkadaşlar;
Şöyle birşey yapmak istiyorum yardımcı olurmusunuz?
Form üzerine ListBox1,ListBox2 ve DBGrid1 ekleyeceğim ve birde ekle çıkar buttonları ve Raporlama
ListBox1 e DB alanlarını gösterip istediğim alanı ListBox2 ye ekleyeceğim Rapor buttonu ile DBGrid1 e listeleme yapacağım böyle birşey için çalışma yaptım fakat birkaç yerde hata aldım daha kolay yoldan bu şekilde bir raporlamayı nasıl çözerim?
Delphi ci arkadaşlarımın yardımlarını bekliyorum.
ben şöyle birşey yaptım;
ListBox1,ListBox2,DBGrid1,Button1 ve Button2
Table1, datasource1
Query1, datasource2
ListBox1 in İtems Setting kısmına 'Eleman Kodu'
'Eleman Adı', Eleman Soyadı' ekledim aşağıdaki gibide Button1 e kod yazdım ama olmadı.
'Query1: No SQL Statement available ' hatası alıyorum birturlü anlamadım.
procedure TForm1.Button1Click(Sender: TObject);
var
sql:String;
i:Integer;
begin
sql:='Select ';
For i:=0 to listbox2.items.Count-1 do
begin
if listbox2.items='Eleman Kodu' then
sql:=sql+'ELKOD' + ',';
if listbox2.items='Eleman Adı' then
sql:=sql+'ELADI' + ',';
if listbox2.items='Eleman Soyadı' then
sql:=sql+'ELSOY' + ',';
query1.Open;
query1.Active:=True;
end;
end;
Raporlama
merhaba ,
hatan bu alanların hangi tablodan seçileceğini belirtmemenden kaynaklanıyor ,
en sona
eklemelisin.
ayrıca hepsinden önemlisi SQL değişkenini Query nin SQL özelliğine atamalısın yani
iyi çalışmalar.
hatan bu alanların hangi tablodan seçileceğini belirtmemenden kaynaklanıyor ,
en sona
Kod: Tümünü seç
SQL:=SQL + ' FROM TABLO_ADI';
ayrıca hepsinden önemlisi SQL değişkenini Query nin SQL özelliğine atamalısın yani
Kod: Tümünü seç
Query1.close;
Query1.sql.clear;
Query1.sql.add(SQL);
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr
procedure TForm1.Button1Click(Sender: TObject);
var
sql:String;
i:Integer;
begin
sql:='Select ';
For i:=0 to listbox2.items.Count-1 do
begin
if listbox2.items='Eleman Kodu' then
sql:=sql+'ELKOD' + ',';
if listbox2.items='Eleman Adı' then
sql:=sql+'ELADI' + ',';
if listbox2.items='Eleman Soyadı' then
sql:=sql+'ELSOY' + ',';
end;
query1.sql.Clear;
query1.sql.add(sql);
query1.Open;
query1.Active:=True;
end;
Bu şekilde cözüme kavuştum fakat şimdi yapmak istediğim ;
ListBox2 ye eklediğim alan adının üzerinde mesela 'Eleman Kodu'
ELKOD cift tıkladığımda Edit1.Text alanı açılacak ve ve buraya 01 yazdığım zaman 01 olan kayıtları listeleyecek böyle birşey nasıl yapabilirim yardım edebilirmisiniz?
var
sql:String;
i:Integer;
begin
sql:='Select ';
For i:=0 to listbox2.items.Count-1 do
begin
if listbox2.items='Eleman Kodu' then
sql:=sql+'ELKOD' + ',';
if listbox2.items='Eleman Adı' then
sql:=sql+'ELADI' + ',';
if listbox2.items='Eleman Soyadı' then
sql:=sql+'ELSOY' + ',';
end;
query1.sql.Clear;
query1.sql.add(sql);
query1.Open;
query1.Active:=True;
end;
Bu şekilde cözüme kavuştum fakat şimdi yapmak istediğim ;
ListBox2 ye eklediğim alan adının üzerinde mesela 'Eleman Kodu'
ELKOD cift tıkladığımda Edit1.Text alanı açılacak ve ve buraya 01 yazdığım zaman 01 olan kayıtları listeleyecek böyle birşey nasıl yapabilirim yardım edebilirmisiniz?