ayuda con data report de vb
Antes Gracias por todo a la comunidad de programadores
bueno, lo que necesito es poder pasar un valor que se ingrese en un textbox de un formulario cualquiera y que este se fije o sea trasladado a un label dentro de un reporte(datareport) para poder previsualizarlo y de ahi imprimirlo
bueno, lo que necesito es poder pasar un valor que se ingrese en un textbox de un formulario cualquiera y que este se fije o sea trasladado a un label dentro de un reporte(datareport) para poder previsualizarlo y de ahi imprimirlo
Para poder hacer esto puedes insertar en tu datareport una etiqueta especial de tipo titulo.
luego desde tu formulario escribes lo siguiente:
datareport1.title=textbox1.text
Para poder insertar el control titulo en tu datareport solo basta con dar botòn contrario en cualquiera de las secciones del datareport luego click en insertar control, luego titulo, y te insertara un etiqueta con un caption de %i, dejale el caption en blanco y listo.
luego desde tu formulario escribes lo siguiente:
datareport1.title=textbox1.text
Para poder insertar el control titulo en tu datareport solo basta con dar botòn contrario en cualquiera de las secciones del datareport luego click en insertar control, luego titulo, y te insertara un etiqueta con un caption de %i, dejale el caption en blanco y listo.
puedes pasarle cualquier cantidad de parametros de tu formulario al datareport bueno de tu formulario seria esto:
infocabecera: nombre de una funcion que esta en el datareport
nombredatareport.InfoCabecera textbox.text
nombredatareport.show
y en tu datareport debes tener un sub definida que va resibir los parametros, ademas del control RptLabel definida en una de las secciones, para luego asignarselo al campo
Public Sub InfoCabecera(titulo$)
Me.Sections("Sección").Controls("nombreRptLabel").Caption = titulo
end sub
y listo asi... puedes enviarle culaquier cantidad de parametros al datareport y luego asgnarselo en tiempo de ejecucion e imprimirlos
espero que te sirva
infocabecera: nombre de una funcion que esta en el datareport
nombredatareport.InfoCabecera textbox.text
nombredatareport.show
y en tu datareport debes tener un sub definida que va resibir los parametros, ademas del control RptLabel definida en una de las secciones, para luego asignarselo al campo
Public Sub InfoCabecera(titulo$)
Me.Sections("Sección").Controls("nombreRptLabel").Caption = titulo
end sub
y listo asi... puedes enviarle culaquier cantidad de parametros al datareport y luego asgnarselo en tiempo de ejecucion e imprimirlos
espero que te sirva
y como puedo pasar un criterio para la condicion del WHERE en el Select del .command1 del dataenvironment?
Dim ldGL As dteEntorno
Dim lacmSelectFactura As ADODB.Command
Dim lrptSelectFactura As rptFactura
Dim strSQL As String
Dim lind As Integer
'instanciamos el objeto informe y el entorno de datos
Set lrptSelectFactura = New rptFactura
Set ldGL = New dteEntorno
'construimos la consulta
strSQL = "select * from cabecera_factura, factura_albaran, cabecera_albaran, " + _
" linea_albaran, producto WHERE " + _
" cabecera_factura.id_factura=" & IDVISTA & " and " + _
"cabecera_factura.id_factura=factura_albaran.idfactura and " + _
" factura_albaran.idalbaran_fac=cabecera_albaran.id_albaran and " + _
" cabecera_albaran.id_albaran=linea_albaran.idalbaran and " + _
" linea_albaran.idproducto_alb=producto.id_producto"
'buscamos el objeto commmand en la coleccion
For Each lacmSelectFactura In ldGL.Commands
If lacmSelectFactura.name = "acmFactura" Then
lacmSelectFactura.CommandText = strSQL
End If
Next
'asignar el entorno de datos al informe
'para que la conexion del informe con la base de datos
'sea actualizada
Set lrptSelectFactura.DataSource = ldGL
rptFactura.Show
esto lo pondrías en el boton de imprimir, no le hagas mucho caso a la select, lo unico que hace es seleccionar un registro con el valor IDVISTA de unas tablas relacionadas.
Dim lacmSelectFactura As ADODB.Command
Dim lrptSelectFactura As rptFactura
Dim strSQL As String
Dim lind As Integer
'instanciamos el objeto informe y el entorno de datos
Set lrptSelectFactura = New rptFactura
Set ldGL = New dteEntorno
'construimos la consulta
strSQL = "select * from cabecera_factura, factura_albaran, cabecera_albaran, " + _
" linea_albaran, producto WHERE " + _
" cabecera_factura.id_factura=" & IDVISTA & " and " + _
"cabecera_factura.id_factura=factura_albaran.idfactura and " + _
" factura_albaran.idalbaran_fac=cabecera_albaran.id_albaran and " + _
" cabecera_albaran.id_albaran=linea_albaran.idalbaran and " + _
" linea_albaran.idproducto_alb=producto.id_producto"
'buscamos el objeto commmand en la coleccion
For Each lacmSelectFactura In ldGL.Commands
If lacmSelectFactura.name = "acmFactura" Then
lacmSelectFactura.CommandText = strSQL
End If
Next
'asignar el entorno de datos al informe
'para que la conexion del informe con la base de datos
'sea actualizada
Set lrptSelectFactura.DataSource = ldGL
rptFactura.Show
esto lo pondrías en el boton de imprimir, no le hagas mucho caso a la select, lo unico que hace es seleccionar un registro con el valor IDVISTA de unas tablas relacionadas.
