Buen día.
Tengo un respaldo de una base de datos en Access 2016 con formato .accdb, al abrirla se genera su archivo de bloqueo .laccdb y normalmente, como cualquier base de datos común, al cerrarla se elimina en automático ese archivo de bloqueo. Pero tuve un problema, le agregué la opción de que al abrirla se pueda navegar exclusivamente con los formularios, esto haciendo un formulario inicial en blanco y que de ahí se abra el formulario principal.
Ahora, al abrir la Base de Datos, se genera el .laccdb, dando a entender que se abrió la base, pero no se muestra en pantalla, ni en barra de tareas y tampoco se ve en el administrador de tareas ningún archivo de access abierto, tampoco se pueden eliminar al estar "abiertos", no sé en qué parte del código me equivoqué.
También, al ser un respaldo para edición, el archivo no está compartido con ningún usuario.
Este es el código que usé para el formulario en blanco:
---
Option Compare Database
Option Explicit
Const SW_HIDE = 0
Const SW_NORMAL = 1
Const SW_MINIMIZED = 2
Const SW_MAXIMIZED = 3
Private Declare Function ShowWindow Lib "user32" _
(ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Sub Form_Open(Cancel As Integer)
Call ShowWindow(hWndAccessApp, SW_HIDE)
'Cambiar nombre del form inicial
DoCmd.OpenForm "FormInicial", windowmode:=acDialog
End Sub
Private Sub Form_Unload(Cancel As Integer)
Dim lngRetCode As Long
lngRetCode = ShowWindow(hWndAccessApp, SW_MAXIMIZED)
End Sub
Tengo un respaldo de una base de datos en Access 2016 con formato .accdb, al abrirla se genera su archivo de bloqueo .laccdb y normalmente, como cualquier base de datos común, al cerrarla se elimina en automático ese archivo de bloqueo. Pero tuve un problema, le agregué la opción de que al abrirla se pueda navegar exclusivamente con los formularios, esto haciendo un formulario inicial en blanco y que de ahí se abra el formulario principal.
Ahora, al abrir la Base de Datos, se genera el .laccdb, dando a entender que se abrió la base, pero no se muestra en pantalla, ni en barra de tareas y tampoco se ve en el administrador de tareas ningún archivo de access abierto, tampoco se pueden eliminar al estar "abiertos", no sé en qué parte del código me equivoqué.
También, al ser un respaldo para edición, el archivo no está compartido con ningún usuario.
Este es el código que usé para el formulario en blanco:
---
Option Compare Database
Option Explicit
Const SW_HIDE = 0
Const SW_NORMAL = 1
Const SW_MINIMIZED = 2
Const SW_MAXIMIZED = 3
Private Declare Function ShowWindow Lib "user32" _
(ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Sub Form_Open(Cancel As Integer)
Call ShowWindow(hWndAccessApp, SW_HIDE)
'Cambiar nombre del form inicial
DoCmd.OpenForm "FormInicial", windowmode:=acDialog
End Sub
Private Sub Form_Unload(Cancel As Integer)
Dim lngRetCode As Long
lngRetCode = ShowWindow(hWndAccessApp, SW_MAXIMIZED)
End Sub
Adjuntos
Última edición: