| |  |  | Miembros: Mensajes: Temas: Online: Ultimo Miembro: | | | 
10-04-2008, 23:06:03
| | Un Nuevo Amigo | | Registrado: jul 2006 Posts: 11
| | Pasar parametro a reporte crystal report Hola a todos por favor me podrian ayudar
Tengo las siguientes Tablas:
OTM(codotm,codequipo,descripcion)--> OTM(1,1,MantenimientoEquipo)
MATERIAL(codmate,descripcion)--->MATERIAL(1,DISCO DURO)
OTM_MATERIAL(codequipo,codmate,cantidad)----->OTM_MATERIAL(1,1,1)
Necesito pasar el codigo de otm al reporte para poder imprimirlo desde visual net 2005
Espero que me entiendan
__________________
viko
| 
11-04-2008, 14:53:36
|  | Buena Participación en el Foro | | Registrado: oct 2007 Posts: 70
| | Re: Pasar parametro a reporte crystal report OK A VER SI TE ENTENDI NECESITAS PASAR UN VALOR O VARIABLE A CRYSTAL REPORT
LO PRIMERO ES QUE EL REPORTE HAGAS UN PARAMETER FIELDS (NO SE SI ASI SE ESCRIBE) AL CUAL LE VAS A PASAR LA VARIABLE QUE TIENE EL CODIGO O EL VALOR QUE DESEAS......
Dim rp As New REPORTE
rp.SetDataSource(DATASET)
rp.SetParameterValue("NOMBRE DEL PARAMETRO QUE CREASTE EN EL REPORTE", VARIABLE)
CRISTALREPORTVIEWER.REPORTSOURCE = RP
SI NO TE ENTENDI SORRY.... CUAL QUIERCOS AVISA AQUI ESTAREMOS PARA VER SI SE TE PUEDE AYUDAR
__________________
Si se puede Imaginar...Se puede programar.
| 
11-04-2008, 23:08:45
| | Un Nuevo Amigo | | Registrado: jul 2006 Posts: 11
| | Re: Pasar parametro a reporte crystal report Hola InfoCuervo , antes que nada gracias por tu apoyo.
Bueno, la idea es pasar el parametro a un crystal report.
En mi formulario (frmotm) tengo el control textbox, alli muestro el campo (codotm)
y desde un boton (imprimir) deseo enviarle la impresion de ese registro con todo su detalle.
En el boton Imprimir tengo este codigo:
Dim Impresion As New frmimpresionotm(val(Me.txtcodigo.Text))
Impresion.ShowDialog()
El cual me sale un error en val dice "la expresion no es una matriz o un metodo y no puede tener una lista de argumentos"
Y en mi otro formulario (frmimpresionotm) tengo este codigo
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Public Class frmimpresionotm
Dim prmOtm As New ParameterValues()
Dim _otm As New ParameterDiscreteValue()
Dim Informe As rptotm = New rptotm
Dim idotm As Integer
Sub New(ByVal otm As Integer)
' This call is required by the Windows Form Designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
idotm = otm
End Sub
Private Sub frmimpresionotm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Crviewer es el viewer de mi formulario impresiones
Me.Crviewer.ReportSource = Informe
Dim Parametros As ParameterFields = Me.Crviewer.ParameterFieldInfo
_otm.Value = idotm
prmOtm.Add(_otm)
Parametros(0).CurrentValues = prmOtm
End Sub
End Class
El problema es en el error mencionado arriba:
(error en val dice "la expresion no es una matriz o un metodo y no puede tener una lista de argumentos)
Espero q puedas entender te adjunto las capturas de imagen
__________________
viko
| 
14-04-2008, 20:57:57
|  | Buena Participación en el Foro | | Registrado: oct 2007 Posts: 70
| | Re: Pasar parametro a reporte crystal report ok. lo que yo te aconsejo que no te mortifiques tanto en el diseño de tu reporte a la izaquierda en el FIELD EXPLORER ahi vos le das click derecho en PARAMETER FIELD LUEGO NEW LUEGO le pones el nombre al parameter y luego escoges el tipo de datos que vas a pasar.....
en tu formulario donde tenes el boton imprimir declara una variable publica que le vas a pasar al parametro o simplemete invocas el textbox antes que lo limpies desde el otro formulario MY.FORM.NOMBREDELFORMULARIO.NOMBREDELTEXTBOX.TEXT
cuando carga tu visor el formulario donde tenes el crystal reports viewer podes declarar una variable local a la que le pasas la variable publica que queres... si queres llenar un dataset a partir de ese codigo tenes que tener un query que reciba como parametro esa variable....
***carga el cristal report viewer
Private Sub CRISTALREPORTSVIEWER(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CrvExit.Load
******A LA VARIABLE LOCAL LE PASAS EL CODIGO QUE QUERES
DIM XX AS INTEGER = MY.FORM.FORM1.CODIGO(EJEMPLO)
Dim rp As New reporte
****** PODES PASAR AL REPORTE UN DATASET DE OTRO FORMULARIO SI YA LO TENES CARGADO CON LOS DATOS QUE QUERES ASI :
rp.SetDataSource(My.Forms.Form1.DATASET)
******* O LO CARGAS AQUI Y SE LO PASAS ASI:
ME.TABLEADAPTER.FILLBYCODIGO(DATASET.TABLE, XX)
rp.SetDataSource(Me.DATASET.TABLE)
SI QUERES PASARLE A REPORTE EL CODIGO EN EL PARAMETRO QUE CREASTES EN EL DISEÑO DEL REPORTE SOLO ESCRIBISTE
rp.SetParameterValue("NOMBREDELPARAMETRO QUE CREASTES", XX)
Me.CRISTALREPORTSVIEWER.ReportSource = rp
End Sub
NO SE SI ME EXPLIQUE BIEN ESPERO TE SIRVA
__________________
Si se puede Imaginar...Se puede programar.
| 
23-04-2008, 18:24:06
| | Un Nuevo Amigo | | Registrado: jul 2006 Posts: 11
| | Re: Pasar parametro a reporte crystal report Hola Infocuervo gracia spor tu apoyo,
Tengo una duda con la declaracion de la variable publica en el Formulario Imprimir, para pasar el parametro.
Declaro como publica y en que momento la cargo al Variable parametro de mi reporte?
__________________
viko
| 
28-04-2008, 16:51:36
|  | Buena Participación en el Foro | | Registrado: oct 2007 Posts: 70
| | Re: Pasar parametro a reporte crystal report simplemente el el load de tu visor del reporte ahi declaras una varible local a la que le pasa la publica y luego al reporte como te explique arriba.....
__________________
Si se puede Imaginar...Se puede programar.
| 
15-05-2008, 23:47:49
| | Un Nuevo Amigo | | Registrado: jul 2006 Posts: 11
| | Re: Pasar parametro a reporte crystal report Info cuervo quiero agradecerte por tu apoyo, espero q tengas paciencia.
Mira,cuando ejecuto el programa me sale el listado de todos mis registros, pero yo necesito solo un registro (el seleccionado desde el txtbox) por cada impresion.
creo q mi problema esta en el el cargado de mi data set
tengo este query
------------------------------------------------------------------
SELECT dbo.operacion.cod_op, dbo.operacion.cod_pat, dbo.equipo.descripcion, dbo.Materiales.descripcion AS Expr1, dbo.mov_material_operacion.cantidad,
dbo.operacion.descripcion AS Expr2
FROM dbo.dependencia INNER JOIN
dbo.equipo ON dbo.dependencia.cod_dep = dbo.equipo.cod_dep INNER JOIN
dbo.marcas ON dbo.equipo.cod_marca = dbo.marcas.cod_marca INNER JOIN
dbo.Materiales ON dbo.marcas.cod_marca = dbo.Materiales.cod_marca INNER JOIN
dbo.mov_material_operacion ON dbo.Materiales.cod_mat = dbo.mov_material_operacion.cod_mat INNER JOIN
dbo.operacion ON dbo.equipo.cod_pat = dbo.operacion.cod_pat AND dbo.mov_material_operacion.cod_op = dbo.operacion.cod_op INNER JOIN
dbo.servicios ON dbo.equipo.cod_serv = dbo.servicios.cod_serv INNER JOIN
dbo.tecnicos ON dbo.operacion.id_tecnico = dbo.tecnicos.id_tecnico
-----------------------------------------------------------------------
Al parecer estoy no estoy haciendo lo correcto
mira en mi form1 tengo este codigo
-----------------------------------------------
Imports System.Data
Imports System.Data.SqlClient
Public Class Form1
Dim da As SqlDataAdapter
Dim ds As DataSet
Dim dt As New DataTable
Dim cmd As New SqlCommand
Dim reporte As New cryotm
'Public Con As New SqlConnection("Integrated Security=TRUE;Data Source=(Local);Initial Catalog=Mantenimiento")
'Public strConexion As String = " data source=(local);initial catalog=Mantenimiento;Integrated security=SSPI"
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
dt.Clear()
'Dim conn As String = "Provider=OraOLEDB.Oracle.1;Persist Security Info=False;User ID=nombre_base;Password=contraseña;Data Source=cadena"
'Con = New oledbconnection(conn)
Dim Con As New SqlConnection("Integrated Security=TRUE;Data Source=(Local);Initial Catalog=Mantenimiento")
Dim strConexion As String = " data source=(local);initial catalog=Mantenimiento;Integrated security=SSPI"
cmd.Connection = Con
'My.Forms.Form2.cryviewer.ReportSource = reporte
'My.Forms.Form2.cryviewer.Refresh()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
cmd.CommandText = "SELECT dbo.operacion.cod_op, dbo.operacion.cod_pat, dbo.equipo.descripcion, dbo.Materiales.descripcion AS Expr1, dbo.mov_material_operacion.cantidad,dbo.operacion. descripcion AS Expr2 FROM dbo.dependencia INNER JOIN dbo.equipo ON dbo.dependencia.cod_dep = dbo.equipo.cod_dep INNER JOIN dbo.marcas ON dbo.equipo.cod_marca = dbo.marcas.cod_marca INNER JOIN dbo.Materiales ON dbo.marcas.cod_marca = dbo.Materiales.cod_marca INNER JOIN dbo.mov_material_operacion ON dbo.Materiales.cod_mat = dbo.mov_material_operacion.cod_mat INNER JOIN dbo.operacion ON dbo.equipo.cod_pat = dbo.operacion.cod_pat AND dbo.mov_material_operacion.cod_op = dbo.operacion.cod_op INNER JOIN dbo.servicios ON dbo.equipo.cod_serv = dbo.servicios.cod_serv INNER JOIN dbo.tecnicos ON dbo.operacion.id_tecnico = dbo.tecnicos.id_tecnico"
da = New SqlDataAdapter(cmd)
da.Fill(dt)
reporte.SetDataSource(dt)
reporte.Refresh()
reporte.SetParameterValue("codigoOtm", Me.TextBox1.Text)
My.Forms.Form2.cryviewer.ReportSource = reporte
My.Forms.Form2.cryviewer.Refresh()
My.Forms.Form2.Show()
End Sub
End Class
-------------------------------------------
Espero me entiendas.
__________________
viko
| 
17-05-2008, 14:03:10
|  | Buena Participación en el Foro | | Registrado: oct 2007 Posts: 70
| | Re: Pasar parametro a reporte crystal report Ok... asi rapidamento en el select que estas haciendo no veo por ningun lado el dondional Where que es el parametro para el o los registros que deseas Select * from tabla where idtabla = @variable o textbox.text.... chequea eso y me avisas
__________________
Si se puede Imaginar...Se puede programar.
| 
19-05-2008, 22:17:08
| | Un Nuevo Amigo | | Registrado: jul 2006 Posts: 11
| | Re: Pasar parametro a reporte crystal report Hola infor Cuervo, cuando le hago
cmd.CommandText = "Select * from operacion where cod_op= textbox1.text"
da = New SqlDataAdapter(cmd)
tengo un error en el --> da.Fill(dt)
No se controló sqlexception
The multi-part identifier "textbox1.text" could not be bound.
__________________
viko
| 
20-05-2008, 15:22:44
|  | Buena Participación en el Foro | | Registrado: oct 2007 Posts: 70
| | Re: Pasar parametro a reporte crystal report ok asi lo tenes :cmd.CommandText = "Select * from operacion where cod_op= textbox1.text"
Proba remplazar el textbox1.text por "& textbox1.text & '"
o pasale el textbox a un variable y esa varible la pones en la consulta "'& varible &'"
__________________
Si se puede Imaginar...Se puede programar.
| | Herramientas | | | | Desplegado | Mode Lineal |
Normas de Publicación
| no Puedes crear nuevos temas no Puedes responder a temas no Puedes adjuntar archivos no Puedes editar tus mensajes Código [IMG] está habilitado Código HTML está deshabilitado | | | La franja horaria es GMT. Ahora son las 06:43:12.
Powered by vBulletin® Version 3.6.8 Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design
|  |