** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Visual Basic Clásico (VB3...VB6)
  Mensajes nuevos Mensajes nuevos RSS - Informe access en vb ejemplo
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoInforme access en vb ejemplo

 Responder Responder
Autor
Mensaje
PepitoGrillo Ver desplegable
Colaborador
Colaborador


Unido: 21/Diciembre/2004
Localización: España
Estado: Sin conexión
Puntos: 867
Enlace directo a este mensaje Tema: Informe access en vb ejemplo
    Enviado: 16/Agosto/2011 a las 11:06
Queridos amigos "fore-ños"...

En la web de Happy, hay un ejemplo que he usado durante mucho tiempo correctamente, para mostrar un informe de access en visual, pero ahora me da un problema.

Al utilizarlo en Access 2010 (yo deduzco que es lo único que cambia, antes lo utilizaba con versiones anteriors), se me abre el access, y antes no.. y es asi como debe funcionar, access no deberia abrirse, solo mostrar el informe en el control.

¿Hay que configurar algo? no tengo ni idea de por donde atacar este problema, por lo demás continua funcionando perfectamente.

les dejo el link del ejemplo de Happy:
http://accessvbafaq.mvps.org/item.asp?pagina=98

Muchas gracias de antemano, por la ayuda.
Saludos desde Tenerife,Hay más felicidad en dar que en recibir
Arriba
MexMan70 Ver desplegable
Colaborador
Colaborador


Unido: 17/Julio/2007
Localización: DarkSide
Estado: Sin conexión
Puntos: 9233
Enlace directo a este mensaje Enviado: 16/Agosto/2011 a las 17:49

Ese ejemplo es meramente VB no VBA. Aparte de eso, creo que el error te lo manda porque estas generando un archivo SNP y esa aplicación Access la contempla en la version 2003, de esa version para arriba esta descontinuada.

Ahora se ha incluido la creación de PDF's en las nuevas versiones. No se si descargando el programa Snapshot te sirva.
OneDrive: http://sdrv.ms/Vk6eJd
Arriba
PepitoGrillo Ver desplegable
Colaborador
Colaborador


Unido: 21/Diciembre/2004
Localización: España
Estado: Sin conexión
Puntos: 867
Enlace directo a este mensaje Enviado: 16/Agosto/2011 a las 21:44
Puede ser que en el portatil donde tengo el 2010 no tenga el Snapshot... aunque no se si ese es el error, pues lo que se abre es Access... mañana tengo oportunidad de probarlo, ahora, estoy en otro lugar, y hasta mañana no llego. grachie
Saludos desde Tenerife,Hay más felicidad en dar que en recibir
Arriba
PepitoGrillo Ver desplegable
Colaborador
Colaborador


Unido: 21/Diciembre/2004
Localización: España
Estado: Sin conexión
Puntos: 867
Enlace directo a este mensaje Enviado: 17/Agosto/2011 a las 15:52
Definitivamente, despues de realizar las pruebas pertinentes, no tiene nada que ver con el control Shapshot, sino con access.

De hecho, ahora tengo instalada 2003, y 2010.

Si tengo la versión 2003 como predeterminada, no se habre access, sin embargo, si tengo 2010 como predeterminada, sí que se abre.

Además, una vez ejecutado con 2010, aunque el access se abre, si que se muestra el informe en el snapshot correctamente.

¿Que puede ser? ... continuo con las pruebas...a la espera de cualquier idea. gracias.
Saludos desde Tenerife,Hay más felicidad en dar que en recibir
Arriba
MexMan70 Ver desplegable
Colaborador
Colaborador


Unido: 17/Julio/2007
Localización: DarkSide
Estado: Sin conexión
Puntos: 9233
Enlace directo a este mensaje Enviado: 17/Agosto/2011 a las 17:24
Realmente no puedo ayudarte más, no tengo la version 2007 ni 2010 para realizar pruebas. A ver si alguien más te puede echar un cable. Cool
OneDrive: http://sdrv.ms/Vk6eJd
Arriba
PepitoGrillo Ver desplegable
Colaborador
Colaborador


Unido: 21/Diciembre/2004
Localización: España
Estado: Sin conexión
Puntos: 867
Enlace directo a este mensaje Enviado: 19/Agosto/2011 a las 02:18
Creo que el problema esta en el código que se carga en el form al abrir vb

Private Sub Form_Load()
Dim db As Object
Dim con As Object
Dim doc As Object

    ' abrimos la aplicación de Access con la bd
    ' nwind.mdb, donde se encuentran los informes
      Set oApp = GetObject(App.Path & "\Informes_LUCY.mdb")
    ' apuntamos al objeto Database de la aplicación
      Set db = oApp.CurrentDb
    ' buscamos los nombres de todos los informes de la bd
    ' Aquí utilizamos la colección Containers("Reports") para ello,
    ' ya que funcionará para todas las versiones de Access.
    ' (en Access 2000 o superior, se puede utilizar la colección
    ' AllReports del objeto Application.CurrentProject)
   
    For Each doc In db.containers("Reports").Documents
        ' sólo nos interesan los informes, no los subinformes
        If Not doc.Name Like "Subinforme*" Then
            Me.List1.AddItem doc.Name
        End If
    Next
    ' desconectamos el objeto Database
    Set db = Nothing
   
Me.Command1.Enabled = False

Este código se utiliza para rescatar los nombres de los informes, pero si se asignan manualmente, ya no es necesario abrir access... voy a hacer pruebas, y les cuento...
Saludos desde Tenerife,Hay más felicidad en dar que en recibir
Arriba
Yamamoto Ver desplegable
Colaborador Especial
Colaborador Especial


