Jump to content
Fórum Script Brasil
  • 0

VB6 e Crystal XI


Eduardo Scalisa

Question

Bom dia pessoal,

Sou novato no fórum, dei uma olhada e não encontrei nada sobre minha dúvida...

lá vai...

Tenho uma aplicação que fiz no VB6 e preciso abrir um relatório (Crystal XI)... até ai tudo bem..

... nesse relatório eu tenho dois subreports...

o problema acontece quando eu tento filtrar as informações que quero visualizar nos subs...

segue o código:

Screen.MousePointer = vbHourglass

Dim DataInicio, DataFinal As String


    Screen.MousePointer = vbHourglass
    
    'formatando datas para crystal
    DataInicio = Format(frmLogistica.dtInicioRelatorio.Value - 2, "yyyy,mm,dd")
    DataFinal = Format(frmLogistica.dtFimRelatorio.Value + 1, "yyyy,mm,dd")
    '*************************
Dim ORIGEM1, ORIGEM2 As String

        ORIGEM1 = "Manuseio"
        ORIGEM2 = "Logística"

Report.DiscardSavedData

'inserindo filtro para o primeiro sub report
Report.subreportDesvios.OpenSubreport.RecordSelectionFormula = "{T_NODIRECTRUN.DATA} in Date (" & DataInicio & ") to Date (" & DataFinal & ") and {T_NODIRECTRUN.RESPONSAVEL}= '" & ORIGEM1 & "' Or {T_NODIRECTRUN.DATA} in Date (" & DataInicio & ") to Date (" & DataFinal & ") and {T_NODIRECTRUN.RESPONSAVEL}= '" & ORIGEM2 & "'"  'FORMULA

'inserindo filtro para o segundo sub report
Report.subreportInterferencias.OpenSubreport.RecordSelectionFormula = "{T_INTERFERENCIAD12.DATA} in Date (" & DataInicio & ") to Date (" & DataFinal & ") and {T_INTERFERENCIAD12.RESPONSAVEL}= '" & ORIGEM1 & "' Or {T_INTERFERENCIAD12.DATA} in Date (" & DataInicio & ") to Date (" & DataFinal & ") and {T_INTERFERENCIAD12.RESPONSAVEL}= '" & ORIGEM2 & "'"  'FORMULA


CRViewer1.ReportSource = Report

CRViewer1.ViewReport
Screen.MousePointer = vbDefault

o filtro está funcionando...

o problema é que o relatório só abre de vez em quando... quando abre, abre corretamente... mas na maioria das vezes não abre e exibe a seguinte mensagem de erro:

Run-time error '-2147189563 (80047cc5)':

Basic sintax is not suported in group or record selection formula

Alguém saberia me dizer o porque do erro?

por que ele só ocorre de vez em quando?

Obrigado pessoal... espero que os experts em crystal possam me ajudar... hehe

Abraço!

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

eduardo, qual o sistema operacional q você usa??

tenta o seguinte codigo:

Report.DiscardSavedData

Dim x As CRAXDRT.Report
Dim y As CRAXDRT.Report

Set x = Report.OpenSubreport("subreportDesvios")
Set y = Report.OpenSubreport("subreportInterferencias")

Report.FormulaSyntax = crCrystalSyntaxFormula
x.FormulaSyntax = crCrystalSyntaxFormula
y.FormulaSyntax = crCrystalSyntaxFormula

'inserindo filtro para o primeiro sub report
x.RecordSelectionFormula = "{T_NODIRECTRUN.DATA} in Date (" & DataInicio & ") to Date (" & DataFinal & ") and {T_NODIRECTRUN.RESPONSAVEL}= '" & ORIGEM1 & "' Or {T_NODIRECTRUN.DATA} in Date (" & DataInicio & ") to Date (" & DataFinal & ") and {T_NODIRECTRUN.RESPONSAVEL}= '" & ORIGEM2 & "'"  'FORMULA

'inserindo filtro para o segundo sub report
y.RecordSelectionFormula = "{T_INTERFERENCIAD12.DATA} in Date (" & DataInicio & ") to Date (" & DataFinal & ") and {T_INTERFERENCIAD12.RESPONSAVEL}= '" & ORIGEM1 & "' Or {T_INTERFERENCIAD12.DATA} in Date (" & DataInicio & ") to Date (" & DataFinal & ") and {T_INTERFERENCIAD12.RESPONSAVEL}= '" & ORIGEM2 & "'"  'FORMULA


CRViewer1.ReportSource = Report[/code]

se o erro continuar, então, tenta capturar as duas formulas como elas ficaram e poste ai. e ai teste pra ver o q acontece se vc, dentro do design do report, abrir o editor de formula e adicona-las la.

Link to comment
Share on other sites

  • 0
eduardo, qual o sistema operacional q você usa??

tenta o seguinte codigo:

Report.DiscardSavedData

Dim x As CRAXDRT.Report
Dim y As CRAXDRT.Report

Set x = Report.OpenSubreport("subreportDesvios")
Set y = Report.OpenSubreport("subreportInterferencias")

Report.FormulaSyntax = crCrystalSyntaxFormula
x.FormulaSyntax = crCrystalSyntaxFormula
y.FormulaSyntax = crCrystalSyntaxFormula

'inserindo filtro para o primeiro sub report
x.RecordSelectionFormula = "{T_NODIRECTRUN.DATA} in Date (" & DataInicio & ") to Date (" & DataFinal & ") and {T_NODIRECTRUN.RESPONSAVEL}= '" & ORIGEM1 & "' Or {T_NODIRECTRUN.DATA} in Date (" & DataInicio & ") to Date (" & DataFinal & ") and {T_NODIRECTRUN.RESPONSAVEL}= '" & ORIGEM2 & "'"  'FORMULA

'inserindo filtro para o segundo sub report
y.RecordSelectionFormula = "{T_INTERFERENCIAD12.DATA} in Date (" & DataInicio & ") to Date (" & DataFinal & ") and {T_INTERFERENCIAD12.RESPONSAVEL}= '" & ORIGEM1 & "' Or {T_INTERFERENCIAD12.DATA} in Date (" & DataInicio & ") to Date (" & DataFinal & ") and {T_INTERFERENCIAD12.RESPONSAVEL}= '" & ORIGEM2 & "'"  'FORMULA


CRViewer1.ReportSource = Report

se o erro continuar, então, tenta capturar as duas formulas como elas ficaram e poste ai. e ai teste pra ver o q acontece se vc, dentro do design do report, abrir o editor de formula e adicona-las la.

kuroi....!!!!!! você é o cara.... funcionou direitinho... era exatamente isso que eu estava precisando.....

desculpe a demora para o agradecimento... só voltei a mexer no programa agora... dai verifiquei a resposta que me serviu como uma luva....

valeu!!!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      651.8k
×
×
  • Create New...