Hola de nuevo,
aburrido de probar con la funcion IIF... algo se acercaba a lo que pretendia pero no daba con el correcto funcionamiento
cambie de metodo y consegui lo que me pretendia
en un principio pense que todo esto seria mas facil; en fin de todo se aprende
dejo el codigo y el programa de como a mi me ha funcionado por si a alguien le ocurre lo mismo
PROPOSITO: lanzar una consulta con los parametros que haya en 1,2,3... los edit que sean
solucionado si el campo es Null... devuelve las coincidencias de los edit
gracias a los que se interesaron por mi consulta;
codigo de la funcion:
Código:
function fAsigParamconsul (str:string):string;
var i,j:integer;
camp,crit:string ;
begin
with form1 do
begin
j:= 0 ;
FOR i:=1 to 4 DO
begin
CASE i OF
1: camp:= 'NOMBRE';
2: camp:= 'DIRECCION';
3: camp:= 'TELEF1';
4: camp:= 'TELEF2';
END;{FIN case}
IF TEdit(Findcomponent('Edit'+inttostr(i))).Text <> ''
then
begin
CASE j OF
0: crit:='WHERE' ;
1: crit:='AND' ;
END;{FIN case}
{SELECT * FROM TABLA WHERE CAMPO LIKE param}
str := str+' '+crit+' '+camp+' LIKE '+chr(39)+'%'+TEdit(FindComponent('Edit'+inttostr(i))).Text+'%'+chr(39);
j:= 1 ;
end{FIN then TEdit <> ''}
// else j:= 0 ;{ELSE TEdit <> ''}
end;{FIN bucle FOR}
Result := str ;
end;{FIN with frm}
end;
llamada a la funcion
Código:
strconsul:=fAsigParamConsul ('SELECT * FROM TABLA1')