Visual Basic - Datareport y Coneccion sin Dataenvironment

Life is soft - evento anual de software empresarial
 
Vista:

Datareport y Coneccion sin Dataenvironment

Publicado por Luigi (79 intervenciones) el 17/05/2003 02:37:35
Actualmente tengo funcionando un Datareport (que tiene varias secciones y niveles de detalle) que se conecta por medio de un Dataenvironment y genera una instruccion SQL con el comando shape anidada por las sub consutlas q hay en cascada (en Hierarchi Info). Hasta ahi voy bien....
...pero como hago para q este Datareport (conectado a Commands en cascada) se conecte por medio de codigo a una base de datos X pero sin utilizar el DataEnvironment, y sea todo esto por medio de codigo puro..., he hecho pruebas cambiando el Datasource del Datareport a un Recorset con la instruccion q me salia en el Hierarchi Info pero me sale error, MI primera PREGUNTA CONCRETA ES COMO CONECTO MI DATAREPORT A LA BASE DE DATOS POR MEDIO DE CODIGO PURO (OJO Q UTILIZO SQL SERVER 2000)...que instrucciones debo hacer?

AHORA SI deseo programar en 3 Capas, el uso del Dataenvironment solo es a nivel 2 capas? o no ? porq el Dataenvironment conecta el cliente al servidor de DB sin uso de una capa intemedia ..alguien puede dar respuesta a mi inquietud o si se puede como lo debo hacer?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Datareport y Coneccion sin Dataenvironment

Publicado por David Medina (88 intervenciones) el 17/05/2003 05:56:00
Es fácil, por medio de código es algo como esto:

Tengo en un formulario un Ado Data COntrol.
Tengo un reporte que se llama rptDetalleHojaPagos
En ese reporte a los textfield les coloco únicamente el nombre del campo o datafield y por código asigno el Ado Data control en tiempo de ejecución.

Los lblInquilino, lbl...., son label fijos en el reporte, pero les llevo valores en tiempo de ejecución. Como títulos del Inf y cosas así.

al correo, te envío un example
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

2da parte

Publicado por David Medina (88 intervenciones) el 17/05/2003 05:57:26
'Public Sub GenerarSqlHojaPagos()
''Arma la cadena SQL para seleccionar los registros dependiendo de lo que el usuario quiera
'Dim SqlHoja As String
'
'
' SqlHoja = "SELECT NOMBRE, DIRECCION, TEL1, SECTOR, DAY(F_INICIO) AS DIA, F_INICIO, NOM_MES, NUM_MES "
' SqlHoja = SqlHoja & "FROM INQUILINOS, MESES "
' SqlHoja = SqlHoja & "WHERE NOMBRE='" & FrmHojaPagos.CboInquilino.Text & "'"
' SqlHoja = SqlHoja & " AND NUM_MES>" & FrmHojaPagos.CboDesde.ListIndex & ""
' SqlHoja = SqlHoja & " AND NUM_MES<=" & FrmHojaPagos.CboHasta.ListIndex + 1 & ""
'
' FrmConexiones.Adodc7.RecordSource = SqlHoja
' FrmConexiones.Adodc7.Refresh
'
' If FrmConexiones.Adodc7.Recordset.EOF = True Then 'verifica si existen registros que mostrar
' MsgBox "No se puede generar un reporte desde " & FrmHojaPagos.CboDesde.Text & _
' " hasta " & FrmHojaPagos.CboHasta.Text, vbExclamation + vbOKOnly
' Exit Sub
' End If
'
'End Sub
'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

3 parte

Publicado por David Medina (88 intervenciones) el 17/05/2003 05:58:09
'Public Sub GenerarReporteHojaPagos()
''Lleva los valores de la consulta a los controles Label en la sección2
'
'Dim LblInquilino, LblSector, LblDireccion, LblTelefono, LblInicio As RptLabel
'
'
' Set RptDetallePagos.DataSource = FrmConexiones.Adodc7
'
' Set LblInquilino = RptDetallePagos.Sections("Sección2").Controls("EtqInquilino")
' LblInquilino.Caption = FrmConexiones.Adodc7.Recordset.Fields(0).Value
'
' Set LblSector = RptDetallePagos.Sections("Sección2").Controls("EtqSector")
' LblSector.Caption = FrmConexiones.Adodc7.Recordset.Fields(3).Value
'
' Set LblDireccion = RptDetallePagos.Sections("Sección2").Controls("EtqDireccion")
' LblDireccion.Caption = FrmConexiones.Adodc7.Recordset.Fields(1).Value
'
' Set LblTelefono = RptDetallePagos.Sections("Sección2").Controls("EtqTelefono")
' LblTelefono.Caption = "Teléfono: " & FrmConexiones.Adodc7.Recordset.Fields(2).Value
'
' Set LblInicio = RptDetallePagos.Sections("Sección2").Controls("EtqInicio")
' LblInicio.Caption = "Fecha Inicio: " & FrmConexiones.Adodc7.Recordset.Fields(5).Value
'
'End
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Propongo un reto mejor...

Publicado por Esteban (1144 intervenciones) el 17/05/2003 09:57:56
Intenten crear un datareport, sin controles, o sea, sin DataEnvironment no Datas, sólo por código....eso lo digo pues he tenido problemas para conectarlos de esta forma.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Propongo un reto mejor...

Publicado por Juan Carlos (128 intervenciones) el 19/05/2003 02:04:42
La mejor manera de trabajar los Reportes, es en lo absoluto puro codigo.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar