Hola, necesito ayuda con DATAREPORT

Tengo un problema, al conectarme a la aplicación puedo generar reportes, el tema es que cuando genero el primer reporte lo hace bien y trae los datos, pero si me cambio de pantalla y genero otro reporte, éste aparece la página en blanco, a lo mejor pienso que me falta algún refresh o al gún comando, me podrían decir cual es y donde va. GRACIAS!

1 respuesta

Respuesta
1
Ahí va código de ejemplo (necesitas un DataEnvironment para este ejemplo)
Private Sub cmdGenerarInforme_Click()
Dim laWhere As String
With DataEnvironment1
If Option2.Value Then
If Combo1.Text = "" Then
MsgBox ("Seleccione Año. Por Favor.")
Exit Sub
End If
laWhere = "WHERE Anio = '" & Combo1.Text & "'"
End If
strSQL = " SHAPE {Select * From latabla " & laWhere & "} AS Command1 "
.Commands.Item(1).CommandText = strSQL
.Commands.Item(1).Execute
DataReport1.Refresh
DataReport1.Show vbModal
.Recordsets.Item(1).Close
End With
End Sub
Voy aprobar y te cuento como me va, nuevamente GRACIAS
Lo que pasa es que si yo ejecuto el programa no trae los datos a la pantalla, PERO si lo ejecuto paso a paso con F8, trae los datos perfectamente, al parecer pasa tan rápido cuando se ejecuta que no alcanza a llevar los datos al report, te envío el código que tengo para ver si me puedes ayudar por favor...
Private Sub bt_imprimir_Click(Index As Integer)
Dim SQLStr As String
connection.Open "dsn=ofta"
command.ActiveConnection = connection
command.CommandType = adCmdStoredProc
connection.Execute "delete * from reportes"
connection.Execute "insert into reportes (repo_paci_rut,repo_paci_nombr,repo_paci_apell,repo_paci_direc,repo_paci_comun,repo_paci_ciuda,repo_paci_fech_nac,repo_paci_sexo,repo_paci_telef,repo_paci_fois,repo_paci_fech_ing )" _
& " values ('" & t_rut2.Caption & "','" & t_nombre2.Caption & "','" & t_apellidos2.Caption & "','" & t_direccion.Caption & "','" & t_comuna.Caption & "','" & t_ciudad.Caption & "','" & t_fecha_nac.Caption & "','" & t_sexo.Caption & "','" & t_telefono.Caption & "','" & t_foispa.Caption & "','" & t_fecha_ingreso.Caption & "')"
'''''''''If DataEnvironment1.conect_ofta.State = 1 Then
''''''''' DataEnvironment1.conect_ofta.Close
'''''''''End If
'''''''''DataEnvironment1.conect_ofta.Open
dr_datos_paci.Refresh
dr_datos_paci.Show
DataEnvironment1.Recordsets.Item(1).Close
connection.Close
End Sub
Lo que está con comillas simple lo tengo en comentario... FAVOR TU AYUDA, de antemano MUCHAS GRACIAS.
MVRN
Alguna vez me ha pasado lo que comentas y si no recuerdo mal lo he resuelto metiendo todo en transacciones para forzar...
Mira a ver...
o mandar algún ejemplo... GRACIAS!
Me podrías dar algún ejemplo para ver como hacerlo y solucionar el problema por favor, ya que veo que estoy casi con la solución, de acuerdo al ejemplo que me enviaste, espero me puedas ayudar.,,,, muchas gracias!
MVRN.
...
with connection
.BeginTrans
.Execute "delete * from reportes"
.Execute "insert into reportes (repo_paci_rut,repo_paci_nombr,repo_paci_apell,repo_paci_direc,repo_paci_comun,repo_paci_ciuda,repo_paci_fech_nac,repo_paci_sexo,repo_paci_telef,repo_paci_fois,repo_paci_fech_ing )" _
& " values ('" & t_rut2.Caption & "','" & t_nombre2.Caption & "','" & t_apellidos2.Caption & "','" & t_direccion.Caption & "','" & t_comuna.Caption & "','" & t_ciudad.Caption & "','" & t_fecha_nac.Caption & "','" & t_sexo.Caption & "','" & t_telefono.Caption & "','" & t_foispa.Caption & "','" & t_fecha_ingreso.Caption & "')"
.CommitTrans
end with
...
Voy a probar y te estoy comentando como me fue, espero salga todo bien, también aprovecho para comentarte que me imagino que las líneas del refres, cerrar el records siguen a continuación de la query.
Nuevamente GRACIAS...
MVRN.
Private Sub bt_imprimir_Click(Index As Integer)
Dim SQLStr As String
connection.Open "dsn=ofta"
command.ActiveConnection = connection
command.CommandType = adCmdStoredProc
with connection
.BeginTrans
.Execute "delete * from reportes"
.Execute "insert into reportes (repo_paci_rut,repo_paci_nombr,repo_paci_apell,repo_paci_direc,repo_paci_comun,repo_paci_ciuda,repo_paci_fech_nac,repo_paci_sexo,repo_paci_telef,repo_paci_fois,repo_paci_fech_ing )" _
& " values ('" & t_rut2.Caption & "','" & t_nombre2.Caption & "','" & t_apellidos2.Caption & "','" & t_direccion.Caption & "','" & t_comuna.Caption & "','" & t_ciudad.Caption & "','" & t_fecha_nac.Caption & "','" & t_sexo.Caption & "','" & t_telefono.Caption & "','" & t_foispa.Caption & "','" & t_fecha_ingreso.Caption & "')"
.CommitTrans
end with
'''''''''If DataEnvironment1.conect_ofta.State = 1 Then
''''''''' DataEnvironment1.conect_ofta.Close
'''''''''End If
'''''''''DataEnvironment1.conect_ofta.Open
dr_datos_paci.Refresh
dr_datos_paci.Show
DataEnvironment1.Recordsets.Item(1).Close
connection.Close
End Sub
... tiempo que tuviste para responder mis consultas, espero me resulte y salga todo bien, te cuento de todas formas después que lo pruebe...
Gracias!
Probé el código agregando el ejemplo que mandaste y funciona perfectamente, muchas gracias por tu ayuda.
Gracias!
MVRN
Tú sabes como puede dar la propiedad a un data report para que salga horizontal y así me permita agregar más columnas en un reporte (cuando estoy en diseño),
Tú sabes como le puedo pasar un valor de un campo a un label de un reporte, como para dejarlo como encabezado.
GRACIAS NUEVAMENTE Y haber si me puedes ayudar con estas preguntitas.
¿Podrías cerrar esta pregunta y abrir otra nueva con las dudas que tienes?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas