Si no os importa os comento a ver si me podeis ayudar. Mirar tengo varias aplicaciones hechas en access , cada una tiene una vida propia ,y ahora loque queria es tener un panel de control que me pudiera abrir todas las aplicaciones y cuando cierro la aplicacion que estoy ejecutando entonces se volviera a abrir el panel de control. Segun me han comentado en algun foro, me dicen que lo que tendria que hacer es un programita en visual basic, pero lo que no se es como , y no se si en acces se podria hacer. RESPONDE BHUO ============= 'Codigo del proyecto de Visual Basic 'Consta de un Modulo Bas y de un Formulario que actuara como Menu '*************************************************** 'Esto en un Modulo de tu proyecto de Visual Basic Option EXPLICIT Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Private Const SW_SHOW = 1 Function LanzaMDB(FrmVentaActiva As Form, RutaCompletaMDB As String) On Error GoTo EtiquetaError ShellExecute FrmVentaActiva.hwnd, "open", RutaCompletaMDB, "", "", SW_SHOW END Exit_de_esta_Funcion: Exit Function EtiquetaError: MsgBox "Funcion Lanzadora de Aplicaciones :" & Err.Description, vbCritical + vbOKOnly, "Mensaje de posible Error" Resume Exit_de_esta_Funcion End Function 'Esto es el fin del Modulo Bas del proyecto de VB 'Esto en el Frm del proyecto de VB que actue de 'Menu' 'Creas un Boton de comando y creas una matriz de controles de ese botón: Private Sub CmdLanzaAplicacionMdb_Click(Index As Integer) Dim Ruta As String Select Case Index Case 0 Ruta="C:\Carpeta\Unabase.Mdb" Case 1 Ruta="C:\OtraCarpeta\OtraBase.Mdb" 'etc con el ersto de los botones End Select Call LanzaMDB(Me, Ruta) End Sub Esto anterior sería tu proyecto de Menu de Visual Basic Un usuario picaría sobre uno de los X Botones de Comando, se desencadenaria la funcion de apertura de la X Mdb que quieras y se cerraría el MENU.EXE Bien...ahora viene el problema real de todo esto. Una vez abierta la MDB que hayas escogido, el usuario actua con ella etc etc...y la cierra Pero...¿DOnde la cierra? Si la cierra directamente en el 'aspa' de Access....¿Como lanzamos de nuevo el ejecutable de Visual Basic que está actuando de Menú? ¿Como recogemos este 'evento' de cerrar la MDB y por lo tanto abrir de nuevo el menu EXE de Visual Basic? Bueno, hay una solución, que puede servir: En todas las MDB's que abras, crea un Formulario, que nada mas abrir la MDB se oculte se minimice.Un formulario que no tendrá nada...simplemente un codigo En este formulario 'oculto' en el evento UnLoad, mete el codigo para abrir el ejecutable Hazlo tambien con Shell. En este caso algo parecido a Dim Nada Nada=Shell("C:\RutaejecutableVisual\menu.exe",1) Así, cierres access desde donde quieras, al descargarse este formulario, se volvería a cargar el menu. Te aseguro que puede funcionar. Esto lo he escrito sobre la marcha. Seguro que habrá ideas mejores. Si tienes alguna duda, a tu disposición.