SQL Raporlama
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
SQL Raporlama
Arkadaşlar;
DB ye kayıtlı BAKIM alanlarım var BAKIM1,BAKIM2,BAKIM3,BAKIM4,BAKIM5 ve FALSE ve TRUE değerini alıyor bu alanları nasıl raporuma dahil edebilirim? CheckBox2 yerleştirdim forma işaretli ise TRUE işaretsiz ise FALSE değerlerini listeleyecek yardım ederseniz sevinirim.
if RadioButton1.Checked or CheckBox2.Checked Then
Begin
Query1.Sql.Clear;
Query1.Sql.Add('Select * From ROKAYIT');
Query1.Sql.Add('Where RO5BAKTAR Between :ILK5TAR AND :SON5TAR OR BAKIM1=:FALSE');
Query1.ParamByName('ILK5TAR').AsDate:=DateTimePicker1.date;
Query1.ParamByName('SON5TAR').AsDate:=DateTimePicker2.Date;
end;
Query1.Active:=true;
if RadioButton2.Checked then
DB ye kayıtlı BAKIM alanlarım var BAKIM1,BAKIM2,BAKIM3,BAKIM4,BAKIM5 ve FALSE ve TRUE değerini alıyor bu alanları nasıl raporuma dahil edebilirim? CheckBox2 yerleştirdim forma işaretli ise TRUE işaretsiz ise FALSE değerlerini listeleyecek yardım ederseniz sevinirim.
if RadioButton1.Checked or CheckBox2.Checked Then
Begin
Query1.Sql.Clear;
Query1.Sql.Add('Select * From ROKAYIT');
Query1.Sql.Add('Where RO5BAKTAR Between :ILK5TAR AND :SON5TAR OR BAKIM1=:FALSE');
Query1.ParamByName('ILK5TAR').AsDate:=DateTimePicker1.date;
Query1.ParamByName('SON5TAR').AsDate:=DateTimePicker2.Date;
end;
Query1.Active:=true;
if RadioButton2.Checked then
Aşağıdaki kodu inceleyerek istediğin gibi bir kod oluşturabilirsin.
Kolay gelsin... 
Kod: Tümünü seç
var
Cumle : AnsiString;
begin
if (dxCheckEdit1.Checked = True) or (dxCheckEdit2.Checked = True) or (dxCheckEdit3.Checked = True) or (dxCheckEdit4.Checked = True) or (dxCheckEdit5.Checked = True) Then
Begin
Cumle := 'Select * From mafbilgileri where id is not null';
if dxCheckEdit1.Checked Then Cumle := Cumle+' and (faturatarihi between :ilk and :son)';
if dxCheckEdit2.Checked Then Cumle := Cumle+' and (faturano=:faturano)';
if dxCheckEdit3.Checked Then Cumle := Cumle+' and (cunvan=:cunvan)';
if dxCheckEdit4.Checked Then Cumle := Cumle+' and (vtarihi between :bas and :sn)';
if dxCheckEdit5.Checked Then Cumle := Cumle+' and (odemedurumu=:odemedurumu)';
cumle := Cumle+' order by faturatarihi asc';
with flistetable do
Begin
Close;
SQL.Clear;
SQL.Add(Cumle);
if dxCheckEdit1.Checked = True Then
Begin
ParamByName('ilk').AsDate := dxDateEdit1.Date;
ParamByName('son').AsDate := dxDateEdit2.Date;
End;
if dxCheckEdit2.Checked = True Then
Begin
ParamByName('faturano').AsString := dxEdit1.Text;
End;
if dxCheckEdit3.Checked = True Then
Begin
ParamByName('cunvan').AsString := RxDBLookupCombo1.Text;
End;
if dxCheckEdit4.Checked = True Then
Begin
ParamByName('bas').AsDate := dxDateEdit3.Date;
ParamByName('sn').AsDate := dxDateEdit4.Date;
End;
if dxCheckEdit5.Checked = True Then
Begin
if RadioButton1.Checked = True Then
Begin
ParamByName('odemedurumu').AsString := 'Ödendi'
End Else ParamByName('odemedurumu').AsString := 'Ödenmedi';
End;
Active := True;
End;
End Else Gerigetir;

