filtreleme konusunda yazılanları okudum ve datasetin filtreleme özelliği yerine sql kullanmayı tavsiye edenlerin çoğunlukta olduğunu gördüm fakat genelde sorular raporlama üzerineydi.
benim sorunumda ise veri girişinde filtreleme lazım. terminallerin ayrı ayrı kodları var ve her terminal programı açtığında kendi bilgilerini görsün istiyorum. forumda yaptığım araştırma sonucunda şu kod ortaya çıktı ve şimdilik tek kayıt olan tablomda istediğimi elde ettim. fakat ileride sıkıntı verirmi veya izlediğim yolun doğruluğu hakkında sizlere danışmak istedim.
ilgili datasetin SQL satırı şöyle;
Kod: Tümünü seç
SELECT*FROM OLAYRAPOR where TERMINALID=:TERMID ORDER BY OLAYYILI, RAPORNO, EKRAPORNO
Kod: Tümünü seç
if not assigned(frmraporgiris) then
begin
frmraporgiris:=Tfrmraporgiris.Create(self);
frmraporgiris.show;
frmraporgiris.WindowState:=wsmaximized;
[b]rapordm.RaporGirisIBDSet.Active:=false;
rapordm.RaporGirisIBDSet.ParamByName('TERMID').AsInteger:=olayprodm.GirisKontIBQry.fieldbyname('TERMINALID').AsInteger;
rapordm.RaporGirisIBDSet.active:=true;[/b]
rapordm.OlaySahisIBDSet.Active:=true;
rapordm.OlayuzmanIBDSet.Active:=true;
rapordm.OlaydelilIBDSet.Active:=true;
tempdm.delilteslimibdset.Active:=true;
tempdm.teslimtesellumibdset.Active:=true;
frmraporgiris.Caption:='Olay Yeri İnceleme Raporu... OLAYPRO... TERMİNAL ID='+
inttostr(olayprodm.GirisKontIBQry.fieldbyname('TERMINALID').ASinteger)+
'... TERMİNAL ADI='+
olayprodm.GirisKontIBQry.fieldbyname('TERMINALADI').AsString+
'... KULLANICI='+
olayprodm.GirisKontIBQry.fieldbyname('ADISOYADI').AsString;
end
else
frmraporgiris.BringToFront;
düşünülen yolun sıhhati açısından görüş bildirirseniz sevinirim
kolay gelsin saygı ile