Visual Basic - Ayuda con DataReport en Tiempo de Ejecucion

Life is soft - evento anual de software empresarial
 
Vista:

Ayuda con DataReport en Tiempo de Ejecucion

Publicado por Marcos (11 intervenciones) el 07/12/2006 11:01:55
Hola a todos; necesito vuestra ayuda.
Estoy desarrollando una aplicación donde necesito poder cambiar la conexión para los listados a través de DataEnvironment y DataReport pero cuando lanzo el listado me da el siguiente error: "NO SE PUEDIERON OBTENER LOS CONJUNTOS DE FILAS DEL ORIGEN DE DATOS ACTUAL"

Tengo creado un DataEnvironment llamado 'DE' y un Command llamado 'CabeceraAlbaranCliente' que a su vez tiene otro Command Secundario llamado 'LineasAlbaranCliente'
También tengo creado un DataReport llamado 'DataReport1'

Cuando lanzo el listado hago lo siguiente:

Dim SqlConnection as string
Dim Sql as string

SqlConnection = "Provider=SQLOLEDB.1;"
SqlConnection = SqlConnection & "Integrated Security=SSPI;"
SqlConnection = SqlConnection & "Persist Security Info=False;"
SqlConnection = SqlConnection & "Initial Catalog=" & Apli_BaseDatos & ";"
SqlConnection = SqlConnection & "Data Source=" & Apli_Servidor

If DE.Connection.State = 1 Then
DE.Connection.Close
End If
DE.Connection.ConnectionString = SqlConnection
DE.Connection.CursorLocation = adUseClient

Sql = "SHAPE {SELECT CabeceraAlbaranCliente.* FROM CabeceraAlbaranCliente ORDER BY EjercicioAlbaran, SerieAlbaran, NumeroAlbaran} AS CabeceraAlbaranCliente APPEND ({SELECT LineasAlbaranCliente.* FROM LineasAlbaranCliente ORDER BY Orden, LineasPosicion} AS LineasAlbaranCliente RELATE 'CodigoEmpresa' TO 'CodigoEmpresa','EjercicioAlbaran' TO 'EjercicioAlbaran','SerieAlbaran' TO 'SerieAlbaran','NumeroAlbaran' TO 'NumeroAlbaran') AS LineasAlbaranCliente"

DE.Commands("CabeceraAlbaranCliente").CommandType = adCmdText
DE.Commands("CabeceraAlbaranCliente").CommandTimeout = 30
DE.Commands("CabeceraAlbaranCliente").CommandText = Sql


With DataReport1
Set .DataSource = DE
.DataMember = "CabeceraAlbaranCliente"
With .Sections("Albaran_Cabecera")
.Controls("txtNumeroAlbaran").DataMember = "CabeceraAlbaranCliente"
.Controls("txtNumeroAlbaran").DataField = "NumeroAlbaran"
End With
With .Sections("Lineas")
.Controls("txtCodigoArticulo").DataMember = "LineasAlbaranCliente"
.Controls("txtCodigoArticulo").DataField = "CodigoArticulo"
End With
With .Sections("Albaran_Pie")
.Controls("txtImporteLiquido").DataMember = "CabeceraAlbaranCliente"
.Controls("txtImporteLiquido").DataField = "ImporteLiquido"
End With
.Refresh
.Show 1
End With

¿QUE ESTOY HACIENDO MAL?
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:Impresión de N DataReports

Publicado por Marcos (19 intervenciones) el 07/12/2006 13:37:26
Gracias ya he solucionado el problema.
Ahora se me plante otro:
¿Como se hace para lanzar los listados (DataReport) a partir del valor que tengo grabado en una tabla, es decir, en campo tipo String de una tabla tengo grabados todos los listados de la aplicación y cuando el usuario seleccione el listado que desea imprimir lanzar directamente el listado según el valor que hay en esa tabla.

Un ejemplo:
Cuando el usuario pincha la opción de menu 'Listado de Facturas' le aparece las siguientes opciones:
- Listado Detallado
- Listado Agrupado
- Listado por Cliente
- etc.
- etc.
- etc.
Estos valores los tengo grabados en la tabla 'Informes' en el campo 'idInforme'
y cuando el usuario eliga un informe la aplicación debe listar el que a elegido


Gracias por adelantado
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