Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Problemas Para Generar Un Reporte Html
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje 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.
 



 
OneErick - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 




===================
Migrando desde visual basic, el Gambas de Ms
Mi blog gambero
 
última edición por Dani26 el Domingo, 30 Junio 2013, 02:53; editado 1 vez 
Dani26 - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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?
 



 
OneErick - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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

 




===================
Migrando desde visual basic, el Gambas de Ms
Mi blog gambero
 
última edición por Dani26 el Domingo, 30 Junio 2013, 04:20; editado 1 vez 
Dani26 - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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!
 



 
razaAztk - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuarioVer la galería personal del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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..
 



 
OneErick - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 



 
OneErick - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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 
jousseph - Ver perfil del usuarioEnviar mensaje privadoVer la galería personal del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados
Usuarios registrados conectados: Ninguno


 
Lista de permisos
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



  

 

cron