Problemas Para Generar Un Reporte Html


Objetivo: Problemas Para Generar Un Reporte Html
Hola a todos espero y anden bien, tenia tiempo que no entraba al foro pido disculpa por ello..

pero hoy les traigo un pequeño problema que no he podido solucionar durante meses y se que uds podran ayudar..

problema: Quiero generar una serie de reportes en html y tengo este codigo

Public Sub Button1_Click()
Dim archivo As File
Dim rutareport As String
Dim directorio As String
directorio = Application.Path
rutareport = Application.path & "/CentroEvangelisticoIdyHacedDicipulos.html"
If Exist(rutareport) Then Kill rutareport
Open rutareport For Create As #archivo
Print #archivo, "<html><head>"
Print #archivo, "<title>Reporte de Red</title>"
Print #archivo, "</head>"
Print #archivo, "<body>"
Print #archivo, "esto debe estar al inicio de cada linea del diseño del html"
Close #archivo
Exec ["firefox", rutareport, "Reporte"]
End


este codigo me lo presto un amigo pero me genera un error en el

eh tratado de corregirlo pero no he dado con la solución, no se si seran los complementos o la version de gambas, espero su ayuda

aqui una imagen del error

captura_de_pantalla_de_2013_06_29_20_19_32

Gracias...

Saludos.

Perfil MP  
Objetivo: Re: Problemas Para Generar Un Reporte Html
No lo he hecho nunca, pero supongo que en la línea anterior le dices que si el archivo existe lo elimine (en realidad que elimine la variable rutareport) y luego tratas de abrirlo.
Si tratas de abrir un archivo existente y usas la palabra clave create, el mismo aparece en blanco.
Saludos

última edición por Dani26 el Domingo, 30 Junio 2013, 02:53; editado 1 vez
Objetivo: Re: Problemas Para Generar Un Reporte Html
el problema es que el unico reporte que he hecho es con el complemento gb report pero resulta que debo imprimir los reportes de acuerdo a un formato establecido :S

alguien podria ayudarme con otro ejemplo o algo que me sirva?

Perfil MP  
Objetivo: Re: Problemas Para Generar Un Reporte Html
A ver si esto te sirve de ayudaEnlace
Saludos
PD: ¿probaste eliminar esta línea de tu código?
If Exist(rutareport) Then Kill rutareport

última edición por Dani26 el Domingo, 30 Junio 2013, 04:20; editado 1 vez
Objetivo: Re: Problemas Para Generar Un Reporte Html
No uses Application.Path, usa o el directorio /tmp o alguno que se desprenda de la home del usuario. Puedes usar el comodin User.Home
Y envez de llamar a FireFox (imagina que el usuario final tiene otro Browser) habilita el componente desktop y usa Desktop.Open(URL)
Tu error es que tienes que asignar el Open a la variable File......... Corrigiendo tu código quedaria de la sig. forma:

Public Sub Button1_Click()

Dim archivo As File
Dim rutareport As String
rutareport = User.Home &/ "reporte.html"
If Exist(rutareport) Then Kill rutareport
archivo = Open rutareport For Create
Print #archivo, "<html><head>" &
"<title>Reporte de RED</title>" &
"<meta charset=\"UTF-8\">" &
"</head>" &
"<body>esto debe estar al inicio de cada linea del diseño del html</body>" &
"</html>"
Close #archivo
Desktop.Open(rutareport)

End


Saludos!

Objetivo: Re: Problemas Para Generar Un Reporte Html
Yo, salvo que el reporte a imprimir sea enorme, no lo haría así. Me es mucho más simple:
Dim archivo As File
Dim rutareport, elReport As String

rutareport = User.Home &/ "reporte.html"
If Exist(rutareport) Then Kill rutareport
ElReport= "<html><head>\n<title>Reporte de RED</title>\n<meta charset=\"UTF-8\">\n </head>\n <body>esto debe estar al inicio de cada linea del diseño del html</body>\n</html>"
file.Save(rutareport,elreport)
Desktop.Open(rutareport)


Es lo mismo, pero tiene una cierta flexibilidad, es decir, antes de file.Save, si fuese necesario, puedes hacer cosas con el html en sí (cambiar codificaciones, comprobar si existe o no algún caracter extraño, etc. etc.)
Supongo que es cuestión de estilos.

Saludos.

última edición por shordi el Domingo, 30 Junio 2013, 08:49; editado 1 vez
Perfil MP  
Objetivo: Re: Problemas Para Generar Un Reporte Html
Dani26 escribió: [Ver mensaje]
A ver si esto te sirve de ayudaEnlace
Saludos
PD: ¿probaste eliminar esta línea de tu código?
If Exist(rutareport) Then Kill rutareport


si ya lo probe y no funciona..

razaAztk escribió: [Ver mensaje]
No uses Application.Path, usa o el directorio /tmp o alguno que se desprenda de la home del usuario. Puedes usar el comodin User.Home
Y envez de llamar a FireFox (imagina que el usuario final tiene otro Browser) habilita el componente desktop y usa Desktop.Open(URL)
Tu error es que tienes que asignar el Open a la variable File......... Corrigiendo tu código quedaria de la sig. forma:

Public Sub Button1_Click()

Dim archivo As File
Dim rutareport As String
rutareport = User.Home &/ "reporte.html"
If Exist(rutareport) Then Kill rutareport
archivo = Open rutareport For Create
Print #archivo, "<html><head>" &
"<title>Reporte de RED</title>" &
"<meta>" &
"</head>" &
"<body>esto debe estar al inicio de cada linea del diseño del html</body>" &
"</html>"
Close #archivo
Desktop.Open(rutareport)

End


Saludos!


razaaztk compile pero jugaste con mi sentimientos la correccion que hiciste da error en esta linea
Desktop.open(rutareport)

error: Simbolo 'open' desconocido en la clase 'Desktop'

y lo mismo pasa con el ejemplo que puso shordi

y pej estoy usando esta manera por que enserio los reportes son muy largos incluso hay uno que tiene 4 paginas de oficio de ODT :S

y porque no puedo especificar el explorador? entonces como podria abrirse?

disculpen la preguntadera pero en reportes si toy fallisimo..

Perfil MP  
Objetivo: Re: Problemas Para Generar Un Reporte Html
Listo Funciono abrio el reporte en html..

ahora una ultima pregunta como haría para sacar los datos podrían instruirme en esa parte? o encaminarme..?

Muchas Gracias a Todos

Saludos

Perfil MP  
Objetivo: Re: Problemas Para Generar Un Reporte Html
OneErick

Jajajaja dígame esta parte

Citar:
If Exist(rutareport) Then Kill rutareport


Dice si encuentras un reporte con el mismo nombre ASESINARLO, dira el cliente cada ves que creo un reporte se oculta! venditos reportes tienen viiidaa se camuflaaan jajajaja.

Yo por otra parte no niego que me ha gustado y dado ideas lo único que hice fue quitarle el KILL y condicionarlo con un mensaje, si encuentra archivo decir el archivo ya existe cambie el nombre o mover de lo contrario guardarlo.

Public Sub Button_reportes_Click()
Dim ruta As String
Dim archivo As File
Dim i, j As Integer
Dim fila As String
Dim division As Float
Dim contador As Integer
ruta = User.Home &/ "Reporte de Registro de Profesores y sus Materias.html"
If Exist(ruta) Then ---------------------------------Quitar el kill y condicionarlo a un mensaje
Message.Warning("YA HAY UN REPORTE CON EL MISMO NOMBRE POR FAVOR MUEVA EL MISMO A OTRA RUTA O CAMBIE EL NOMBRE!")
Else
If Message.Question(" ¿DESEA GUARDAR UN REPORTE DE PROFESORES CON SUS MATERIAS?", "SI", "NO") = 1 Then
archivo = Open ruta For Write Create
Print #archivo, "<html>"
Print #archivo, "<head><title>Reporte de profesores y las materias que imparten</title></head>"
Print #archivo, "<body topmargin='0' leftmargin='0'"
Print #archivo, ">"
Print #archivo, "<table border='1' width='500' cellpadding='0' cellspacing='0'>"
Print #archivo, " <tr>"
Print #archivo, " <td rowspan='10' colspan='50' align='center'>"
Print #archivo, " <h3>Listado de profesores</h3>"
Print #archivo, " <tr>"
'Print #archivo, " <td colspan='20' align='center'>"
Print #archivo, " <td bgcolor= #D9D9D9 align = 'center'> <h6>Cedula</h6></td>"
Print #archivo, " <td bgcolor= #D9D9D9 align ='center'> <h6>Nombre</h6></td>"
Print #archivo, " <td bgcolor= #D9D9D9 align ='center'><h6>Direccion</h6></td>"
Print #archivo, " <td bgcolor= #D9D9D9 align ='center'> <h6>Telefono</h6></td>"
Print #archivo, " <td bgcolor= #D9D9D9 align ='center'> <h6>Codigo de Materia</h6></td>"
Print #archivo, " <td bgcolor= #D9D9D9 align ='center'> <h6>Materia</h6></td>"
Print #archivo, " </tr>"
For i = 0 To Lista.rows.Count - 1
Print #archivo, " <tr>"
For j = 0 To Lista.Columns.Count - 1
Print #archivo, " <td><h6>" & Lista[i, j].Text & "</h6></td>"
Next
Print #archivo, " </tr>"
Next
Print #archivo, "</table>"
Print #archivo, "</body>"
Print #archivo, "</html>"
Close #archivo
Message.Info("SE HA CREADO UN REPORTE EN MODO TABLA DE PROFESORES Y SUS MATERIAS (GUARDADO EN DIRECTORIO PRINCIPAL)")
Endif
Endif
End


Otra idea que esto podría dar para que no este diciendo mover o cambiar nombre, seria crear una variable string o textbox donde uno coloque el nuevo nombre y se guarde, ya eso lo tendría que probar.

A mi me esta gustando la idea de los reportes en html ya que me interesa sacar un total de todos los registros posibles en tabla pero empequeñeciendo las letras y darle color a los campos iniciales de las columnas.

foto_de_reporte_en_html2

Otra cosa que me ha llamado la atencion son estos codigos.

Exec ["firefox", rutareport, "Reporte"]

creo que tambien dice:

shell ["firefox", rutareport, "Reporte"]

If Exist(rutareport) Then Kill rutareport

Si yo hiciera un Direct Chooser se podria colocar en el mismo esos comando para abrir, modificar y eliminar archivos?.

última edición por jousseph el Viernes, 08 Agosto 2014, 06:14; editado 1 vez
Objetivo: Re: Problemas Para Generar Un Reporte Html
Citar:
Otra cosa que me ha llamado la atencion son estos codigos.

Exec ["firefox", rutareport, "Reporte"]

creo que tambien dice:

shell ["firefox", rutareport, "Reporte"]

If Exist(rutareport) Then Kill rutareport

¿Y qué pasa si el cliente no usa Firefox? ¿y si usa Opera, Chrome o el que sea?
Mejor añade a tu proyecto el componente gb.Desktop y utiliza el método Open
algo así (escribo de memoria, puede ser algo distinto):
desktop.open(rutareport & "Reporte")
Con eso se abrirá con el navegador que el ordenador tenga como preferido.

Saludos

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4329s (PHP: -67% SQL: 167%)
Consultas SQL: 49 - Debug off - GZIP Activado