hola, alguien sabe como mandar los parametros para mandar al crystal y haga el reporte?. Se los agradeceria mucho
hola, alguien sabe como mandar los parametros para mandar al crystal y haga el reporte?. Se los agradeceria mucho
debes crear dos formularios,uno llamado FrmParametros en donde colocaras digamos 2 cajas de texto donde escribiras los 2 parametros que necesitas enviar al crystal (asumiendo que se necesitan dos parametros)para que genere el reporte...el codigo de FrmParametros es el sgte:
Private Sub cmdSalir_Click()
Unload Me
End Sub
Private Sub cmdVerReporte_Click()
Dim frmRep As New frmReporte
frmRep.PasarParametros txtParametro1, CLng(txtParametro2)
frmRep.Show vbModal
Set frmRep = Nothing
End Sub
Luego en otro formulario colocaremos nuestro reporte es decir el control CRViewer,aqui es donde se vera el reporte
El codigos eria el sgte:
Option Explicit
'aqui declara los objetos que contendra al rporte
Private crApp As New CRAXDRT.Application
Private crReport As New CRAXDRT.Report
Private mflgContinuar As Boolean
'declara cada una de estas variables para cada parametro
'y el tipo de dato que recibira(string,date,etc)
Private mstrParametro1 As String
Private mlngParametro2 As Long
'esta funcion permite recibir los parametros que se le envian desde FrmParametros
Public Sub PasarParametros(sParam1 As String, lParam2 As Long)
mstrParametro1 = sParam1
mlngParametro2 = lParam2
End Sub
Private Sub Form_Resize()
crViewer.Top = 0
crViewer.Left = 0
crViewer.Height = ScaleHeight
crViewer.Width = ScaleWidth
End Sub
Private Sub Form_Activate()
If Not mflgContinuar Then Unload Me
End Sub
Private Sub Form_Load()
Dim crParamDefs As CRAXDRT.ParameterFieldDefinitions
Dim crParamDef As CRAXDRT.ParameterFieldDefinition
On Error GoTo ErrHandler
'Abrir el reporte
Screen.MousePointer = vbHourglass
mflgContinuar = True
'en lugar de Ejemplo.rpt pones el nombre de tu reporte,el 1 lo dejas asi
Set crReport = crApp.OpenReport(App.Path & "\Ejemplo.rpt", 1)
' Parametros del reporte
Set crParamDefs = crReport.ParameterFields
For Each crParamDef In crParamDefs
Select Case crParamDef.ParameterFieldName
Case "Parametro1"
crParamDef.AddCurrentValue (mstrParametro1)
Case "Parametro2"
crParamDef.AddCurrentValue (mlngParametro2)
End Select
Next
crViewer.ReportSource = crReport
crViewer.ViewReport
Screen.MousePointer = vbDefault
Set crParamDefs = Nothing
Set crParamDef = Nothing
Exit Sub
ErrHandler:
If Err.Number = -2147206461 Then
MsgBox "El archivo de reporte no se encuentra, restáurelo de los discos de instalación", _
vbCritical + vbOKOnly
Else
MsgBox Err.Description, vbCritical + vbOKOnly
End If
mflgContinuar = False
Screen.MousePointer = vbDefault
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set crReport = Nothing
Set crApp = Nothing
End Sub
Espero haberte ayudado
gracias williams system, eres muy amable
hola, yo tambien tenfo el mismo problemas, pero donde le especifico el nombre del campo que comprará con el dtpicker en mi caso?![]()
Hola, no se si me pueden ayudar, yo tengo mi base de datos en access protegida con contraseña, mi reporte lo tengo con crystal report pero cuando quiero acceder al reporte desde visual basic no me deja por la contraseña, alguien sabe como le mando la contraseña ??? Espero que alguien sepa ,Gracias !!! ahhh mi correo es Bacotich_Daniel@hotmail.com
Edited by: Daniel Romero
[color=#0000ff size=2]
Hola Daniel Romero. Con este código lanzas el reporte sin que te pida el usuario y la contraseña, ya que se la pasas al lanzarlo.
Espero que te sea de ayuda.
Dim[/color] frm [color=#0000ff size=2]As[/color] frmBaseListados = [color=#0000ff size=2]New[/color] frmBaseListados()
D[color=#0000ff size=2]im[/color] informe [color=#0000ff size=2]As[/color] lstListado = [color=#0000ff size=2]New[/color] lstListado()
informe.SetDatabaseLogon([color=#800000 size=2]"usuario"[/color], [color=#800000 size=2]"contraseña"[/color])
frm.visor.ReportSource = informe
frm.ShowDialog()
Hola, el problema que se me presenta es que al pasar parámetros crystal los recibe, pero antes de mostrar el reporte me aparece una ventana con los datos que le pasé como parámetro.
Quisiera saber cómo hago para que esta ventana no me aparezca cada vez que muestro el reporte.
Saludos y gracias
Javier