Usuário com melhor resposta
Fazer Sub-relatório ou Função no SQL?

Pergunta
-
Olá Pessoal, gostaria de saber a melhor forma de concretizar meu relatório, que está em Crystal 2008 em uma solução windows form.
Tenho um relatório que mostra o pedido e seus respectivos itens, logo agrupei o pedido e mostro os itens na section de detalhes. No entanto existe um terceira informação que é a forma de pagamento, que geralmente mais de uma parcela.
Tenho que mostrar ao lado do código do pedido, ou seja, na section do cabeçalho do grupo o pedido a forma de pgamento do pedido da seguinte forma: 30 / 60 / 90 / 120.
Aí que nasce minha dúvida.
O melhor é:
--> Criar um sobrelatório? Se sim, é possível colocá-lo na section do cabeça do grupo?
--> Ou é melhor ccriar um função no SQL na qual eu crie um while pegando como parâmetro o pedido e retornando a forma de pagamento concatenada?
A questão performance está contanto muito nesta implementação.
O que sugerem?
Aceito exemplos.
Maxwel Barbosa.
Respostas
-
Maxwel,
A forma mais simples de resolver é criando uma função para retornar em uma única linha as possíveis formas de pagamento.
Se o banco de dados for SQL-Server, no próprio fórum MSDN vc vai encontrar exemplos de como implementar:
https://forums.microsoft.com/MSDN-BR/ShowPost.aspx?PostID=1986202&SiteID=21
Quanto a performance eu tenho alguns relatórios onde precisei definir uma função e não tenho nenhum problema.
[]'s
Laércio.
Ajude a melhorar o nosso Fórum!
Não esqueça de marca a mensagem como "útil", caso tenha ajudado.
Todas as Respostas
-
Maxwel,
A forma mais simples de resolver é criando uma função para retornar em uma única linha as possíveis formas de pagamento.
Se o banco de dados for SQL-Server, no próprio fórum MSDN vc vai encontrar exemplos de como implementar:
https://forums.microsoft.com/MSDN-BR/ShowPost.aspx?PostID=1986202&SiteID=21
Quanto a performance eu tenho alguns relatórios onde precisei definir uma função e não tenho nenhum problema.
[]'s
Laércio.
Ajude a melhorar o nosso Fórum!
Não esqueça de marca a mensagem como "útil", caso tenha ajudado. -
Eu apostava que com o sib-relatória seria mais rápido.
A propósito com o Crystal não gera detalhe na Horizontal, certo?
COm o report view a Microsoft será que implementou geração de dados na selection detalhe tanto na horizontal quanto na vertical?
Lembro que o Fast Report, lá no Delphi 5 fazia isso. Incrível né. Até hj não achei essa opção no Crystal.
O banco é sql server mesmo, já tinha até criado a função, mas pintou a dúvida da melhor forma de fazer.
Obrigado.
-
Maxwel,
Com o report view a Microsoft será que implementou geração de dados na selection detalhe tanto na horizontal quanto na vertical?
Você deve está se referindo a opção de Cross Table e essa opção existe em ambos os componentes. Neste caso, a solução do ReportViewer é bem mais fácil de implementar.
Inclusive eu tenho um exemplo de Cross Table no 3 vídeo que eu disponibilizei para a comunidade MSDN.
[ ]'s
Laércio.
Ajude a melhorar o nosso Fórum!
Não esqueça de marca a mensagem como "útil", caso tenha ajudado.