if RadioButton8.Checked then
If Edit1.Text='' Then
Begin
Query2.Active:=False;
ShowMessage('Lütfen Ürünün Seri Nosunu Boş Geçmeyiniz !!! ');
Edit1.Setfocus;
Exit;
end
else
begin
DataSource2.DataSet.close;
DataSource2.DataSet:=Query2;
Query2.Sql.Clear;
Query2.Sql.Add('Select * From ROKAYIT');
Query2.Sql.Add('Where ROMONTAJTAR Between :SERTAR15 AND :SERTAR16 AND ROSERINO=:ROSERIYAZ');
Query2.ParamByName('ROSERIYAZ').AsString:=Edit1.Text;
Query2.ParamByName('SERTAR15').AsDate:=DateTimePicker1.date;
Query2.ParamByName('SERTAR16').AsDate:=DateTimePicker2.Date;
end;
Query2.Active:=true;
DataSource2.DataSet.Open;
DBGrid2.DataSource:=DataSource2;
Label4.Caption:=IntToStr(Query2.RecordCount);
// Depo Giriş
if RadioButton9.Checked Then
if Edit1.Text='' then
begin
DataSource3.DataSet.close;
DataSource3.DataSet:=Query3;
Query3.Sql.Clear;
Query3.Sql.Add('Select * From DEPOGIRIS');
Query3.Sql.Add('Where DEPOTARIH Between :SERTAR17 AND :SERTAR18');
Query3.ParamByName('SERTAR17').AsDate:=DateTimePicker1.date;
Query3.ParamByName('SERTAR18').AsDate:=DateTimePicker2.Date;
end;
Query3.Active:=true;
DataSource3.DataSet.Open;
DBGrid2.DataSource:=DataSource3;
Label4.Caption:=IntToStr(Query3.RecordCount);
end;
1 Tane DBGrid2 var ve iki tane sorgum var RadioButton8 ve 9
RadioButton8 e bastığım zaman rapor aldığımda DBGrid2 e rapor alıyor,
RadioButton9 a bastığım zaman rapor aldığımda yine DBGrid2 ye rapor alıyor fakat ben ikisine ayrı ayrı rapor alamadım sorgular birbirine karışıyor.
RadioButton8 e bastığımda şu sorgu DBGrid2 e rapor almalı;
if RadioButton8.Checked then
If Edit1.Text='' Then
Begin
Query2.Active:=False;
ShowMessage('Lütfen Ürünün Seri Nosunu Boş Geçmeyiniz !!! ');
Edit1.Setfocus;
Exit;
end
else
begin
DataSource2.DataSet.close;
DataSource2.DataSet:=Query2;
Query2.Sql.Clear;
Query2.Sql.Add('Select * From ROKAYIT');
Query2.Sql.Add('Where ROMONTAJTAR Between :SERTAR15 AND :SERTAR16 AND ROSERINO=:ROSERIYAZ');
Query2.ParamByName('ROSERIYAZ').AsString:=Edit1.Text;
Query2.ParamByName('SERTAR15').AsDate:=DateTimePicker1.date;
Query2.ParamByName('SERTAR16').AsDate:=DateTimePicker2.Date;
end;
Query2.Active:=true;
DataSource2.DataSet.Open;
DBGrid2.DataSource:=DataSource2;
Label4.Caption:=IntToStr(Query2.RecordCount);
RadioButton9 a bastığım zaman bu sorguda yine DBGrid2 rapor almalı;
if RadioButton9.Checked Then
if Edit1.Text='' then
begin
DataSource3.DataSet.close;
DataSource3.DataSet:=Query3;
Query3.Sql.Clear;
Query3.Sql.Add('Select * From DEPOGIRIS');
Query3.Sql.Add('Where DEPOTARIH Between :SERTAR17 AND :SERTAR18');
Query3.ParamByName('SERTAR17').AsDate:=DateTimePicker1.date;
Query3.ParamByName('SERTAR18').AsDate:=DateTimePicker2.Date;
end;
Query3.Active:=true;
DataSource3.DataSet.Open;
DBGrid2.DataSource:=DataSource3;
Label4.Caption:=IntToStr(Query3.RecordCount);
end;
dbgird kullanmadım ama şu şekilde özellikleri olmalı.
grid.clearitems yada grid.columns.clearitems yada grid.columns.clear;
data'yı atadıktan sonrada
grid.getitems yada grid.columns.getitems;
merhaba bu kod satırından sonra begin kullansan diyorum. benimde checkbox lar ile böyle bir uygulamam var checkbox ile sorgulamaları değiştiriyorum fakat aynı tabloda farkımız burda.
genelde checkboxları kontrol ettiriyorum eğer check edilmiş olan yoksa application.messagebox ile uyarı verdiriyorum ve end else begin ile devam ediyorum. her if satırında begin kullanıyorum böylelikle sorguları yapabiliyorum. sizde if satırlarının sonuda begin kullanmayı deneseniz belki çözüm olur.
kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.
arkadaş bu kadar hazırcılığa alışma...
kodlarını düzenli yaz. begin nerde başlıyor nerde bitiyor belli olsun.
hangi else hangi ifin belli olsun.
bakınca anlaşılsın.
if RadioButton8.Checked then
begin
If Edit1.Text='' Then
Begin
...........
end
else
begin
...............
end;
.............
end
// Depo Giriş
if RadioButton9.Checked Then
Begin
if Edit1.Text='' then
begin
............
end
else
begin
................
end
..........
end
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Hazırcılık değil üzerine çok uğraştım en son yapamayınca mesaj yazdım
yapmak istediğim DBGrid2 de iki tane Query2 ve Query3 sorgusunu çalıştırmak istiyorum ve ayarlarınıda yaptım şimdi tek takıldığım yer bu kodlar nereye ne yaptıysam olmadı.
Şöyle ;
DBGrid2 de hem ROKAYIT hemde DEPOGIRIS listelenecek RadioButton8
ve RadioButton9 kodları aşağıdaki gibi fakat bu şekilde çalışmıyor RadioButton8 e bastığımda RadioButton9 karışıyor. Kodlarım bu şekilde ;
Karışmaması için ne yapabilirim?
If Edit1.Text='' Then
Begin
Query2.Active:=False;
ShowMessage('Lütfen Ürünün Seri Nosunu Boş Geçmeyiniz !!! ');
Edit1.Setfocus;
Exit;
end
else
begin
Query2.Sql.Clear;
Query2.Sql.Add('Select * From ROKAYIT');
Query2.Sql.Add('Where ROMONTAJTAR Between :SERTAR15 AND :SERTAR16 AND ROSERINO=:ROSERIYAZ');
Query2.ParamByName('ROSERIYAZ').AsString:=Edit1.Text;
Query2.ParamByName('SERTAR15').AsDate:=DateTimePicker1.date;
Query2.ParamByName('SERTAR16').AsDate:=DateTimePicker2.Date;
end;
Query2.Active:=true;
Label4.Caption:=IntToStr(Query2.RecordCount);
if RadioButton9.Checked Then
if Edit1.Text='' then
begin
Query3.Sql.Clear;
Query3.Sql.Add('Select * From DEPOGIRIS');
Query3.Sql.Add('Where DEPOTARIH Between :SERTAR17 AND :SERTAR18');
Query3.ParamByName('SERTAR17').AsDate:=DateTimePicker1.date;
Query3.ParamByName('SERTAR18').AsDate:=DateTimePicker2.Date;
end;
Query3.Active:=true;
Label4.Caption:=IntToStr(Query3.RecordCount);
end;
gönderdiğim kod yapısına bi bak. bide kendi gönderdiğin kodlara bak.
begin nerde başlamış nerde bitmiş belli değil
end koymuşsun ama neyin endi. else hangi ifin elsesi.
bunları düzgün bi şekilde yazarsan eminim kim radiobutton 9 dan sonra yazdığın kodların her zaman çalıştığını göreceksin ve begin end leri düzeltip rahatlayacaksın.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
if RadioButton8.Checked then
Begin
If Edit1.Text='' Then
Begin
Query2.Active:=False;
ShowMessage('Lütfen Ürünün Seri Nosunu Boş Geçmeyiniz !!! ');
Edit1.Setfocus;
Exit;
end
else
begin
DataSource2.DataSet.close;
DataSource2.DataSet:=Query2;
DataSource2.DataSet.Open;
DBGrid2.DataSource:=DataSource2;
Query2.Sql.Clear;
Query2.Sql.Add('Select * From ROKAYIT');
Query2.Sql.Add('Where ROMONTAJTAR Between :SERTAR15 AND :SERTAR16 AND ROSERINO=:ROSERIYAZ');
Query2.ParamByName('ROSERIYAZ').AsString:=Edit1.Text;
Query2.ParamByName('SERTAR15').AsDate:=DateTimePicker1.date;
Query2.ParamByName('SERTAR16').AsDate:=DateTimePicker2.Date;
end;
end;
Query2.Active:=true;
Label4.Caption:=IntToStr(Query2.RecordCount);
// Depo Giriş
if RadioButton9.Checked Then
Begin
if Edit1.Text='' then
Begin
DataSource3.DataSet.close;
DataSource3.DataSet:=Query3;
DataSource3.DataSet.Open;
DBGrid2.DataSource:=DataSource3;
Query3.Sql.Clear;
Query3.Sql.Add('Select * From DEPOGIRIS');
Query3.Sql.Add('Where DEPOTARIH Between :SERTAR17 AND :SERTAR18');
Query3.ParamByName('SERTAR17').AsDate:=DateTimePicker1.date;
Query3.ParamByName('SERTAR18').AsDate:=DateTimePicker2.Date;
end;
end;
Query3.Active:=true;
Label4.Caption:=IntToStr(Query3.RecordCount);
end;
if RadioButton8.Checked then
Begin
If Edit1.Text='' Then
Begin
Query2.Active:=False;
ShowMessage('Lütfen Ürünün Seri Nosunu Boş Geçmeyiniz !!! ');
Edit1.Setfocus;
Exit;
end
else
begin
DataSource2.DataSet.close;
DataSource2.DataSet:=Query2;
DataSource2.DataSet.Open;
DBGrid2.DataSource:=DataSource2;
Query2.Sql.Clear;
Query2.Sql.Add('Select * From ROKAYIT');
Query2.Sql.Add('Where ROMONTAJTAR Between :SERTAR15 AND
:SERTAR16 AND ROSERINO=:ROSERIYAZ');
Query2.ParamByName('ROSERIYAZ').AsString:=Edit1.Text;
Query2.ParamByName('SERTAR15').AsDate:=DateTimePicker1.date;
Query2.ParamByName('SERTAR16').AsDate:=DateTimePicker2.Date;
end;
end;
Query2.Active:=true;
Label4.Caption:=IntToStr(Query2.RecordCount);
// Depo Giriş
if RadioButton9.Checked Then
Begin
if Edit1.Text='' then
Begin
DataSource3.DataSet.close;
DataSource3.DataSet:=Query3;
DataSource3.DataSet.Open;
DBGrid2.DataSource:=DataSource3;
Query3.Sql.Clear;
Query3.Sql.Add('Select * From DEPOGIRIS');
Query3.Sql.Add('Where DEPOTARIH Between :SERTAR17 AND
:SERTAR18');
Query3.ParamByName('SERTAR17').AsDate:=
DateTimePicker1.date;
Query3.ParamByName('SERTAR18').AsDate:=
DateTimePicker2.Date;
end;
end;
Query3.Active:=true;
Label4.Caption:=IntToStr(Query3.RecordCount);
end;
@ozcank öncelikle sorunun hallolduğuna sevindim. Aslangeri' nin bahsettiği tekniği gözardı ettiğini zannediyorum ama bizim için muhakkak faydalı bir durum ve bunu delphi yi yazanlarda istiyor öneriyor. Sitede bu kod yazım tekniklerini anlatan bölüm vardı diye hatırlıyorum araştırırsan ve buna göre kodlarını yazarsan ileride sen ve seni takip edenler rahat edecektir. Nasıl başlarsan öyle gidiyor çünkü. baştan sıkı tutmak lazım. Yukarıda biraz düzenlemeye çalıştım gerçek ustaların gibi olmadı ama bilmişlikte yapmak isetimiyorum.
Başarılarının devamı dileği ile kolay gelsin.
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.