PARAMETRO CRYSTAL 11

USUARIO.EXCLUIDOS 10/04/2007 09:09:57
#210933
A rotina abaixo abre relatorios feitos no crystal 11 fora do VB
como eu posso colocar um parametro, tip Select Registrs... where campo='" & me.campo & "' etc... ??


Sub ChamaRel(Ativo As String, Titulo As String)
Screen.MousePointer = 11
Dim Relatorio As String
On Error GoTo Trata_Erro1
Relatorio = Ativo
Me.Caption = Titulo
Dim CRXApplication As New CRAXDRT.Application
Dim CRXReport As New CRAXDDRT.Report
Dim CRXDatabase As CRAXDRT.Database
1 Set CRXApplication = CreateObject("CrystalRuntime.Application.11")
2 Set CRXReport = CRXApplication.OpenReport(App.Path & "\" & Relatorio, 0)
3 Set CRXDatabase = CRXReport.Database
4 CRXReport.DiscardSavedData
5 CRViewer.ReportSource = CRXReport
6 CRViewer.Height = Screen.Height
7 CRViewer.Width = Screen.Width
8 CRViewer.DisplayBorder = True
9 CRViewer.DisplayTabs = False
10 CRViewer.EnableDrillDown = False
11 CRViewer.EnableNavigationControls = True
12 CRViewer.EnableCloseButton = True
13 CRViewer.DisplayGroupTree = False
14 CRViewer.DisplayBackgroundEdge = True
15 CRViewer.EnableCloseButton = True
16 CRViewer.EnableAnimationCtrl = False
17 CRViewer.Top = 0
18 CRViewer.Left = 0
19 CRViewer.Height = Screen.Height - 850
20 CRViewer.Width = Screen.Width
21 CRViewer.ViewReport
22 Do While CRViewer.IsBusy
23 DoEvents
24 Loop
25 CRViewer.Refresh
26 Set CRXApplication = Nothing
27 Set CRXReport = Nothing
28 Set CRXDatabase = Nothing
29 CRViewer.Zoom (100)
30 Me.Show
Screen.MousePointer = 0
Exit Sub
Trata_Erro1:
Screen.MousePointer = 0
Set CRXApplication = Nothing
Set CRXReport = Nothing
Set CRXDatabase = Nothing
MsgBox "Erro numero #" & Str$(Err.Number) & " " & (Err.Description) & " na Linha " & Str$(Erl)
End Sub

USUARIO.EXCLUIDOS 24/04/2007 07:26:56
#213489
Resposta escolhida
ARNALDO

Faça o seguinte:

Crie uma fórmula com nome CRITéRIO (exemplo), vazia e coloque no relatório

Vá em Report -> Select Expert E monte a seguinte sintaxe:

Tabela.Campo = CRITéRIO (Esse critério, é a fórmula vazia)...

Depois no VB, no código que colocou, insira esse embaixo da sua linha 5

CRXReport.FormulaFields(1).Text = "'" & Critério do VB & "'"....

Pronto..o q vai acontecer: Qdo vc mandar o código pelo VB com o Critério do VB, o relatório será filtrado por esse critério.

Creio que vá resolver seu problema..

Boa sorte
Tópico encerrado , respostas não são mais permitidas