SUBSCRIPT OUT OF RANGE

USUARIO.EXCLUIDOS 24/08/2006 17:04:33
#167115
Ae rapaziada . . . quando vou gerar um relatorio no crystal 8 usando ADO, está dando essa mensagem de erro, alguem sabe o porque? Uso VB6, Crystal 8 e MySql.

Segue o código:

Dim rstRel As New ADODB.Recordset
Dim crystal As CRAXDRT.Application
Dim report As CRAXDRT.report

Screen.MousePointer = vbHourglass

CRViewer.DisplayBorder = False
CRViewer.DisplayTabs = False
CRViewer.EnableDrillDown = False
CRViewer.EnableRefreshButton = False

rstRel.Open strQuery_relatorio, cnConexao, adOpenStatic, adLockOptimistic

Set crystal = New CRAXDRT.Application

crystal.LogOnServer "p2sodbc.dll", "MySql", strDataBase, strUserId, strPass

Set report = crystal.OpenReport(App.Path & "pt\" & strNomeRelatorio)

report.DiscardSavedData
report.Database.SetDataSource rstRel 'Aqui acontece o erro

CRViewer.ReportSource = report
CRViewer.ViewReport

Screen.MousePointer = vbDefault


Att

Charles
USUARIO.EXCLUIDOS 24/08/2006 17:19:17
#167123
Quem seria strQuery_Relatorio?

Este erro geralmente ocorro quando tentamos passar um elemente que não existe em um array, por exemplo:

tenho um array de 3 posições e faço uma comparação assim:

if array(4) = "A" ' vai dar este mesmo erro...pois aposição 4 do arquivo esta fora do intervalo do array...

Tem certeza que existem registros netes seu recordset?

Verifique e veja se existem registros...



USUARIO.EXCLUIDOS 24/08/2006 17:25:26
#167125
Fala ae amigão . . . esse "strQuery_Relatorio" é uma query com a qual carrego a recordset (que tem registro sim . . . acabei de fazer um teste de "bof or eof" nela.). . . por exemplo:

SELECT USUCODIGO, USUNOME, USULOGIN, USUATIVO, USUSENHA, NIUDESCRICAO
FROM USUARIO
LEFT JOIN NIVELUSUARIO ON USUARIO.NIUCODIGO = NIVELUSUARIO.NIUCODIGO
ORDER BY NIUDESCRICAO

Só queria exibir o relatório passando a recordset e usando a mesma conexão !

Att

Charles



LIONHEART 25/08/2006 08:41:02
#167176
seguinte, vc tá pegando os nomes dos campos corretamente no relatorio?

tipo, tem certeza que escreveu certo na hora de recuperar?
esse erro tb pode ser de campo nao existente na query
Tópico encerrado , respostas não são mais permitidas