Var olmaya değer her şey bilinmeye de değerdir. Çünkü bilgi varlığın bir imgesidir. Onda iyi ve kötü aynı anda bulunmaktadır...
şöyle izah edeyim
DB de kayıtlı BAKIM1 var ve kaydederken FALSE veya TRUE olarak kaydediyor.Bende rapor alırken sorgu alanıma CheckBox2 işaretli ise TRUE işaretsiz ise FALSE olanları listelemek istiyorum ;
if RadioButton1.Checked or CheckBox2.Checked Then
Begin
Query1.Sql.Clear;
Query1.Sql.Add('Select * From ROKAYIT');
Query1.Sql.Add('Where RO5BAKTAR Between :ILK5TAR AND :SON5TAR OR BAKIM1=:FALSE');
Query1.ParamByName('ILK5TAR').AsDate:=DateTimePicker1.date;
Query1.ParamByName('SON5TAR').AsDate:=DateTimePicker2.Date;
end;
Query1.Active:=true;
if RadioButton2.Checked then
DB de kayıtlı BAKIM1 var ve kaydederken FALSE veya TRUE olarak kaydediyor.Bende rapor alırken sorgu alanıma CheckBox2 işaretli ise TRUE işaretsiz ise FALSE olanları listelemek istiyorum ;
if RadioButton1.Checked or CheckBox2.Checked Then
Begin
Query1.Sql.Clear;
Query1.Sql.Add('Select * From ROKAYIT');
Query1.Sql.Add('Where RO5BAKTAR Between :ILK5TAR AND :SON5TAR OR BAKIM1=:FALSE');
Query1.ParamByName('ILK5TAR').AsDate:=DateTimePicker1.date;
Query1.ParamByName('SON5TAR').AsDate:=DateTimePicker2.Date;
end;
Query1.Active:=true;
if RadioButton2.Checked then
biltes size çok teşekküğr ederim yardımlarınızdan dolayı fakat ben bu alandaki değişikliği yapmak istiyorum ;
Query1.Sql.Add('Where RO5BAKTAR Between :ILK5TAR AND :SON5TAR OR CheckBox2.Checked=BAKIM1');
BAKIM1 DB de FALSE veya TRUE değerini alıyor ben sorguda CheckBox2 işaretli ise TRUE işaretsiz ise FALSE olan listeyi almak istiyorum.
Query1.Sql.Add('Where RO5BAKTAR Between :ILK5TAR AND :SON5TAR OR CheckBox2.Checked=BAKIM1');
BAKIM1 DB de FALSE veya TRUE değerini alıyor ben sorguda CheckBox2 işaretli ise TRUE işaretsiz ise FALSE olan listeyi almak istiyorum.
Arkadaşlar ;
Sorguyu nasıl değiştirebilirim DB de BAKIM1 alanım var bu alana FALSE ve TRUE olarak kayıt yapıyorum ve liste alırken BAKIM1 i TRUE veya FALSE ye eşitleyerek liste almalıyım yardım ederseniz sevinirim.
Ben CheckBox2 yerleştirdim forma işaretli ise TRUE işaretsiz ise FALSE yapmak istedim ama olmadı.
Query1.Sql.Add('Where RO5BAKTAR Between :ILK5TAR AND :SON5TAR OR CheckBox2.Checked=BAKIM1');
Sorguyu nasıl değiştirebilirim DB de BAKIM1 alanım var bu alana FALSE ve TRUE olarak kayıt yapıyorum ve liste alırken BAKIM1 i TRUE veya FALSE ye eşitleyerek liste almalıyım yardım ederseniz sevinirim.
Ben CheckBox2 yerleştirdim forma işaretli ise TRUE işaretsiz ise FALSE yapmak istedim ama olmadı.
Query1.Sql.Add('Where RO5BAKTAR Between :ILK5TAR AND :SON5TAR OR CheckBox2.Checked=BAKIM1');
Hocam sorunuzda aslında cevabı vermişsiniz ama hatalı yazmışsınız. Aşağıdaki şekilde bir denermisiniz..
Umarım size yardımcı olur. Kolay gelsin... 
Kod: Tümünü seç
case Radiogroup1.Itemindex of
0 : Begin
Query1.Sql.Clear;
Query1.Sql.Add('Select * From ROKAYIT');
Query1.Sql.Add('Where RO5BAKTAR Between :ILK5TAR AND :SON5TAR OR BAKIM1=:FALSE');
Query1.ParamByName('ILK5TAR').AsDate:=DateTimePicker1.date;
Query1.ParamByName('SON5TAR').AsDate:=DateTimePicker2.Date;
Query1.Active:=true;
End;
1 : Begin
//Bir seçili ise gerekli işlemi yap gibi...
End;

