CRIAR BOTÃO PARA IMP EM CRYSTAL REPORTS

SANROMAN 14/11/2014 19:05:00
#442538
Boa tarde,

Gostaria de obter ajuda na construção de um botão para imprimir relatórios em Crystal.

Já tentei com alguns códigos captados na internet e não consigo desenvolver o tal botão

Espero que me ajudem
NICKOSOFT 16/11/2014 11:07:34
#442554
imprimir sem q o relatorio seja exibido?
pq qnd exibe o relatorio o botao esta la, conforme as opcoes q setou como visible
FILMAN 16/11/2014 12:37:19
#442555
Resposta escolhida
Detalhe mais o seu problema!
TECNOSYSTEMSP 17/11/2014 10:17:42
#442565
Eu uso os comandos abaixo:
McpMenu.CrystalReport.Destination = 0
McpMenu.CrystalReport.SelectionFormula = [Ô]{Tabela.ordem_producao}=[ô][Ô] & VsOP & [Ô][ô][Ô] => Aqui vc aplica um filtro se desejar....
McpMenu.CrystalReport.WindowTitle = [Ô]Gerando a Ordem de Produção[Ô]
McpMenu.CrystalReport.DataFiles(0) = (StrMulti)
ViPrinter = McpMenu.CrystalReport.PrintReport

Onde StrMulti, é uma variável string com o caminho da base de dados e ViPrinter uma variável integer.
FILMAN 17/11/2014 18:15:15
#442575
Bom, espero que seja isso que esta precisando

Private Sub InicializaCrystalReports()
CrystalReport1.Reset
CrystalReport1.CopiesToPrinter = 1
CrystalReport1.Destination = crptToWindow
CrystalReport1.WindowBorderStyle = crptSizable
CrystalReport1.WindowControlBox = True
CrystalReport1.WindowControls = True
CrystalReport1.WindowShowExportBtn = True
CrystalReport1.WindowShowPrintBtn = True
CrystalReport1.WindowShowPrintSetupBtn = True
CrystalReport1.WindowShowSearchBtn = True
CrystalReport1.WindowState = crptMaximized
End Sub

[ô]No botão faça o seguinte
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
InicializaCrystalReports()

[ô]Inicia o processo de impressão a partir da impressora (sem mostrar em tela)
CrystalReport1.Destination = crptToPrinter [ô]Indica que a impressão será direcionada para impressora e não mostrará em tela
CrystalReport1.DataFiles(0) = [Ô]NomeTabela[Ô] [ô]Tabela que esta parametrizada dentro do designer do relatório

[ô]Executa os comandos de impressão
CrystalReport1.ReportFileName = [Ô]Caminho do seu relatório[Ô] [ô]Ex. C:\meurelatorio.rpt
CrystalReport1.Connect = [Ô]Sua String de Conexão com o Banco[Ô]
CrystalReport1.Action = 1

[ô]Zera relatório
CrystalReport1.DataFiles(0) = [Ô][Ô]
CrystalReport1.Destination = crptToWindow [ô]Indica que a impressão será mostrada em tela
End Sub
SANROMAN 20/11/2014 13:32:10
#442659
Bom dia Filman

Desculpe a demora, estava fora a trabalho.

Tentei usar o código que vc me passou mas dá erro em todos os campos, devo estar fazendo algo errado com certeza.

Segue, abaixo o código que gera o relatório:

<pre style=[Ô]font-family:arial;font-size:12px;border:1px dashed #CCCCCC;width:99%;height:auto;overflow:auto;background:#f0f0f0;;background-image:URL(http://2.bp.blogspot.com/_z5ltvMQPaa8/SjJXr_U2YBI/AAAAAAAAAAM/46OqEP32CJ8/s320/codebg.gif);padding:0px;color:#000000;text-align:left;line-height:20px;[Ô]><code style=[Ô]color:#000000;word-wrap:normal;[Ô]> Private Sub GerarRelatorio()
[ô]definir as variáveis para conexão
Dim sqlConn As SqlConnection
Dim sqlDaCH As SqlDataAdapter
Dim sqlDa As SqlDataAdapter
[ô]cria uma instância do dataset vinculado ao arquivo DataSetBanco.xsd
Dim dsPc As New DataSetBanco
Dim strConn As String = [Ô]Data Source=SAN-PC;Initial Catalog=SistemaBancario;Integrated Security=True[Ô]
Dim sqlCon As String = [Ô]SELECT * [Ô] & _
[Ô]FROM TB_Cheque [Ô] & _
[Ô]WHERE Banco = [ô][Ô] & frmPrincipal.txtBancoPrincipal.Text & [Ô][ô][Ô] & _
[Ô]AND Agencia = [ô][Ô] & frmPrincipal.txtAgenciaPrincipal.Text & [Ô][ô][Ô] & _
[Ô]AND Conta = [ô][Ô] & frmPrincipal.txtContaPrincipal.Text & [Ô][ô][Ô] & _
[Ô]ORDER BY NumeroCheque ASC[Ô]
Try
[ô]Criar os DataAdapters
sqlConn = New SqlConnection(strConn)
sqlDaCH = New SqlDataAdapter(sqlCon, sqlConn)
sqlDa = New SqlDataAdapter(sqlCon, sqlConn)
[ô]Preencher as tabelas do dastaset a partir dos dataAdaperts
sqlDaCH.Fill(dsPc, [Ô]TB_Cheque[Ô])
[ô]Gerar o relatório a partir do dataset e exibí-lo
Dim rptCH As New cryCH
rptCH.Database.Tables(0).SetDataSource(dsPc)
cryVWCH.ReportSource = rptCH
cryVWCH.RefreshReport()
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
End Sub
</code></pre>

Funciona perfeitamente para a criação do relatório. Mas não consigo desenvolver o botão de impressão usando código que me passou..

Muito obrigado pela atenção.

SANROMAN 29/11/2014 20:10:08
#442859
A resposta e mais simples do que imaginava, mas chego lá

No botão imprimir digite:

cryVWCH.PrintReport()

Simples assim.

Muito obrigado pela atenção de todos.

Tópico encerrado , respostas não são mais permitidas