Capturar desde VB6 un informe hecho en ACCESS

Como Puedo tomar estos informes. Cual es el código o la forma de realiazarlo.
Muchas Gracias

1 Respuesta

Respuesta
1
Te he hecho una clase para mostrar un informe en Access. Hay que añadirle la librería de ACCESS 10.0 y declarar esta API :
Public Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
-----CLASE-----------
Option Explicit
Dim app As Access.Application
Dim objInforme As Access.Report
Dim Form As Access.Form
'Dim hoja As Excel.Worksheet
Dim blncargado As Boolean
Public Sub AbrirAccess(archivo As String)
Set app = New Access.Application
app.OpenCurrentDatabase (archivo)
'Set Libros = app.Workbooks
'Set Libro = Libros.Open(archivo)
blncargado = True
End Sub
Public Sub AbrirInforme(Informe As String)
On Error GoTo HojaNoExiste
app.DoCmd.OpenReport Informe, acViewPreview, , , acWindowNormal
Set objInforme = app.Reports(Informe)
objInforme.Visible = True
ShowWindow objInforme.hWnd, 5
' Con esto muestras Access
' app.Visible = True
Exit Sub
HojaNoExiste:
MsgBox "Error, Access debe tener un Informe llamado '" & Informe & "'"
Me.CerrarAccess
End Sub
'Public Function DevolverCelda(X As Long, Y As Long) As String
' DevolverCelda = hoja.Cells(X, Y)
'End Function
'Public Sub PonerValorCelda(X As Long, Y As Long, Valor As String)
' hoja.Cells(X, Y) = Valor
'End Sub
''Public Sub PonerValorTituloCelda(X As Long, Y As Long, Valor As String)
'' hoja.Cells(X, Y).Font.Bold = True
'' hoja.Cells.BorderAround
'' hoja.Cells(X, Y) = Valor
''End Sub
Private Sub Class_Initialize()
blncargado = False
End Sub
Private Sub Class_Terminate()
If blncargado Then
app.CloseCurrentDatabase
End If
blncargado = False
Set app = Nothing
End Sub
Public Sub CerrarAccess()
blncargado = False
End Sub
Disculpa la molestia, me gustaría saber donde se carga la base y el nombre del usuario, la biblioteca Access 10.0 donde la obtengo, el informe lo habré solo o también se habré el Access.
Saludos
Te lo he puesto todo en el documento anterior. Pero por si quieres, lo explico ahora.
En esta función :
Public Sub AbrirAccess(archivo As String)
Set app = New Access.Application
app.OpenCurrentDatabase (archivo)
'Set Libros = app.Workbooks
'Set Libro = Libros.Open(archivo)
blncargado = True
End Sub
Abres el documento access que desees, solo debes indicarle el path completo.
Esta función :
App. OpenCurrentDatabase (archivo)
Puede recibir dos parámetros más :
El modo (si es exclusivo o no)
Y la contraseña. De este modo :
App. OpenCurrentDatabase (archivo, modo, contraseña)
La biblioteca Access 10.0 la trae Visual basic y Ms access y se añade en el menu Project/references (o Proyecto/referrencias en español)
El informe se abre solo si incluyes solo la sentencia
ShowWindow objInforme. HWnd, 5
Pero en la siguiente linea, comentado está que si descomentas la otra :
' app.Visible = True
Entonces muestras Access completo. (Para que puedas hacer lo que quieras.)
Prueba el código, tarde en realizarlo, pero funciona correctamente.
Un saludo
(Ah abrir es sin h)
;-)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas