VB6 X CRYSTAL 9
Galera não sei o que pode estar acontecendo, pois os dados do meu crystal não estão sendo atualizados como devem ser, simplesmente o crystal esta ignorando o comando que estou mandando e esta exibindo todos os dados.
Montei o relatório no crystal através do command do crystal 9, rodou perfeito com o group e td. Joguei esse relatório para dentro o vb6, roda perfeito, porém qdo coloco alguma condição, ele simplesmente ignora e exibe todos os dados.
Segue abaixo o comando do botão imprimir
Private Sub CmdImprimir_Click()
Dim strSQL As String
Dim Condicao As String
If Option1.value = True Then
Condicao = [Ô]Where cp.pago = 0 [Ô]
Else
Condicao = [Ô]Where cp.pago = 1 [Ô]
End If
If txtDtInicio.Text <> [Ô]__/__/____[Ô] And txtDtFim.Text <> [Ô]__/__/____[Ô] Then Condicao = Condicao & [Ô] and dtvencimento between [ô][Ô] & Format(txtDtInicio.Text, [Ô]YYYY-MM-DD[Ô]) & [Ô][ô] and [ô][Ô] & Format(txtDtFim.Text, [Ô]YYYY-MM-DD[Ô]) & [Ô][ô] [Ô]
If Trim(CboPlanoContas.Text) <> [Ô][Ô] Then Condicao = Condicao & [Ô] and descricao = [ô][Ô] & CboPlanoContas.Text & [Ô][ô] [Ô]
If Trim(CboLocalPagamento.Text) <> [Ô][Ô] Then Condicao = Condicao & [Ô] and localpagamento = [ô][Ô] & CboLocalPagamento.Text & [Ô][ô] [Ô]
strSQL = [Ô]select cp.codlancamento,descricao, referente, valortotal, dtvencimento, dtpagamento, localpagamento, formapagamento [Ô]
strSQL = strSQL & [Ô]from contaspagar c [Ô]
strSQL = strSQL & [Ô]left join contaspagarxparcelas cp on c.codlancamento = cp.codcontaspagar [Ô]
strSQL = strSQL & Condicao
strSQL = strSQL & [Ô]group by cp.codlancamento, descricao, dtvencimento [Ô]
Dim Relatorio As New CrpContasPagar
If txtDtInicio.Text <> [Ô]__/__/____[Ô] And txtDtFim.Text <> [Ô]__/__/____[Ô] Then Relatorio.TxtTitulo.SetText ([Ô]PerÃodo de [Ô] & txtDtInicio.Text & [Ô] à [Ô] & txtDtFim.Text)
If Trim(CboPlanoContas.Text) <> [Ô][Ô] Then Relatorio.TxtTitulo.SetText ([Ô]Relatório por Plano de Contas[Ô])
If Trim(CboLocalPagamento.Text) <> [Ô][Ô] Then Relatorio.TxtTitulo.SetText ([Ô]Relatório por Local de Pagamento[Ô])
Relatorio.DiscardSavedData
Relatorio.SQLQueryString = strSQL
CRViewer91.ReportSource = Relatorio
Me.WindowState = 2
CRViewer91.Refresh
CRViewer91.Visible = True
CRViewer91.ViewReport
CRViewer91.Top = 0
CRViewer91.Left = 0
CRViewer91.Height = ScaleHeight
CRViewer91.Width = ScaleWidth
End Sub
Agradeço desde já pela ajuda
Montei o relatório no crystal através do command do crystal 9, rodou perfeito com o group e td. Joguei esse relatório para dentro o vb6, roda perfeito, porém qdo coloco alguma condição, ele simplesmente ignora e exibe todos os dados.
Segue abaixo o comando do botão imprimir
Private Sub CmdImprimir_Click()
Dim strSQL As String
Dim Condicao As String
If Option1.value = True Then
Condicao = [Ô]Where cp.pago = 0 [Ô]
Else
Condicao = [Ô]Where cp.pago = 1 [Ô]
End If
If txtDtInicio.Text <> [Ô]__/__/____[Ô] And txtDtFim.Text <> [Ô]__/__/____[Ô] Then Condicao = Condicao & [Ô] and dtvencimento between [ô][Ô] & Format(txtDtInicio.Text, [Ô]YYYY-MM-DD[Ô]) & [Ô][ô] and [ô][Ô] & Format(txtDtFim.Text, [Ô]YYYY-MM-DD[Ô]) & [Ô][ô] [Ô]
If Trim(CboPlanoContas.Text) <> [Ô][Ô] Then Condicao = Condicao & [Ô] and descricao = [ô][Ô] & CboPlanoContas.Text & [Ô][ô] [Ô]
If Trim(CboLocalPagamento.Text) <> [Ô][Ô] Then Condicao = Condicao & [Ô] and localpagamento = [ô][Ô] & CboLocalPagamento.Text & [Ô][ô] [Ô]
strSQL = [Ô]select cp.codlancamento,descricao, referente, valortotal, dtvencimento, dtpagamento, localpagamento, formapagamento [Ô]
strSQL = strSQL & [Ô]from contaspagar c [Ô]
strSQL = strSQL & [Ô]left join contaspagarxparcelas cp on c.codlancamento = cp.codcontaspagar [Ô]
strSQL = strSQL & Condicao
strSQL = strSQL & [Ô]group by cp.codlancamento, descricao, dtvencimento [Ô]
Dim Relatorio As New CrpContasPagar
If txtDtInicio.Text <> [Ô]__/__/____[Ô] And txtDtFim.Text <> [Ô]__/__/____[Ô] Then Relatorio.TxtTitulo.SetText ([Ô]PerÃodo de [Ô] & txtDtInicio.Text & [Ô] à [Ô] & txtDtFim.Text)
If Trim(CboPlanoContas.Text) <> [Ô][Ô] Then Relatorio.TxtTitulo.SetText ([Ô]Relatório por Plano de Contas[Ô])
If Trim(CboLocalPagamento.Text) <> [Ô][Ô] Then Relatorio.TxtTitulo.SetText ([Ô]Relatório por Local de Pagamento[Ô])
Relatorio.DiscardSavedData
Relatorio.SQLQueryString = strSQL
CRViewer91.ReportSource = Relatorio
Me.WindowState = 2
CRViewer91.Refresh
CRViewer91.Visible = True
CRViewer91.ViewReport
CRViewer91.Top = 0
CRViewer91.Left = 0
CRViewer91.Height = ScaleHeight
CRViewer91.Width = ScaleWidth
End Sub
Agradeço desde já pela ajuda
Falta criar uma instância do seu relatório
Atualizar o relatório com o Rs
Segue exemplo anexo:
Dim Report As New NomeDoRelatorio
Atualizar o relatório com o Rs
Report.Database.SetDataSource Rs
Segue exemplo anexo:
Robiu obrigado pelo retorno e consegui resolver o problema com a sua ajuda
Robiu acho q vc não viu más eu ja tinha criado a instancia sim
Dim Relatorio As New CrpContasPagar
O problema estava no momento de executar a query, eu estava jogando a query pronta para o Crystal
Relatorio.SQLQueryString = strSQL
E com isso ele não estava executando, criei um recordset e atualzei o crystal conforme a sua idéia, e funcionou tranquilo, agora sinceramente não sei pq a query não tinha rodado no crystal, pq estava td certo, acho q deve ser algum problema no crystal 9.
Meu código ficou assim:
Dim Rs As ADODB.Recordset
Set Rs = New ADODB.Recordset
Rs.Open strSQL, Db, adOpenKeyset, adLockPessimistic
Relatorio.DiscardSavedData
Relatorio.Database.SetDataSource Rs
Vlw pela ajuda
Robiu acho q vc não viu más eu ja tinha criado a instancia sim
Dim Relatorio As New CrpContasPagar
O problema estava no momento de executar a query, eu estava jogando a query pronta para o Crystal
Relatorio.SQLQueryString = strSQL
E com isso ele não estava executando, criei um recordset e atualzei o crystal conforme a sua idéia, e funcionou tranquilo, agora sinceramente não sei pq a query não tinha rodado no crystal, pq estava td certo, acho q deve ser algum problema no crystal 9.
Meu código ficou assim:
Dim Rs As ADODB.Recordset
Set Rs = New ADODB.Recordset
Rs.Open strSQL, Db, adOpenKeyset, adLockPessimistic
Relatorio.DiscardSavedData
Relatorio.Database.SetDataSource Rs
Vlw pela ajuda
Tópico encerrado , respostas não são mais permitidas