Fórum Escolha de componente para relatórios #346938

03/10/2007

0

[color=red:9721a1cd97]Título editado por Massuda Por favor, não use apenas letras maiúsculas no título/texto. No caso de reincidência, seus tópicos poderão vir a ser bloqueados. Leia as :arrow: [url=http://forum.clubedelphi.net/viewtopic.php?t=6689]Regras de Conduta[/url] do fórum.[/color:9721a1cd97]
Olá,

Estou com uma dúvida, se existe algum componente para criação de relatórios, que possibilite ao usuário alterar a posição dos campos em tempo de execução.
Ou seja, caso o usuário deseje movimentar acertanto os campos para uma impressão correta em um campo de formulário impresso.
Falo tanto em desenvolver um Form, que possibilite ele fazer isto ou em um próprio Preview do componente.

Alguém sabe se isto é possível?
Se existe algum componente pago com esta finalidade?

Agradeço repostas.
Att.


Devmedia

Devmedia

Responder

Posts

03/10/2007

Devmedia

Meu sistema esta sendo desenvolvido em Delphi 7.
Banco de Dados: MySQL 5.0.27
Conexão: dbexpress com dll e drivers para MySQL 5


Responder

Gostei + 0

03/10/2007

Picyka

Meu sistema esta sendo desenvolvido em Delphi 7. Banco de Dados: MySQL 5.0.27 Conexão: dbexpress com dll e drivers para MySQL 5


Nossa como vc conseguiu se conectar no mysql usando o dbexpress ja tentei com o d7 tambem mais sempre deu erro quando carrega uma dll la ate me esqueci o nome so consefui conectar usando o delphi 2007 como que vc fez a sua conexao ???
hehehehhe

abraços
t.+


Responder

Gostei + 0

03/10/2007

Fabiano Góes

[quote:9c5000c801=´lucasfss´]Meu sistema esta sendo desenvolvido em Delphi 7. Banco de Dados: MySQL 5.0.27 Conexão: dbexpress com dll e drivers para MySQL 5


Nossa como vc conseguiu se conectar no mysql usando o dbexpress ja tentei com o d7 tambem mais sempre deu erro quando carrega uma dll la ate me esqueci o nome so consefui conectar usando o delphi 2007 como que vc fez a sua conexao ???
hehehehhe

abraços
t.+[/quote:9c5000c801]

cara eu tb tive esse problema e só consegui a conexão com D2007.

será que o amigo poderia nos dar a dica ???


Responder

Gostei + 0

03/10/2007

Devmedia

Claro que posso ajudar. Segue a dica.

Por Lucas Ferreira;


1º - Voce tem que baixar esta dll que é correposndente ao MySQL 5

http://www.planetadelphi.com.br/delphi/componentes/banco_de_dados/00004551.rar

2º - Coloque a dll na pasta C:\Arquivos de Programas\Borland\Delphi7\Bin

3º - Com isso voce Insere os seguintes componentes:

> dbExpress
1 - SQLConnection
1 - SQLQuery
1 - ClientDataSet

>Data Access
1 - DataSetProvider
1 - DataSource

4º - No componente SQLConection voce atribui em ConnectionName como MySQLConnection
Muda as propriedades GETDriverFunc para getSQLDriverMYSQL50, e a propriedade Libraryname para dbxopenmysql50.dll
A propriedade Vendor lib continua libmysql.dll
Aí é só por em Params o host, a base de dados, o usuário e a senha para conectar.

5º - SQLQuery -> SQL voce coloca a sua instrucao sql:
Exemplo:

select * from nome_da_sua_tabela

SQLQuery -> SQLConnection voce seta o seu componente SQLConnection.

6º - DataSetProvider -> DataSet voce seta SQLQuery

7º - ClientDataSet -> ProviderName voce seta DataSetProvider
Depois voce dá um duplo clique em cima do componente, ele abrira uma janela onde voce adicionara os campos da tabela.
Clicando com o botão invertido (Direito) do mouse, depois em AddFields ou AddAllFields voce adiciona os campos.
Feito isso, automaticamente o componente recebe os campos da sua tabela especificada em SQLQuery.

8º - DataSource -> DataSet voce seta ClientDataSet


Feito isto, voce concluiu a conexão.
Pode sim ou não marcar os componentes com Active -> True
Isso vai depender da sua nescessidade de fazer a conexão em tempo de execução ou não. A seu critério.

Conclusão:

Muito melhor MySQL ... hehehe.
Tive que me virar pra fazer isto funcionar. Juntanto várias informações.
Lembrando que se voce não quiser utilizar MySQL 5 e Quiser manter qualquer outra versão 4,3,2,1 é só manter as configurações padrões do componente.
Não esquecendo que a dll ´libmysql.dll´ tem que estar dentro de C:\Windows independente da sua versão do MySQL, se não seu programa não vai funcionar nunca.


Espero ajudar.
Abraço a todos.
Att.
_________________
_lucasfss


Responder

Gostei + 0

03/10/2007

Devmedia

desculpe-me pelos erros de português.
é porque postei isto aqui correndo e tenho que voltar correndo.


Mas alguém pode responder minha dúvida ????


Responder

Gostei + 0

04/10/2007

Rodc

O ReportBuilder tem um ´Gerador de Relatórios´ onde o próprio usuário (caso você permita) pode criar ou alterar um relatório. E os relatórios ficam no Banco de Dados, não no programa.


Responder

Gostei + 0

04/10/2007

Jhosef

Oia soh... pelo o que eu entendi

Aqui na clubedelphi tem uma artigo/video que ensina a fazer isso com Rave se naum to enganado...

[url=https://www.devmedia.com.br/articles/viewcomp.asp?comp=491]Artigo[/url]
[url=https://www.devmedia.com.br/articles/viewcomp.asp?comp=2971]Video[/url]

Aqui na minha empresa a maioria dos relatórios são montados pelos próprios clientes, temos uma tabela mestre que armazena as principais configurações do relatório como titulo, orientação, rodapé e assim por diante e uma tabela detalhe q armazena os campos que serão impressos, rótulos, shapes e assim por diante, esses relatórios são gerados pelo quick report da para fazer pelo rave tbem... [url=http://www.nevrona.com/Default.aspx?tabid=53]Artigos da Nevrona[/url]

Dica: Vc naum cria formulários dinamicamente, criando TEdits e Labels em tempo de runtime??? com o quick eh a mesma coisa, com a diferença que vc precisa atualizar o Fields tambem...

Usando quick report a semelhança entre construir um formulário e um relatório dinamicamente se torna grande...

Como naum tenho familiaridade em construir relatorios dinamicos com Rave, naum posso dar sugestão sobre esse, soh o site q citei...

Mas para relatórios estáticos prefiro rave...


Responder

Gostei + 0

04/10/2007

Devmedia

Ok.
Muito Obrigado pelas respostas.
Vou dar uma lida, estudar o artigo. Se conseguir volto para informar.
Se mais alguém puder tambem dar outras opções de apoio. Serão muito bem vindas.


Agradeço aos dois.
Obrigado.
Att.


Responder

Gostei + 0

10/10/2007

Devmedia

1 - ClientDataSet


Corrigindo minha falha.
Este é um componente da paleta DataAcess.
Desculpe o erro.
Att.


Responder

Gostei + 0

10/10/2007

Luboc

Oi,

Também existem outros geradores de reports, com alteração em execução, através de um ´designer´:

»» FastReport - http://fast-report.com/en/
»» Report Builder - http://www.digital-metaphors.com

Cada Report é um ficheiro, onde está a estrutura da impressão, com as ligações ao BD. Depois, na aplicação chamamos o Designer, que funciona como outra aplicação, com ele carregamos o report, onde vemos a estrutura, realizamos as modificações e gravamos. Depois, de volta à nossa aplicação, basta imprimir e ver as mudanças realizadas.

Eu usei o Report Builder, uma versão para o Delphi 5, e funcionava muito bem.

O ideal será verificar o tipo de listagens que pretendemos obter e depois saber se o Componente consegue realizar isso e de que forma! Pode ser muito trabalhoso conseguir fazer determinado tipo de listagens e outras vezes nem ser possível.

Fiquem bem,
LuBoc


Responder

Gostei + 0

19/10/2007

Cflima

Caro Lucas,
por favor, vc saberia me dizer o que provoca um erro de conexão com o mysql no delphi 2007 onde aparece a seguinte mensagem:
Access violation at address 112EDF48 in module ´dbxmys30.dll´. Read of address 00000050.
Esse erro não ocorre no delphi 7
Estou usando o mysql versão 5.0.41.
Muito obrigado,
Cássio

Claro que posso ajudar. Segue a dica. Por Lucas Ferreira; 1º - Voce tem que baixar esta dll que é correposndente ao MySQL 5 http://www.planetadelphi.com.br/delphi/componentes/banco_de_dados/00004551.rar 2º - Coloque a dll na pasta C:\Arquivos de Programas\Borland\Delphi7\Bin 3º - Com isso voce Insere os seguintes componentes: > dbExpress 1 - SQLConnection 1 - SQLQuery 1 - ClientDataSet >Data Access 1 - DataSetProvider 1 - DataSource 4º - No componente SQLConection voce atribui em ConnectionName como MySQLConnection Muda as propriedades GETDriverFunc para getSQLDriverMYSQL50, e a propriedade Libraryname para dbxopenmysql50.dll A propriedade Vendor lib continua libmysql.dll Aí é só por em Params o host, a base de dados, o usuário e a senha para conectar. 5º - SQLQuery -> SQL voce coloca a sua instrucao sql: Exemplo: select * from nome_da_sua_tabela SQLQuery -> SQLConnection voce seta o seu componente SQLConnection. 6º - DataSetProvider -> DataSet voce seta SQLQuery 7º - ClientDataSet -> ProviderName voce seta DataSetProvider Depois voce dá um duplo clique em cima do componente, ele abrira uma janela onde voce adicionara os campos da tabela. Clicando com o botão invertido (Direito) do mouse, depois em AddFields ou AddAllFields voce adiciona os campos. Feito isso, automaticamente o componente recebe os campos da sua tabela especificada em SQLQuery. 8º - DataSource -> DataSet voce seta ClientDataSet Feito isto, voce concluiu a conexão. Pode sim ou não marcar os componentes com Active -> True Isso vai depender da sua nescessidade de fazer a conexão em tempo de execução ou não. A seu critério. Conclusão: Muito melhor MySQL ... hehehe. Tive que me virar pra fazer isto funcionar. Juntanto várias informações. Lembrando que se voce não quiser utilizar MySQL 5 e Quiser manter qualquer outra versão 4,3,2,1 é só manter as configurações padrões do componente. Não esquecendo que a dll ´libmysql.dll´ tem que estar dentro de C:\Windows independente da sua versão do MySQL, se não seu programa não vai funcionar nunca. Espero ajudar. Abraço a todos. Att. _________________ _lucasfss



Responder

Gostei + 0

19/10/2007

Devmedia

4º - No componente SQLConection voce atribui em ConnectionName como MySQLConnection Muda as propriedades GETDriverFunc para getSQLDriverMYSQL50, [color=blue:d181aad14c]e a propriedade Libraryname para dbxopenmysql50.dll [/color:d181aad14c] A propriedade Vendor lib continua libmysql.dll Aí é só por em Params o host, a base de dados, o usuário e a senha para conectar.


Voce fez isso?

Att.


Responder

Gostei + 0

14/01/2008

Rlindgren

Lucas,

Vc conseguiu fazer os relatórios dinâmicamente?

Renata


Responder

Gostei + 0

14/01/2008

Devmedia

Lucas, Vc conseguiu fazer os relatórios dinâmicamente? Renata


Infelizmente não.
Um abraço.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar