Ir para conteúdo
Fórum Script Brasil
  • 0

Vb com Crystal Report


lhphenrique

Pergunta

Olá pessoal ,tenho um problema e queria ver se alguém pode me ajudar.

Criei um relatório no CR e liguei ao Form do VB. Um Formulário de Clientes. Só que eu queria imprimir somente um registro, a que eu estou visualizando no Form VB, Como faço, pois uso esta formula e não dá pois parece que falta algo tipo uma formula dentro do CR que eu teria que criar como faço e qual seria.

Estou usando isto mais preciso criar formulas dentro do CR.

CR1.SelectionFormula="{Clientes.nome}=&txtnome.text"
CR1.SortFields(0)="+{Clientes.dtnasc}"
CR1.Formulas="???? (Não sei qual é, ou terei que criar dentro do crystal?)
CR1.DataFiles="C:\Sistema\Cadastro.mdb"
CR1.CopiesToPrinter=1
CR1.ReportFileName="C:\Sistema\Cliente.rpt"
CR1.Destination=0

Obs.: Sempre ocorre erro se Coloco a expressão ACTION ele dá erro, se não o coloco não acontece nada, mais também não imprimi. O erro number é ERROR de Formula!

Precisarei criar alguma formula dentro do Crystal pra completar ou terei que colocar aqui mesmo?

valeu!

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

henrique, você não precisa adicionar nd na propriedade Formulas. ela serve pra fazer campos calculados e não filtros. pra filtrar o relatorio, use o SelectionFormula como você ta fazendo. só o problema é q você ta adicionando o texto "textnome.text" como se fosse parte da formula em vez de concatenar o valor dele. alem do mais, se nome é string, tem q ir entre aspa. assim:

CR1.SelectionFormula="{Clientes.nome}= '" & txtnome.text & "'"

Link para o comentário
Compartilhar em outros sites

  • 0
henrique, você não precisa adicionar nd na propriedade Formulas. ela serve pra fazer campos calculados e não filtros. pra filtrar o relatorio, use o SelectionFormula como você ta fazendo. só o problema é q você ta adicionando o texto "textnome.text" como se fosse parte da formula em vez de concatenar o valor dele. alem do mais, se nome é string, tem q ir entre aspa. assim:

CR1.SelectionFormula="{Clientes.nome}= '" & txtnome.text & "'"

Mesmo depois de tudo não consigo, espero que alguém me mostre, se terei que criar alguma coisa diferente no CR, pois mando o VB não imprimi, poderia passar o código completo do VB, pois a função Action da erro.

Link para o comentário
Compartilhar em outros sites

  • 0
você pode mostrar o codigo intero q você ta usando agora pra imprimir??

Olá Kuroi, este é o cod que eu uso no vb

Tenho um relatório no CR que tem dados deste form, e Toda vez que mando imprimir da erro na funçaõ CrystalReport1.Action = 1

Da uma olhada e ve se tenho que criar algum cod no CR e qual é?, Valeu e obrigado pela atenção.

Segue abaixo o cod.

Private Sub CmdImprimir_Click()

'On Error GoTo Erro

Rem Chama Relatório do Crystal Report
Me.MousePointer = 11

CrystalReport1.ReportFileName = App.Path & "\Relatorios\Clientes.rpt"
CrystalReport1.DataFiles(0) = App.Path & "\Dados\LHPSyStem.mdb"
CrystalReport1.CopiesToPrinter = 1
CrystalReport1.SelectionFormula = "{Clientes.nome}= '" & TxtNome.Text & "'"

CrystalReport1.Destination = crptToWindow
CrystalReport1.Action = 1

CrystalReport1.WindowState = crptMaximized

Me.MousePointer = 0

'Exit Sub
'Resume 'Continue a execução na mesma linha que provocou o erro.
'Erro:
Rem Tratamento de Errors
Me.MousePointer = 0
MontarDescErrorGeral Me.Caption, xLogin

End Sub

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

  • 0

henrique, a mensagem de erro era "Error In Formula" q você tinha me enviado por mp, certo??

sendo, assim, você tem mesmo uma tabela chamada Clientes (ou com o alias Clientes) no seu relatorio e ela tem um campo chamado nome, q é do tipo texto??

olha, então tenta fazer o seguinte. aquela linha onde você preenche o selection formula, troque por isso:

CrystalReport1.ReplaceSelectionFormula "{Clientes.nome}= '" & TxtNome.Text & "'"

veja se não funciona agora.

Link para o comentário
Compartilhar em outros sites

  • 0
henrique, a mensagem de erro era "Error In Formula" q você tinha me enviado por mp, certo??

sendo, assim, você tem mesmo uma tabela chamada Clientes (ou com o alias Clientes) no seu relatorio e ela tem um campo chamado nome, q é do tipo texto??

olha, então tenta fazer o seguinte. aquela linha onde você preenche o selection formula, troque por isso:

CrystalReport1.ReplaceSelectionFormula "{Clientes.nome}= '" & TxtNome.Text & "'"

veja se não funciona agora.

Valeu Kuroi, você me ajudou muito!. O erro que eu tinha era o seguinte, na função SelectionFormula eu estava colocando o nome do Relatorio CR e não o nome da Tabela, através da sua resposta eu troquei e deu certo. Valeu! Agora só preciso como não visualizar e imprimir pagina em branco , até mais . Valeu!

Link para o comentário
Compartilhar em outros sites

  • 0

não entendi a parte de não visualizar. você diz q quer imprimir direto na impressora??

se for isso, é só mudar o Destination. onde ta crptToWindow, você tem q trocar pela constante q imprime direto, mas não lembro de cabeca o nome, e não tenho vb6 muito menos o crystal reports no pc q estou no momento pra poder verificar.

mas se você apagar o igual e digita-lo de novo, o vb deve te abrir a janelinha com as opcoes, veja ai.

quanto a parte da pagina em branco, onde ela aparece, no final??

talvez alguma section sua esteja gde demais, e ele tenta imprimir a parte em branco, por isso acaba saindo mais uma pagina, de uma olhada ai.

Link para o comentário
Compartilhar em outros sites

  • 0
não entendi a parte de não visualizar. você diz q quer imprimir direto na impressora??

se for isso, é só mudar o Destination. onde ta crptToWindow, você tem q trocar pela constante q imprime direto, mas não lembro de cabeca o nome, e não tenho vb6 muito menos o crystal reports no pc q estou no momento pra poder verificar.

mas se você apagar o igual e digita-lo de novo, o vb deve te abrir a janelinha com as opcoes, veja ai.

quanto a parte da pagina em branco, onde ela aparece, no final??

talvez alguma section sua esteja gde demais, e ele tenta imprimir a parte em branco, por isso acaba saindo mais uma pagina, de uma olhada ai.

Kuroi tudo bem, é o seguinte sobre imprimir eu não tenho duvida, foi só mal expressado, valeu! É que eu não me lembro como fazer para a primeira pagina não seja exibida em branco, tem uma maneira, já fiz mas não lembro e não consigo fazer de novo. A primeira pagina de qualquer registro sai sempre em branco. Se você souber me dá um toque, pois quero exibir sempre a do registro preenchido. Valeu e um abraço!

Link para o comentário
Compartilhar em outros sites

  • 0

ta aparecendo uma pagina em branco no comeco??

aquela dica q passei do tamanho da session ainda ta valendo.

mas acho q deve ser outra coisa ó. clica com o botao direito no painel a esquerda onde estao os nomes das sections e clica em propriedades.

de uma olhada pra ver se as opcoes New Page After ou New Page Before estao preenchidas em algumas sections, porque as vezes elas causam paginas em branco.

Link para o comentário
Compartilhar em outros sites

  • 0
ta aparecendo uma pagina em branco no comeco??

aquela dica q passei do tamanho da session ainda ta valendo.

mas acho q deve ser outra coisa ó. clica com o botao direito no painel a esquerda onde estao os nomes das sections e clica em propriedades.

de uma olhada pra ver se as opcoes New Page After ou New Page Before estao preenchidas em algumas sections, porque as vezes elas causam paginas em branco.

Kuroi mandou ver, é isto mesmo, opção New Page Before marcada ela mostra apenas um registro por página, mas quando você entra pelo CR mostra a página em branco e depois os outro registros. Quando desmarcamos esta opção normalmente ela mostrará varios registro por pág., E se você entra pelo VB com o filtro do selectformula ela não mais exibirá a pag. em Branco. e começará a exibir o registro que o VB pede, sem a pag. em branco. Valeu!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...