CRYSTAL REPORT COM VS 2010 E MYSQL
Olá pessoal Bom dia!
Bem pessoal, olha só por opção da empresa ainda usa-se o ADO 2.8 no Visual Studio 2010 e conexão ODBC com banco MySQL. Sendo que me deparei com um problema. Minha dúvida seria tenho que obrigatoriamente usar um DataSet e o dataAdapter. Pois tentei passar o comando SQL direto para o DataSource do report e dá a seguinte mensagem de erro:
Column [ô][ô] does not belong to table Comando.
Ia esquecendo a SQl que filtro é essa:
select cc.*,ccf.CODIGO as CODIGOFOTO,ccf.CODIGO_CLIENTE as CODIGO_CLIENTE,ccf.IMG_FOTO from 01_cadastro_clientes as cc
left join 01_cadastro_imgfotos_clientes as ccf on cc.CODIGO=ccf.CODIGO_CLIENTE where cc.CODIGO=16 order by cc.NOME
estou usando a seguinte rotina para chamar o report
If Not IO.File.Exists(Clientes.Var_Caminho_dos_Relatorios & [Ô]\[Ô] & NomeRPT) Then
MsgBox([Ô]O arquivo [Ô] & NomeRPT & [Ô] não existe no diretório.[Ô], vbOKOnly + vbInformation, [Ô]Informativo[Ô]) : Exit Sub
End If
Dim rsrelatorios As New ADODB.Recordset
Call AbreConexaoMySQL()
If Conexao.State = 1 Then Conexao.Close()
rsrelatorios.ActiveConnection = Conexao
rsrelatorios.Open(ComandoSQL)
rpt.Load(Clientes.Var_Caminho_dos_Relatorios & [Ô]\[Ô] & NomeRPT)
rpt.SetDataSource(ds) ‘ESSE ERRO ACONTECE NESSA LINHA AQUI
If TituloDoRelatorio <> [Ô][Ô] Then
rpt.DataDefinition.FormulaFields.Item([Ô]TituloRelatorio[Ô]).Text = [Ô][ô][Ô] & TituloDoRelatorio & [Ô][ô][Ô]
End If
If SubTituloDoRelatorio <> [Ô][Ô] Then
rpt.DataDefinition.FormulaFields.Item([Ô]SubTitulo[Ô]).Text = [Ô][ô][Ô] & SubTituloDoRelatorio & [Ô][ô][Ô]
End If
frm_RELATORIOS_CLIENTES.crv_CLIENTES.Zoom(100)
frm_RELATORIOS_CLIENTES.crv_CLIENTES.ReportSource = rpt
frm_RELATORIOS_CLIENTES.ShowDialog()
Apesar de muitos criticarem é padrão da empresa usar ADO 2.8 e não ADO.NET. Pois passando direto para o datasource do report não precisarei criar o campos manualmente no DataSet. Outra coisa o mreu relatório tem um command de nome cmdclientes que é de onde insiro os campos no relatório.
Bem pessoal, olha só por opção da empresa ainda usa-se o ADO 2.8 no Visual Studio 2010 e conexão ODBC com banco MySQL. Sendo que me deparei com um problema. Minha dúvida seria tenho que obrigatoriamente usar um DataSet e o dataAdapter. Pois tentei passar o comando SQL direto para o DataSource do report e dá a seguinte mensagem de erro:
Column [ô][ô] does not belong to table Comando.
Ia esquecendo a SQl que filtro é essa:
select cc.*,ccf.CODIGO as CODIGOFOTO,ccf.CODIGO_CLIENTE as CODIGO_CLIENTE,ccf.IMG_FOTO from 01_cadastro_clientes as cc
left join 01_cadastro_imgfotos_clientes as ccf on cc.CODIGO=ccf.CODIGO_CLIENTE where cc.CODIGO=16 order by cc.NOME
estou usando a seguinte rotina para chamar o report
If Not IO.File.Exists(Clientes.Var_Caminho_dos_Relatorios & [Ô]\[Ô] & NomeRPT) Then
MsgBox([Ô]O arquivo [Ô] & NomeRPT & [Ô] não existe no diretório.[Ô], vbOKOnly + vbInformation, [Ô]Informativo[Ô]) : Exit Sub
End If
Dim rsrelatorios As New ADODB.Recordset
Call AbreConexaoMySQL()
If Conexao.State = 1 Then Conexao.Close()
rsrelatorios.ActiveConnection = Conexao
rsrelatorios.Open(ComandoSQL)
rpt.Load(Clientes.Var_Caminho_dos_Relatorios & [Ô]\[Ô] & NomeRPT)
rpt.SetDataSource(ds) ‘ESSE ERRO ACONTECE NESSA LINHA AQUI
If TituloDoRelatorio <> [Ô][Ô] Then
rpt.DataDefinition.FormulaFields.Item([Ô]TituloRelatorio[Ô]).Text = [Ô][ô][Ô] & TituloDoRelatorio & [Ô][ô][Ô]
End If
If SubTituloDoRelatorio <> [Ô][Ô] Then
rpt.DataDefinition.FormulaFields.Item([Ô]SubTitulo[Ô]).Text = [Ô][ô][Ô] & SubTituloDoRelatorio & [Ô][ô][Ô]
End If
frm_RELATORIOS_CLIENTES.crv_CLIENTES.Zoom(100)
frm_RELATORIOS_CLIENTES.crv_CLIENTES.ReportSource = rpt
frm_RELATORIOS_CLIENTES.ShowDialog()
Apesar de muitos criticarem é padrão da empresa usar ADO 2.8 e não ADO.NET. Pois passando direto para o datasource do report não precisarei criar o campos manualmente no DataSet. Outra coisa o mreu relatório tem um command de nome cmdclientes que é de onde insiro os campos no relatório.
Como você alimenta o DATASET?
Tópico encerrado , respostas não são mais permitidas