[firebase-br] Funcionamento confuso? com D6+DBX+FB1.5 - Ajudap/entender
Francisco Thiago
jeandeadlucky em yahoo.com.br
Seg Ago 15 18:20:35 -03 2005
Oswaldo..
Pode ser que eu esteja atrasado nas respostas... mas
Ordenação:
Não faça no banco, prefira fazer no ClientDataSet.. Você vai economizar
recursos no banco :D
Estar imprimindo só alguns registros...
Conselho de amigo? Cria um novo form e começa o relatório do zero. Algo
parecido já aconteceu comigo (o diferente era a quantidade de registros) e o
danado do Quick não mostrava todo mundo :'(... Resultado: Uma semana até
encontrar o erro... Uma dica é sempre duvidar do Quick em segundo lugar :)
Pra matar a dúvida, mostra o CDS numa grid e vê quantos registros ele está
mostrando.
Verifique também o PacketRecords dele... pode ser que em tempo de execução
vc esteja modificando esta propriedade...
[]'s
Francisco Thiago de Almeida
Enter & Plug Informática
Divisão: Desenvolvimento e Banco de dados
Franca / SP
msn: thiago em enterplug.com.br
----- Original Message -----
From: "oswaldosa" <oswaldosa em ig.com.br>
To: <lista em firebase.com.br>; <lista em firebase.com.br>
Sent: Friday, August 12, 2005 5:40 PM
Subject: Re: [firebase-br] Funcionamento confuso? com D6+DBX+FB1.5 -
Ajudap/entender
> Olá Eduardo e amigos...
>
> Aqui vai o select completo para vc ver, não entendo ser o caso...no DSP eu
> inclusive redeclaro o nome da Tabela p/ele não se perder...
>
> SELECT
> C.COD_CLI, C.NOME_CLIENTE, C.SOBRENOME_CLIENTE,
> C.STATUS_INTERNO, C.COD_CATEGORIA, C.DT_CADASTRO,
> C.ULT_CONTATO, C.APELIDO_CLIENTE,
> C.SITUACAO_FINANCEIRA, C.ENDERECO, C.COMPLEMENTO,C.BAIRRO,
> C.CIDADE, C.UF, C.CEP, C.CNPJ, C.INSCR_ESTADUAL, C.DATANASC,
> C.TEL01, C.TEL02, C.FAX, C.CELULAR, C.EMAIL, C.CRIADOR,
> (SELECT CAT.CATEGORIA FROM CAT_CLIENTES CAT WHERE CAT.COD_CATEGORIA =
> C.COD_CATEGORIA) AS NOME_CATEGORIA,
> (SELECT COUNT(*) FROM ANIMAIS A WHERE A.COD_CLI = C.COD_CLI) AS
> QT_ANIMAIS,
> (SELECT COUNT(*) FROM ANIMAIS A WHERE A.COD_CLI = C.COD_CLI AND
> A.PEDIGREE IS NOT NULL AND A.PEDIGREE<>'') AS QT_COM_PEDIGREE,
> (SELECT COUNT(*) FROM ANIMAIS A WHERE A.COD_CLI = C.COD_CLI AND
> A.AG_MATRIMONIAL = 'Y') AS QT_AGENCIA,
> case C.STATUS_INTERNO
> when '1' then 'Cliente Ativo'
> when '2' then 'Cliente Inativo'
> when '3' then 'Prospect'
> else
> 'Sem Status Definido'
> end as DESCRICAO_STATUS,
> case C.SITUACAO_FINANCEIRA
> when '1' then 'Situação Financeira OK'
> when '2' then 'Crediário OK'
> when '3' then 'Inadimplente'
> when '4' then 'Cheques Devolvidos'
> when '5' then 'Problema com Cartão de Crédito'
> else
> 'Não Cadastrada'
> end as DESCRICAO_SIT_FINANCEIRA
> FROM
> CLIENTES C
> WHERE
> (C.BAIRRO LIKE :BAIRRO OR :BAIRRO_TODOS = 1) AND
> (C.CIDADE LIKE :CIDADE OR :CIDADE_TODOS = 1) AND
> (C.UF = :UF OR :UF_TODOS = 1) AND
> (C.STATUS_INTERNO = :STATUS_INTERNO OR :STATUS_INTERNO = '0') AND
> (C.SITUACAO_FINANCEIRA = :SIT_FINANCEIRA OR :SIT_FINANCEIRA = '0') AND
> (C.COD_CATEGORIA = :COD_CATEGORIA OR :COD_CATEGORIA = 0) AND
> (C.DT_CADASTRO BETWEEN :DT_INICIO AND :DT_FIM OR :TODOS_DTCAD = 1) AND
> (C.CRIADOR = :CRIADOR_PETS OR :CRIADOR_PETS = '')
> ORDER BY C.SITUACAO_FINANCEIRA, C.NOME_CLIENTE, C.COD_CLI
>
>
> A única coisa que muda em cada um deles é o final, justamente o order...E
> uma coisa que chamou a minha atenção é que se eu usar a Indexação com
> ClientDataSet não funciona mesmo...
>
>
> []'s
> Oswaldo
>
> Em (17:03:07), FireBase escreveu:
>
>
>>Olá oswaldo
>>
>>> Funciona ORDER BY C.SITUACAO_FINANCEIRA, C.NOME_CLIENTE, C.COD_CLI
>>> Mas ORDER BY C.BAIRRO, C.NOME_CLIENTE, C.COD_CLI não funciona
>>> agora ORDER BY C.BAIRRO, C.NOME_CLIENTE, C.SOBRENOME_CLIENTE funciona...
>>>
>>> Alguém sabe o porquê disto?
>>> Isto é um problema com o driver do DBExpress? OU sou eu mesmo que estou
>>> errando e não entendi como funciona isto direito.
>>
>>Tenho percebido que o FB (uso o 1.5.2), em alguns casos onde a coluna
>>pedida no ORDER BY não está no ResultSet, se perde na ordenação.
>>Às vezes sou obrigado a colocar determinadas colunas na consulta só para
>>me certificar que a ordenação vai ser respeitada.
>>Como na época do piradox SEMPRE tinha que estar no ResultSet, não achei
>>tão ruim assim.
>>
>>Tenho percebido este comportamento em consultas envolvendo JOINS e que o
>>ORDER não é feito em colunas da tabela principal.
>>
>>Talvez outros colegas possam entrar e dar uma luz sobre isso.
>>
>>[]s Eduardo
>>
>>______________________________________________
>>FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
>>Para editar sua configuração na lista, use o endereço
>>http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>>Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>>----------
>
--------------------------------------------------------------------------------
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
_______________________________________________________
Yahoo! Acesso Grátis - Internet rápida e grátis.
Instale o discador agora! http://br.acesso.yahoo.com/
Mais detalhes sobre a lista de discussão lista