Hola! Yo de vuelta, una pregunta le puse una macro para que el form se abra al abrir la aplicación, ¿la pregunta es como saco o escondo de forma fácil tanto la ventana principal de access como la otra para que se abra solo el form?, gracias.
1 respuesta
Respuesta de Neckkito Nck
1
1
Neckkito Nck, Access... ser o no ser. Esa es la cuestión
Una recomendación, más que nada para ganar tiempo: cuando hagas una consulta intenta ser lo más explícito y claro posible, porque si no no sé de qué me estás hablando. Es lo que me está pasando con tu consulta actual ;) Te comento las dudas que tengo: - ¿Qué quieres decir cuando dices "le puse una macro"? ¿A qué objeto le pusiste la macro? Porque lo lógico es irte a las opciones de Access para hacer eso que comentas - Cuando dices la ventana principal me imagino que te refieres a lo que se llama "Ventana Base Datos". Pero cuando dices "la otra" ahí sí que ya...¿? ¿? ¿? - Por lo que comentas parece que hablas de Access 2003. Pero, ¿qué versión de Access realmente tienes? ¿2003 ó 2007? A ver si me puedes contestar estas preguntillas que te hago y miro de darte una solución ;)
Ok, perdón por mi inexactitud, uso access 2003, las ventanas la verdad no se como se llaman una es la ventana digamos principal que se abre al abrir la aplicación y la otra es la ventana pequeña donde puedes seleccionar las tablas, maros, form etc. Lo de la macro es para que al dar doble click en la base se abra automáticamente el formulario que diseñe como principar para esto le pongo a esa macro el nombre autoexec. Con respecto a hacerlo de las opciones, lo máximo que he logrado es sacar las barras de herramientas y de más pero nunca pude hacer que solo se abra el formulario principal sin mostrar ninguna otra de las ventanas de access, como si fuera una aplicación independiente. Esto lo he visto hecho con muchas aplicaciones realizadas con access y vba. Gracias nuevamente.
Lo primero que tienes que hacer es quitar esa macro, para que no te entre en conflicto. Tienes que irte a: - Menú Herramientas - Inicio - En la opción "Mostrar formulario o página" seleccionas el formulario que se debe abrir al abrir la aplicación. - Añades, si quieres, el titulo de la aplicación y el icono. - Desmarcas la opción "Presentar la ventana de Base de Datos" - Si quieres bloquear o no el resto de opciones relacionadas con barras de menús (normales y contextuales) pues marcas o desmarcas los respectivos check. IMPORTANTE: según las opciones que configures "bloquearás" la BD. Si quieres acceder a ella como "administrador" (por llamarle algo) tendrás que abrirla manteniendo pulsada la tecla shift (mayúsculas). Ya me dirás ;)
Hola, negativo, esto ya lo había probado varias veces pero por más opciones que saque queda muy lejos de lo que pretendo. Yo tenia ub codigo wur mr habian pasado y era excelente, le dabas doble click a la aplicacion y lo unico que se veia abrir era el formulario que habia estipilado para que lo haga, parecia que era una aplicacion en vb no en acces. Gracias
OK. Creo que lo que tú quieres es una cosa un poco "rara" porque va en contra de la filosofía de Access (por decirlo de alguna manera), porque Access está pensado para ser una aplicación (ventana) que contiene otras ventanas. Te puedo dar una solución, pero deberás asumir que te vas a quedar sin barras de menús (normales y emergentes) y que todo lo deberás tener previsto para funcionar a través de las opciones que plasmes en el formulario. Además, la solución pasa por que todos los formularios sean emergentes y modales. También te advierto de que, al utilizar este sistema, habrá cosas que no te funcionarán (como por ejemplo ver un informe en vista previa), y otras que no se me ocurren. Dicho lo anterior te comento cómo debes hacerlo. 1.- En el menú herramientas->Inicio, seleccionas cuál va a ser el formulario de inicio. 2.- Pones ese formulario en vista diseño y sacas sus propiedades. Configuras las propiedades de manera que el formulario, al abrirse, tenga las características visuales que tú quieras. Lo que sí es importante, para que no se te bloquee el ordenador según qué acción realices, es que configures lo siguiente de esta manera: ... Cuadro de control: SÍ ... Botón cerrar: SÍ ... Emergente: SÍ --- Modal: SÍ (esto para todos los formularios que quieras abrir). ... Centrado: SÍ Piensa que ese formulario siempre deberá quedar en pantalla (aunque sea "detrás" de los posibles formularios que puedas abrir). 3.- Te vas a su pestaña de eventos y configuras los siguientes eventos: - Evento "Al cargar": le escribes el siguiente código: --- Private Sub Form_Load() fConfiguraVentanaAccess (0) End Sub --- - Evento "Al cerrar": le escribes el siguiente código: --- Private Sub Form_Close() Application.Quit End Sub ---- - Optativo: evento "Al abrir": le escribes el siguiente código (esto es por si quieres maximizar el formulario): --- Private Sub Form_Open(Cancel As Integer) DoCmd.Maximize End Sub ---- Ahora sólo nos queda definir la función fConfiguraVentanaAccess. Para ello, en el editor de VB, insertas un nuevo módulo. En él escribes el siguiente código: --- Global Const SW_HIDE = 0 Global Const SW_SHOWMINIMIZED = 2 Global Const SW_SHOWMAXIMIZED = 3 Private Declare Function apiShowWindow Lib "user32" _ Alias "ShowWindow" (ByVal hwnd As Long, _ ByVal nCmdShow As Long) As Long Function fConfiguraVentanaAccess(nCmdShow As Long) Dim loX As Long Dim loForm As Form loX = apiShowWindow(hWndAccessApp, nCmdShow) End Function --- Y eso es todo. Insisto en que el comportamiento de la base de datos no va a ser el "normal", y, lógicamente, si te surgen problemas, va a ser difícil darte una solución ;) Y si no es esto lo que quieres, pues ya me rindo... no sé más ;)