CRYSTAL REPORT 8.0 X VB
Boa noite, amigos!
Estou começando a trabalhar com o Crystal Report 8 no VB.
A minha dúvida é como passar 1 parâmetro, ou seja, quero escolher o funcionário(combobox) e a data e a partir disso gerar o relatório que já está pronto.
Att.
Estou começando a trabalhar com o Crystal Report 8 no VB.
A minha dúvida é como passar 1 parâmetro, ou seja, quero escolher o funcionário(combobox) e a data e a partir disso gerar o relatório que já está pronto.
Att.
Utilize a propriedade SelecionFormula do objeto CrystalViewer para fazer o filtro no Report.
Exemplo:
Exemplo:
CrystalReport1.SelectionFormula = [Ô]{AGENDA.NOME} >= [Ô] & [Ô][ô][ô][Ô] & [Ô]J[Ô] & [Ô][ô][ô][Ô]
CrystalReport1.SelectionFormula = [Ô]{tbFuncionario.cdFunc}=[Ô] & txtcdFuncionario.text & _
[Ô] and {tbFuncionario.dtAdmissao}>=date([ô][Ô] & Format(cdate(txtdtInicio), [Ô]yyyy-mm-dd[Ô]) & [Ô][ô])[Ô] & _
[Ô] and {tbFuncionario.dtAdmissao}<date([ô][Ô] & Format(cdate(txtdtFinal) + 1, [Ô]yyyy-mm-dd[Ô]) & [Ô][ô])[Ô]
[Ô] and {tbFuncionario.dtAdmissao}>=date([ô][Ô] & Format(cdate(txtdtInicio), [Ô]yyyy-mm-dd[Ô]) & [Ô][ô])[Ô] & _
[Ô] and {tbFuncionario.dtAdmissao}<date([ô][Ô] & Format(cdate(txtdtFinal) + 1, [Ô]yyyy-mm-dd[Ô]) & [Ô][ô])[Ô]
Não entendi seu codigo: Tem vários funcionários com o mesmo código, por acaso? Você usa o CR por dentro ou por fora do vb6?
Eu não uso fórmulas. Filtro os dados diretos no SELECT ... Where e o resultado mando para o relatório. Segue exemplo:
Eu não uso fórmulas. Filtro os dados diretos no SELECT ... Where e o resultado mando para o relatório. Segue exemplo:
Estou usando o Crystal Reports por dentro do VB.
O arquivo que tu me mandou não roda.
Dá o erro em anexo.
Att.
O arquivo que tu me mandou não roda.
Dá o erro em anexo.
Att.
Bem Robiu......ou quem esteja disposto a ajudar....!
Não teve jeito de abrir o teu aplicativo aqui, então estou mandando o meu para que tu analise.
O que quero é gerar o relatorio a partir da escolha dos prifissionais em um ComboBox(frmRelatorio.cbProfissional).
O relatório terá que mostrar os serviços do profissional escolhido e um subRelatório com os adiantamentos deste profissional.
Estou mandando os forms e o banco.
Tu pode me passar teu email? Não estou conseguindo anexar a pasta compactada.
Att.
Não teve jeito de abrir o teu aplicativo aqui, então estou mandando o meu para que tu analise.
O que quero é gerar o relatorio a partir da escolha dos prifissionais em um ComboBox(frmRelatorio.cbProfissional).
O relatório terá que mostrar os serviços do profissional escolhido e um subRelatório com os adiantamentos deste profissional.
Estou mandando os forms e o banco.
Tu pode me passar teu email? Não estou conseguindo anexar a pasta compactada.
Att.
Realmente, o meu projeto não abre na sua máquina por causa da versão do CR. Também não consegui rodar seu projeto aqui. Testa a rotina abaixo, no form que carrega o relatório:
Option Explicit
Dim Report As New CrystalReport1
Private Sub Form_Load()
Dim Rs As New ADODB.Recordset
sSql = [Ô]SELECT IDFunc, NomeFunc FROM tbFuncionario [Ô]
sSql = sSql & [Ô]WHERE NomeFunc=[ô][Ô] & frmRelatorio.cbProfissional.Text & [Ô][ô] ORDER BY NomeFunc[Ô]
Rs.CursorLocation = adUseClient
Rs.Open sSql, Banco, adOpenKeyset, adLockPessimistic
Report.DiscardSavedData
Report.Database.SetDataSource Rs
Rs.Close
Screen.MousePointer = vbHourglass
CRViewer1.ReportSource = Report
CRViewer1.ViewReport
Screen.MousePointer = vbDefault
End Sub
To fazendo assim...
Option Explicit
Dim Report As New CrystalReport2
Dim rs As New ADODB.Recordset
Private Sub Form_Load()
sSql = [Ô]SELECT * FROM ConsultaQuit [Ô]
sSql = sSql & [Ô]WHERE IDFunc=[Ô] & frmRelatorio.cbProfissional.ItemData(frmRelatorio.cbProfissional.ListIndex)
rs.CursorLocation = adUseClient
rs.Open sSql, Banco, adOpenKeyset, adLockReadOnly
MsgBox rs.RecordCount
Report.DiscardSavedData
Report.Database.SetDataSource rs
rs.Close
Screen.MousePointer = vbHourglass
CRViewer1.ReportSource = Report
CRViewer1.ViewReport
Screen.MousePointer = vbDefault
End Sub
Private Sub Form_Resize()
CRViewer1.Top = 0
CRViewer1.Left = 0
CRViewer1.Height = ScaleHeight
CRViewer1.Width = ScaleWidth
End Sub
Está abrindo o relatório mas não está filtrando. Existe alguma configuração que estou esquecendo?
Vlw !
Option Explicit
Dim Report As New CrystalReport2
Dim rs As New ADODB.Recordset
Private Sub Form_Load()
sSql = [Ô]SELECT * FROM ConsultaQuit [Ô]
sSql = sSql & [Ô]WHERE IDFunc=[Ô] & frmRelatorio.cbProfissional.ItemData(frmRelatorio.cbProfissional.ListIndex)
rs.CursorLocation = adUseClient
rs.Open sSql, Banco, adOpenKeyset, adLockReadOnly
MsgBox rs.RecordCount
Report.DiscardSavedData
Report.Database.SetDataSource rs
rs.Close
Screen.MousePointer = vbHourglass
CRViewer1.ReportSource = Report
CRViewer1.ViewReport
Screen.MousePointer = vbDefault
End Sub
Private Sub Form_Resize()
CRViewer1.Top = 0
CRViewer1.Left = 0
CRViewer1.Height = ScaleHeight
CRViewer1.Width = ScaleWidth
End Sub
Está abrindo o relatório mas não está filtrando. Existe alguma configuração que estou esquecendo?
Vlw !
Tá acontecendo o seguinte: Consegui fazer o relatório me mostrar o que quero usando SelectionFormula. Porém, só filtra se 1 break ao lado do código abaixo:
Screen.MousePointer = vbHourglass
CRViewer1.ReportSource = Report
CRViewer1.ViewReport
Screen.MousePointer = vbDefault
F9 With CRViewer1
.SelectionFormula = [Ô]{ConsultaQuit.idfunc} = [Ô] & frmRelatorio.cbProfissional.ItemData(frmRelatorio.cbProfissional.ListIndex)
End With
Se não tiver o break aparecem todos os dados do relatório.
Essa é boa....!
E agora?
Screen.MousePointer = vbHourglass
CRViewer1.ReportSource = Report
CRViewer1.ViewReport
Screen.MousePointer = vbDefault
.SelectionFormula =
End With
Se não tiver o break aparecem todos os dados do relatório.
Essa é boa....!
E agora?
isso aqui nao ta posicionando errado nao? frmRelatorio.cbProfissional.ItemData(frmRelatorio.cbProfissional.ListIndex)
Tópico encerrado , respostas não são mais permitidas