CRYSTAL REPORT XI 11- MSG ERRO VIEWER VB6

C.ARANHA 27/02/2011 15:55:23
#366707
Tenho um sistema cujo banco de dados é MDB e os relatórios estão em Crystal Report 11.
Em algumas exibições dos relatórios é exibida a mensagem de arro abaixo:

Database Connector Error: [Ô]DAO Error Code 0xc26[Ô]
Source: DAO.fields

E o relatório não é exibido em tela. Após clicar em ok, e no botão refresh do viewer, o relatório é exibido normalmente.
Alguém sabe como resolver isto?
XXXANGELSXXX 02/03/2011 13:09:57
#367022
cara.. da uma olahda no seu connector ai.. ou o seu codigo que vc pede para imprimir o relatorio.. passa ele ai.. vamos ver o que da para mecher nele.
C.ARANHA 02/03/2011 22:51:34
#367085
Tenho um form com um viewer do Crystal 11 o qual é [Ô]chamado[Ô] por outros forms que necessitam da exibição de relatórios.

o Código do frmRelatorio é:



Option Explicit

Private crApp As New CRAXDDRT.Application
Private crReport As New CRAXDDRT.Report

Private mflgContinuar As Boolean
Private mstrParametro1 As String
Private mlngParametro2 As Long

Private Sub CRViewer_GotFocus()
ExibeRelatorio
End Sub

Private Sub Form_Load()
ImpressoraAntiga = Printer.DeviceName
End Sub

Private Sub ExibeRelatorio()
On Error Resume Next

Screen.MousePointer = vbHourglass

Set crReport = crApp.OpenReport(app.path & [Ô]\RELAT.rpt[Ô], 1)
crReport.Database.SetDataSource (app.path & [Ô]\bd.MDB[Ô])
crReport.Database.Tables(1).Location = app.path & [Ô]\bd.MDB[Ô]
crReport.Database.Tables(1).TestConnectivity

CRViewer.ReportSource = crReport
CRViewer.DisplayGroupTree = False
CRViewer.ViewReport

Screen.MousePointer = vbDefault
End Sub


O que é estranho é o seguinte: num determinado momento a grande maioria dos relatórios não ocorre nenhum erro e QUASE todos eles são exibidos corretamente. Após fechado o sistema e reiniciado, alguns relatórios que estavam sendo exibidos corretamente passam a exibir o erro acima, e os que estavem com erro funcionam corretamente, sem que nenhuma linha de código tenha sito alterada!!!

é coisa de maluco mesmo...

O que acha que é?

XXXANGELSXXX 03/03/2011 09:07:04
#367103
Cara..eu pessoalmente tenho uma dsn no sistema operacional apontando o caminho do banco.. eu faço assim para imprimir o relatorio.

  
Set crxRpt = crxApp.OpenReport(App.Path & [Ô]\RelatoriosCrystalptCliComValores.rpt[Ô])
crxRpt.Database.Tables(1).SetLogOnInfo [Ô]MyDSNCRM[Ô], BASEDEDADOS, USUARIO, SENHA
crxRpt.Database.Tables(2).SetLogOnInfo [Ô]MyDSNCRM[Ô], BASEDEDADOS, USUARIO, SENHA
crxRpt.Database.Tables(3).SetLogOnInfo [Ô]MyDSNCRM[Ô], BASEDEDADOS, USUARIO, SENHA

Set crxTables = crxRpt.Database.Tables
For Each crxTable In crxTables
With crxTable
.Location = .Name
End With
Next

sCriterio = [Ô][Ô] & [Ô]{cadpessoasendereco.endprincipal}=1 and {cadpessoascontato.contprincipal} = 1[Ô]

If txtCidade.Text <> [Ô][Ô] Then sCriterio = sCriterio & [Ô] and {cadpessoasendereco.endcidade}=[ô][Ô] & txtCidade.Text & [Ô][ô][Ô]
If ChAtivos.Value = True Then sCriterio = sCriterio & [Ô] and {cadpessoas.pessativo}=1[Ô]
If ChInativos.Value = True Then sCriterio = sCriterio & [Ô] and {cadpessoas.pessativo}=0[Ô]
If txtCidade.Text <> [Ô][Ô] Then crxRpt.FormulaFields.GetItemByName([Ô]forcidade[Ô]).Text = [Ô][ô][Ô] & txtCidade.Text & [Ô][ô][Ô]
WITH CRViewer
.ReportSource = crxRpt
crxRpt.RecordSelectionFormula = sCriterio
.ViewReport
.Zoom 80
END WITH

esses if acima sao formulas. ok?
C.ARANHA 03/03/2011 09:37:58
#367115

Em relação às formulas, ok!, mas em relação à DSN nunca fiz nada nesse sentido, então se puder me dar uma ajudinha...

Preciso criar uma conexão ODBC? Se sim, como faço para mudá-la em tempo de execução quando a localização do MDB é alterada?
é necessário incluir algum componente ou referência no VB?
Ela pode ser usada em conjunto com outra conexão?


XXXANGELSXXX 03/03/2011 10:23:16
#367120
pode ser usada normalmente.. veja so..

crxRpt.Database.Tables(3).SetLogOnInfo [Ô]MyDSNCRM[Ô], BASEDEDADOS, USUARIO, SENHA

MYDSNCRM = nome da minha dsn que fiz la em odbc
BASEDEDADOS = nome do banco de dados é uma string.. vc pode colocar direto o nome da base .. mais ou menos assim...

MYDSN,[Ô]suasenha[Ô],[Ô]usuariodobanco[Ô],[Ô]senhadobanco[Ô].. entendeu ?
Tópico encerrado , respostas não são mais permitidas