Cita:
Empezado por Casimiro Notevi
Código SQL [-]select *
from tabla
where idcategoria= :aaa
and idmarca= :bbb
and nombreproducto= :ccc
¡Ah!, un clientdataset, no me hagas caso.
|
Claro la idea es no realizar una consulta sql nuevamente, el dataset trabaja en memoria.
Se puede hacer aunque no se si sea la forma mas adecuada(no es objetos obviamente)
Código Delphi
[-]procedure actualizaGrilla;
begin
if form3.ENOMBRE.Text='' then
begin
if Form3.DBLCBCATEGORIA.KeyValue<>null then
begin
if Form3.DBLCBMARCA.KeyValue<>null then
begin
with DataModule1.cdsproductos do
begin
begin
Filtered:=False;
Filter:='idcategoria=' + IntToStr( form3.DBLCBCATEGORIA.KeyValue) + 'and idmarca='+ Inttostr(Form3.DBLCBMARCA.KeyValue);
Filtered:=True;
end;
end;
end
else
begin
with DataModule1.cdsproductos do
begin
Filtered:=False;
Filter:='idcategoria=' + IntToStr(form3.DBLCBCATEGORIA.KeyValue);
Filtered:=True;
end;
end;
end
else
if Form3.DBLCBMARCA.KeyValue<>null then
begin
if Form3.DBLCBCATEGORIA.KeyValue<>null then
begin
with DataModule1.cdsproductos do
begin
begin
Filtered:=False;
Filter:='idcategoria=' +inttostr( form3.DBLCBCATEGORIA.KeyValue) + 'and idmarca='+ inttostr(Form3.DBLCBMARCA.KeyValue);
Filtered:=True;
end;
end;
end
else
begin
with DataModule1.cdsproductos do
begin
begin
Filtered:=False;
Filter:='idmarca='+ InttoStr(Form3.DBLCBMARCA.KeyValue) + 'and nombre like ''%' + Form3.ENOMBRE.Text+'%''' ;
Filtered:=True;
end;
end;
end;
end;
end
else
begin
if Form3.DBLCBCATEGORIA.KeyValue<>null then
begin
if Form3.DBLCBMARCA.KeyValue<>null then
begin
with DataModule1.cdsproductos do
begin
begin
Filtered:=False;
Filter:='idcategoria=' + IntToStr( form3.DBLCBCATEGORIA.KeyValue) + 'and idmarca='+ Inttostr(Form3.DBLCBMARCA.KeyValue) + 'and nombre like ''%' + Form3.ENOMBRE.Text+'%''' ;
Filtered:=True;
end;
end;
end
else
begin
with DataModule1.cdsproductos do
begin
Filtered:=False;
Filter:='idcategoria=' + IntToStr(form3.DBLCBCATEGORIA.KeyValue) + 'and nombre like ''%' + Form3.ENOMBRE.Text+'%''' ;
Filtered:=True;
end;
end;
end
else
if Form3.DBLCBMARCA.KeyValue<>null then
begin
if Form3.DBLCBCATEGORIA.KeyValue<>null then
begin
with DataModule1.cdsproductos do
begin
begin
Filtered:=False;
Filter:='idcategoria=' +inttostr( form3.DBLCBCATEGORIA.KeyValue) + 'and idmarca='+ inttostr(Form3.DBLCBMARCA.KeyValue) + 'and nombre like ''%' + Form3.ENOMBRE.Text+'%''' ;
Filtered:=True;
end;
end;
end
else
begin
with DataModule1.cdsproductos do
begin
begin
Filtered:=False;
Filter:='idmarca='+ InttoStr(Form3.DBLCBMARCA.KeyValue) + 'and nombre like ''%' + Form3.ENOMBRE.Text+'%''' ;
Filtered:=True;
end;
end;
end;
end;
end;
end;
comparto