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.

    Source: geocities.com/es/ensolva/Descargas/Documentos

               ( geocities.com/es/ensolva/Descargas)                   ( geocities.com/es/ensolva)                   ( geocities.com/es)