Usuário com melhor resposta
Ajuda Crystal Reports com MySQL

Pergunta
-
Pessoal consegui achar na net um exemplo para usar o crystal reports.. Eu tentei usar e consegui colocar os dados de uma tabela no relatorio, ficou certo!.. O problema eh q estou tentando usa-lo tbm com chave estrangeiras para mostrar um cadastro de cliente, mas n estou conseguindo..
Vou postar o codigo:
Obs: rptClientes eh o item do crystal reports do relatorio do cliente...
Esse codigo esta dentro de um modulo:Imports MySql.Data.MySqlClient Public Class ClsGerarRelatorio Dim con As New MySqlConnection("server=localhost; user id=root; password=admin; database=workshopmanager") Public Function GeraConsuta(Optional ByVal Campos As String = Nothing, Optional ByVal Condicao As String = Nothing) As DataSet Try Dim ds As New DataSet() If IsNothing(Campos) Then Campos = "*" End If Dim instrucaoSQL As String = "Select " & Campos & " from cliente " & Condicao Dim objCommand = New MySqlCommand(instrucaoSQL, con) Dim objDataSet As New DataSet Dim objSqlDataAdapter As MySqlDataAdapter = New MySqlDataAdapter(objCommand) objSqlDataAdapter.Fill(objDataSet) objCommand = Nothing Return objDataSet Catch ex As Exception MsgBox(ex.Message) End Try Return Nothing End Function Public Function GeraRelatorio(Optional ByVal Campos As String = Nothing, Optional ByVal Condicao As String = Nothing) Dim cr As New rptClientes cr.SetDataSource(GeraConsuta(Campos, Condicao).Tables(0)) frm_RelatorioClientes.CrystalReportViewer1.ReportSource = cr frm_RelatorioClientes.Show() End Function End Class
Agora aqui eh no botao do form de cadastro q serve para mostrar o relatorio do cadastro q esta no form..Dim ClsGeraRelatorio As New ClsGerarRelatorio Private Sub btn_Relatorio_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Relatorio.Click ClsGeraRelatorio.GeraRelatorio("cod_Cliente, nome_Cliente, contato_Cliente, tipo_Cliente, horadata_Cliente", "WHERE cod_Cliente = " & lbl_cod.Text & "") End Sub
Aqui o banco de dados:Create table Cliente ( cod_Cliente integer unsigned primary key not null auto_increment, nome_Cliente varchar(160) not null, contato_Cliente varchar(20), observacoes_Cliente varchar(100), horadata_Cliente varchar(30), tipo_Cliente varchar(10), cod_PF integer unsigned not null, Foreign key (cod_PF) references PF (cod_PF) ON DELETE CASCADE, cod_Telefone integer unsigned not null, Foreign Key (cod_Telefone) references Telefone (cod_Telefone) ON DELETE CASCADE, cod_Endereco integer unsigned not null, Foreign Key (cod_Endereco) references Endereco (cod_Endereco) ON DELETE CASCADE) ENGINE=INNODB; Create table PF ( cod_PF integer unsigned primary key not null auto_increment, rg_PF varchar(30), cpf_PF varchar(30), dataNascimento_PF varchar(15), sexo_PF varchar(10), email_PF varchar(150)) ENGINE=INNODB; Create table Telefone ( cod_Telefone integer unsigned primary key not null auto_increment, residencial_Telefone varchar(15), celular_Telefone varchar(15), fax_Telefone varchar(15)) ENGINE=INNODB; Create table Endereco ( cod_Endereco integer unsigned primary key not null auto_increment, nome_Endereco varchar(160), numero_Endereco varchar(8), complemento_Endereco varchar(20), cep_Endereco varchar(10), bairro_Endereco varchar(30), cidade_Endereco varchar(30), uf_Endereco char(2), pais_Endereco varchar(20)) ENGINE=INNODB;
Respostas
-
Desculpe, mas nao esta clara a sua duvida... Do jeito que vc fez, o problema nao é de MySQL, uma vez que vc passa como fonte de dados para o CR um dataset.
Veja um tutorial do CR com duas tabelas:
http://pallavimushan.blogspot.ca/2011/02/crystal-reports-in-cnet-display-join-of.html
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
Sogi informatique ltée- Marcado como Resposta Gustavo M. GuimarãesModerator terça-feira, 11 de dezembro de 2012 11:55
Todas as Respostas
-
-
Desculpe, mas nao esta clara a sua duvida... Do jeito que vc fez, o problema nao é de MySQL, uma vez que vc passa como fonte de dados para o CR um dataset.
Veja um tutorial do CR com duas tabelas:
http://pallavimushan.blogspot.ca/2011/02/crystal-reports-in-cnet-display-join-of.html
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
Sogi informatique ltée- Marcado como Resposta Gustavo M. GuimarãesModerator terça-feira, 11 de dezembro de 2012 11:55