Caro Fernando, Creio que o problema é o seguinte: como no sqltest da coluna cli_nome você tem uma expressão '%'+nome+'%', o que ocorre é que o argumento deste sqltest nunca será vazio, portanto o seu type="nb" não está fazendo efeito. Uma alternativa é você colocar uma expressão um pouco mais complexa, assim:
nome and '%'+nome+'%' or '' Testando no Python: >>> nome = '' >>> nome and '%'+nome+'%' or '' '' >>> nome = 'gioconda' >>> nome and '%'+nome+'%' or '' '%gioconda%' >>> Ou seja, se o nome é não-vazio, a expressão produz o nome entre %%, se o nome é vazio, a expressão produz uma string vazia. Espero que isso funcione para você, porque não tive tempo de testar no Zope. [ ]s Luciano On Jan 8, 2008 2:20 PM, pythondeveloper <[EMAIL PROTECTED]> wrote: > SELECT cli_codigo, cli_nome, cli_cnpj > FROM cliente > <dtml-sqlgroup where> > <dtml-sqltest codigo column="cli_codigo" op="eq" type="nb" optional> > <dtml-or> > <dtml-sqltest expr="'%'+nome+'%'" column="cli_nome" op="like" > type="nb"> > </dtml-sqlgroup> > ORDER BY cli_codigo, cli_nome > > Quando pesquiso por nome, essa consulta me retorna apenas o nome que > pesquiso. > > Ex: > > nome=fernando > > Ela me retorna todos os fernandos gravados na tabela cliente. Agora > quando pesquiso por código ela me retorna não apenas o código que > pesquiso mas sim todos os códigos da tabela. > > Ex: > > codigo = 66 > > ela retorna > > 1 = Alonso > > 2 = Beto > > 3 = Camargo > > 66 = Fernando > > 67 = Gabriel > > Alguma dica sobre como fazer para retornar apenas o código que preciso ? > > abs > > > > Para enviar uma mensagem: zope-pt@yahoogrupos.com.br > Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] > Links do Yahoo! Grupos > > >