Var olmaya değer her şey bilinmeye de değerdir. Çünkü bilgi varlığın bir imgesidir. Onda iyi ve kötü aynı anda bulunmaktadır...
Aslında sorgu alanım sadece o kadar değil alttarafa doğru çok tanım var fakat bu satır içerisinde hem FALSE hemde TRUE nasıl cözerim CheckBox2 ye bağlayabilirmiyim;İşaretliyse TRUE işaretsizse FALSE
gibi.Veya bu satırda başka nasıl bir alternatifim olur? Yardım ederseniz çok sevinirim.
Query1.Sql.Add('Where RO5BAKTAR Between :ILK5TAR AND :SON5TAR OR CheckBox2.Checked=BAKIM1');
gibi.Veya bu satırda başka nasıl bir alternatifim olur? Yardım ederseniz çok sevinirim.
Query1.Sql.Add('Where RO5BAKTAR Between :ILK5TAR AND :SON5TAR OR CheckBox2.Checked=BAKIM1');
Yazdıklarınız biraz karışık anladığım kadarıyla yazayım.
Bir bakın bakalım istediğiniz gibi mi.
Aslında Veritabanı tasarımınızın biraz problemli olduğunu düşünüyorum. Tabii olayı hala tam anlayamadığım için yanılıyor da olabilirim.
Kod: Tümünü seç
Var
WhereStatement:String;
...
begin
...
WhereStatement:='Where RO5BAKTAR Between :ILK5TAR AND :SON5TAR OR BAKIM1='+ UpperCase(BoolToStr(CheckBox1.Checked,True)) +
' OR BAKIM2=' + UpperCase(BoolToStr(CheckBox2.Checked,True)) + ' OR BAKIM3=' + UpperCase(BoolToStr(CheckBox3.Checked,True)) +
' OR BAKIM4=' + UpperCase(BoolToStr(CheckBox4.Checked,True)) + ' OR BAKIM5=' + UpperCase(BoolToStr(CheckBox5.Checked,True));
Query1.Sql.Add(WhereStatement);
...
end;
Aslında Veritabanı tasarımınızın biraz problemli olduğunu düşünüyorum. Tabii olayı hala tam anlayamadığım için yanılıyor da olabilirim.
Arkadaşlar karışık anlattım sanırım;
yapmak istediğim iki tarih arası ve durumu false veya true olan kayıtları listelemek bu kadar .
true ve false olan alanım BAKIM1 alanı ben bu işlemi bu satırda cözmek istiyorum yardımlarınızı bekliyorum.
Query1.Sql.Add('Where RO5BAKTAR Between :ILK5TAR AND :SON5TAR OR CheckBox2.Checked=BAKIM1');
yapmak istediğim iki tarih arası ve durumu false veya true olan kayıtları listelemek bu kadar .
true ve false olan alanım BAKIM1 alanı ben bu işlemi bu satırda cözmek istiyorum yardımlarınızı bekliyorum.
Query1.Sql.Add('Where RO5BAKTAR Between :ILK5TAR AND :SON5TAR OR CheckBox2.Checked=BAKIM1');
Merhabaozcank yazdı:Arkadaşlar ;
Şöyle birşey yapmak istiyorum yardım edermisiniz?
ComboBox1 e Bakımı yapılanlar bakımı yapılmayanlar diye yazıp bunu FALSE ve TRUE ye eşitleyip nasıl seçtirebilirim?
Items(Yapılanlar, yapılmayanlar) sırasında ise
Kod: Tümünü seç
If combobox.itemindex >0 then yapılanları al :=true else yapılanlarıal=False
daha doğrusu kod döngüsü;
if RadioButton1.Checked or CheckBox2.Checked Then
Begin
Query1.Sql.Clear;
Query1.Sql.Add('Select * From ROKAYIT');
Query1.Sql.Add('Where RO5BAKTAR Between :ILK5TAR AND :SON5TAR');
Query1.ParamByName('ILK5TAR').AsDate:=DateTimePicker1.date;
Query1.ParamByName('SON5TAR').AsDate:=DateTimePicker2.Date;
end;
Query1.Active:=true;
if RadioButton2.Checked then
if RadioButton1.Checked or CheckBox2.Checked Then
Begin
Query1.Sql.Clear;
Query1.Sql.Add('Select * From ROKAYIT');
Query1.Sql.Add('Where RO5BAKTAR Between :ILK5TAR AND :SON5TAR');
Query1.ParamByName('ILK5TAR').AsDate:=DateTimePicker1.date;
Query1.ParamByName('SON5TAR').AsDate:=DateTimePicker2.Date;
end;
Query1.Active:=true;
if RadioButton2.Checked then
burada bakımın yapılıp yapılmadığını hangi alan tutuyor pek i?ozcank yazdı:evet fakat yaptığınızı bu satıra nasıl ekleyebilirim çalışan bir sorgu var çünkü
Query1.Sql.Add('Where RO5BAKTAR Between :ILK5TAR AND :SON5TAR');
Query1.Sql.Add('Where RO5BAKTAR Between :ILK5TAR AND :SON5TAR and bakim1='+senindegisken+'')
En son ikut tarafından 08 Tem 2006 11:07 tarihinde düzenlendi, toplamda 1 kere düzenlendi.