Boa tarde.
Não consegui implementar o seu código. Pois da maneira que fiz esta dando erro. Minha consulta está assim:
Imports Microsoft.VisualBasic
Imports System.Data.SqlClient
Imports System.Data
Module SELECT_CF_Report_Beneficios
Public sqlDados1 As New DataSet ''GUARDA A CONSULTA REALIZADA NO DATA SET
Public sqlDados2 As New DataSet ''GUARDA A CONSULTA REALIZADA NO DATA SET
''' <summary>
''' CARREGA OS ITENS NO REPORT PARA IMPRESSÃO
''' </summary>
''' <remarks></remarks>
Public Sub Select_Dados()
''FECHA A CONEXÃO COM O BANCO
ConectionBD.Close()
Try
''FAZ A CONSULTA NO BANCO GERA O REPORT PARA IMPRESSÃO
Dim SQLConsulta1 As New SqlDataAdapter("SELECT * FROM Cadastro_Funcionario" _
& " WHERE idcolaborador = '" & CF.DataGrid_Dados.CurrentRow.Cells(0).Value & "'" _
& " AND empresa = '" & WASINFOSystem.txtempresa.Text & "'", ConectionBD.ConnectionString)
''FAZ A CONSULTA NO BANCO GERA O REPORT PARA IMPRESSÃO
Dim SQLConsulta2 As New SqlDataAdapter("SELECT * FROM Cadastro_Funcionario" _
& " WHERE idcolaborador = '" & CF.DataGrid_Dados.CurrentRow.Cells(0).Value & "'" _
& " AND empresa = '" & WASINFOSystem.txtempresa.Text & "'", ConectionBD.ConnectionString)
''ABRE A CONEXÃO COM O BANCO
ConectionBD.Open()
''RECEBE OS DADOS DO DATA SET
SQLConsulta1.Fill(sqlDados1)
SQLConsulta2.Fill(sqlDados2)
''FECHA A CONEXÃO COM O BANCO
ConectionBD.Close()
Catch ex As Exception
''EM CASO DE ERRO, RETORNA A MENSAGEM
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "SELECT_CF_Report_Beneficios")
''FECHA A CONEXÃO COM O BANCO DE DADOS
ConectionBD.Close()
End Try
O botão para imprimir ficou assim:
SELECT_CF_Report_Beneficios.Select_Dados() ''faz a consulta
Dim dset As New DataSet() ''cria um dataset
Dim ds As New DataTable
Dim rpt As New CRP_CF_Beneficios2 ''nome do crystal report
dset.Tables.Add(SELECT_CF_Report_Beneficios.sqlDados1.Tables(0).DefaultView.Table) ''adiciona uma tabla ao dataset
dset.Tables.Add(SELECT_CF_Report_Beneficios.sqlDados2.Tables(0).DefaultView.Table) ''adiciona outra tablea ao dataset
rpt.SetDataSource(ds) ''define como source do report o dataset (com as datatables)
CRP_Print_Form.CRP_Documents.ReportSource = rpt
CRP_Print_Form.CRP_Documents.RefreshReport()
CRP_Print_Form.Show()
O erro: DataTable already belongs to another DataSet.
dset.Tables.Add(SELECT_CF_Report_Beneficios.sqlDados1.Tables(0).DefaultView.Table) ''adiciona uma tabla ao dataset
Diz que o DataTable pertence a outro DataSet. Mas não entendi como implementar.
↧