Como Puedo tomar estos informes. Cual es el código o la forma de realiazarlo. Muchas Gracias
1 Respuesta
Respuesta de athrarn
1
1
athrarn, - Sistemas Operativos : - MS-DOS, Windows 3
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) ;-)