Escolha de componente para relatórios
[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
Curtidas 0
Respostas
Devmedia
03/10/2007
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
Banco de Dados: MySQL 5.0.27
Conexão: dbexpress com dll e drivers para MySQL 5
GOSTEI 0
Picyka
03/10/2007
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.+
GOSTEI 0
Fabiano Góes
03/10/2007
[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 ???
GOSTEI 0
Devmedia
03/10/2007
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
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
GOSTEI 0
Devmedia
03/10/2007
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 ????
é porque postei isto aqui correndo e tenho que voltar correndo.
Mas alguém pode responder minha dúvida ????
GOSTEI 0
Rodc
03/10/2007
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.
GOSTEI 0
Jhosef
03/10/2007
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...
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...
GOSTEI 0
Devmedia
03/10/2007
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.
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.
GOSTEI 0
Devmedia
03/10/2007
1 - ClientDataSet
Corrigindo minha falha.
Este é um componente da paleta DataAcess.
Desculpe o erro.
Att.
GOSTEI 0
Luboc
03/10/2007
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
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
GOSTEI 0
Cflima
03/10/2007
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
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
GOSTEI 0
Devmedia
03/10/2007
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.
GOSTEI 0
Rlindgren
03/10/2007
Lucas,
Vc conseguiu fazer os relatórios dinâmicamente?
Renata
Vc conseguiu fazer os relatórios dinâmicamente?
Renata
GOSTEI 0
Devmedia
03/10/2007
Lucas,
Vc conseguiu fazer os relatórios dinâmicamente?
Renata
Infelizmente não.
Um abraço.
GOSTEI 0