Usa o comando format, no where coloca : where (1=1)

Abs,
Leandro


Em 31/07/06, Flavio <[EMAIL PROTECTED]> escreveu:
>
>  Olá pessoal,
>
> estou aqui desta vez para pedir um auxílio. Talvez muitos já se depararam
> com essa situação antes. Estou programando com Delphi 6, Quick Report 3 e
> Interbase 6. É a seguinte:
>
> Tenho um form que possibilita o usuário emitir um relatório no QUick
> Report. Porém, o usuário pode "filtrar" a busca ao acessar os dados no
> interbase para jogar no relatório, como por exemplo pesquisar os patrimônios
> entre um intervalo de datas ou de ID´s ou até mesmo mostrar patrimônios
> doados ou não ou ambos.
>
> a minha sql é a seguinte:
>
> strdata := ' "data" BETWEEN '#39 +
>                           meDataInicial.Text + #39' AND '#39 +
>                      meDataFinal.Text + #39'';
>
> strdoado := ' "doado" IS NULL ';
>
> strnumero := ' "numero" BETWEEN ' +
>                           eNumeroInicial.Text + ' AND ' +
>                      eNumeroFinal.Text;
>
> // SQL FINAL !!!
> strsql := 'select * from patrimonio where' + strdata + ' AND ' + strdoado
>                        + ' AND ' + strnumero + ' order by "' +
> cbOrdenar.Text + '"';
>
>
> Agora suponha que não queira filtrar nada da busca. Então perceba que a
> palavra where vai ocasionar um erro. Agora suponha que queira buscar por
> data, doado, mas não número. Então a palavra (o segundo AND da SQL FINAL)
> AND vai precisar de uma palavra (coluna) seguinte.
>
>
> O que estou querendo saber é se alguém possui uma idéia boa de como
> contornar esse problema, esquivando-se de inúmeros if´s else´s.
>
>
> Obrigado pela atenção de todos !!!
>
> Flávio
>
>
> ---------------------------------
> Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular.
> Registre seu aparelho agora!
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 
>



-- 
==============================================
Leandro Belanda
MSN: [EMAIL PROTECTED]
"É bom ser importante, mas é mais importante ser bom."


[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a