border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 


Retroceder   VB-MUNDO - Programacion Visual > Programacion - Lenguajes > Visual Basic.NET 2003 & 2005
Registrarse FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
LinkBack Herramientas Desplegado
  #1 (permalink)  
Antiguo 10-04-2008, 23:06:03
Un Nuevo Amigo
 
Registrado: jul 2006
Posts: 11
viperfa Valoración +2
Contactar con viperfa a través de MSN
Thumbs up 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
Responder Con Cita
  #2 (permalink)  
Antiguo 11-04-2008, 14:53:36
Avatar de InfoCuervo
Buena Participación en el Foro
 
Registrado: oct 2007
Posts: 70
InfoCuervo Valoración +2
Predeterminado 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.
Responder Con Cita
  #3 (permalink)  
Antiguo 11-04-2008, 23:08:45
Un Nuevo Amigo
 
Registrado: jul 2006
Posts: 11
viperfa Valoración +2
Contactar con viperfa a través de MSN
Predeterminado 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
Imágenes Adjuntas
Tipo de Archivo: jpg frmotm.JPG (74,8 KB, 20 visitas)
Tipo de Archivo: jpg frmimpresionotm.JPG (17,1 KB, 11 visitas)
__________________
viko
Responder Con Cita
  #4 (permalink)  
Antiguo 14-04-2008, 20:57:57
Avatar de InfoCuervo
Buena Participación en el Foro
 
Registrado: oct 2007
Posts: 70
InfoCuervo Valoración +2
Predeterminado 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.
Responder Con Cita
  #5 (permalink)  
Antiguo 23-04-2008, 18:24:06
Un Nuevo Amigo
 
Registrado: jul 2006
Posts: 11
viperfa Valoración +2
Contactar con viperfa a través de MSN
Predeterminado 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
Responder Con Cita
  #6 (permalink)  
Antiguo 28-04-2008, 16:51:36
Avatar de InfoCuervo
Buena Participación en el Foro
 
Registrado: oct 2007
Posts: 70
InfoCuervo Valoración +2
Predeterminado 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.
Responder Con Cita
  #7 (permalink)  
Antiguo 15-05-2008, 23:47:49
Un Nuevo Amigo
 
Registrado: jul 2006
Posts: 11
viperfa Valoración +2
Contactar con viperfa a través de MSN
Wink 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
Responder Con Cita
  #8 (permalink)  
Antiguo 17-05-2008, 14:03:10
Avatar de InfoCuervo
Buena Participación en el Foro
 
Registrado: oct 2007
Posts: 70
InfoCuervo Valoración +2
Predeterminado 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.
Responder Con Cita
  #9 (permalink)  
Antiguo 19-05-2008, 22:17:08
Un Nuevo Amigo
 
Registrado: jul 2006
Posts: 11
viperfa Valoración +2
Contactar con viperfa a través de MSN
Predeterminado 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
Responder Con Cita
  #10 (permalink)  
Antiguo 20-05-2008, 15:22:44
Avatar de InfoCuervo
Buena Participación en el Foro
 
Registrado: oct 2007
Posts: 70
InfoCuervo Valoración +2
Predeterminado 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.
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado



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

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right