Unido: 18/Septiembre/2010
Localización: Hirosima
Estado: Sin conexión
Puntos: 3362
Enlace directo a este mensaje Enviado: 19/Agosto/2011 a las 09:03
Prueba este otro codigo...es muy parecido en la forma, pero utiliza otro metodo de captacion:


im oAPP As Object
Dim Db As Object
Dim Doc As Object
      Set oAPP = CreateObject("Access.application")
      oAPP.OpenCurrentDatabase (CurrentProject.Path & "\tubaseLEJANA.mdb")
      oAPP.Visible = False
      Set Db = oAPP.CurrentDb
      For Each Doc In Db.Containers("Reports").Documents
           Debug.Print Doc.Name
      Next
   
    ' desconectamos el objeto Database
    'Al desconectar el database, en principio el objeto
    'de automatizacion oApp tambien se destruye.
    'Compruebalo con el Admon de tareas.-.
    Set Db = Nothing
**Saludos**挨拶および平和
Arriba
PepitoGrillo Ver desplegable
Colaborador
Colaborador


Unido: 21/Diciembre/2004
Localización: España
Estado: Sin conexión
Puntos: 867
Enlace directo a este mensaje Enviado: 19/Agosto/2011 a las 10:51
Muchas gracias por contestar...

Lo he probado, y me da error 2467 - La expresión que ha especificado hace referencia a un objeto que esta cerrado o no existe.

Esta es la linea que da error:
oAPP.OpenCurrentDatabase (CurrentProject.Path & "\Informes_LUCY.mdb")

La mdb existe...

Gracias.

Saludos desde Tenerife,Hay más felicidad en dar que en recibir
Arriba
Yamamoto Ver desplegable
Colaborador Especial
Colaborador Especial


Unido: 18/Septiembre/2010
Localización: Hirosima
Estado: Sin conexión
Puntos: 3362
Enlace directo a este mensaje Enviado: 19/Agosto/2011 a las 13:05
Existe...¿Pero donde?. Ten encuenta que correntproject.path te da la ruta actual de donde corre el codigo.
**Saludos**挨拶および平和
Arriba
Yamamoto Ver desplegable
Colaborador Especial
Colaborador Especial


Unido: 18/Septiembre/2010
Localización: Hirosima
Estado: Sin conexión
Puntos: 3362
Enlace directo a este mensaje Enviado: 19/Agosto/2011 a las 13:06
Un momento, un momento...esto pasa por poner los hilos donde no corresponde...
¿Estamos hablando de que ese codigo le tienes en un proyecto de Visual Basic?
**Saludos**挨拶および平和
Arriba
PepitoGrillo Ver desplegable
Colaborador
Colaborador


Unido: 21/Diciembre/2004
Localización: España
Estado: Sin conexión
Puntos: 867
Enlace directo a este mensaje Enviado: 19/Agosto/2011 a las 14:40
Sí, lo puse en VB pero nadie me respondio, y como tiene que ver con Access, pues lo que quiero mostrar en VB es un informe hecho en Access.. pues lo puse aqui... .. en vb nadie me contesto nada....

PD: Siento mucho que esto te ocasionara confusión :-(


Editado por PepitoGrillo - 19/Agosto/2011 a las 14:53
Saludos desde Tenerife,Hay más felicidad en dar que en recibir
Arriba
Enrique Ver desplegable
Colaborador
Colaborador


Unido: 28/Enero/2005
Localización: España
Estado: Sin conexión
Puntos: 1239
Enlace directo a este mensaje Enviado: 19/Agosto/2011 a las 15:13
Ya, y como casi todo el mundo tiene Access instalado en su ordenador, pues que pregunte por recetas de cocina (al fin y al cabo, hay un elemento comun, la maquina que le permite acceder a internet, es la misma que tiene instalado Accesss).
 
 
Un saludo, Enrique
Arriba
Yamamoto Ver desplegable
Colaborador Especial
Colaborador Especial


Unido: 18/Septiembre/2010
Localización: Hirosima
Estado: Sin conexión
Puntos: 3362
Enlace directo a este mensaje Enviado: 19/Agosto/2011 a las 15:52
A estas alturas, creo que ya deberías saber que:
Currentproject.path de VBA de access es el equivalente a App.Path de VB
Asi que si en el codigo que he expuesto antes realiza ese simple cambio.
**Saludos**挨拶および平和
Arriba
PepitoGrillo Ver desplegable
Colaborador
Colaborador


Unido: 21/Diciembre/2004
Localización: España
Estado: Sin conexión
Puntos: 867
Enlace directo a este mensaje Enviado: 20/Agosto/2011 a las 12:45
He hecho el cambio, pero no puedo comprobar los resultados, ahora tengo problemas con mi office 2010..  desde que lo resuelva, comento los resultados... (o cuando pueda probarlo en otro ordenador) Gracias.
Saludos desde Tenerife,Hay más felicidad en dar que en recibir
Arriba
PepitoGrillo Ver desplegable
Colaborador
Colaborador


Unido: 21/Diciembre/2004
Localización: España
Estado: Sin conexión
Puntos: 867
Enlace directo a este mensaje Enviado: 23/Agosto/2011 a las 20:25
Hoy por fin he podido probarlo, y funciona OK, perfecto, ya no se abre el access.

Muchas gracias, Yamamoto. ;-)

Se puede cerrar el hilo.
Saludos desde Tenerife,Hay más felicidad en dar que en recibir
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable