Cree un ejecutable desde Visual Basic para abrir una MDB, y funciona bien.
El problema es que me gustaria que cuando abre Access no salga la ventana
Pequeña sino que la ventana de Access ocupe toda la pantalla. No se si se
puede hacer desde el formulario de Inicio o desde Visual Basic.
Gracias...
DoCmd.Maximize
"César Augusto Cardona" <CsarAugus...@discussions.microsoft.com>
escribió en el mensaje de
noticias:25CFE2D3-83CF-44C8...@microsoft.com...
Si funciona, para un formulario. La pregunta es para la Ventana de Access,
no para un formulario de Access la Ventana de Access es la Ventana Macro o
Mayor.
Saludos !!!
César Augusto Cardona
master...@gmail.com
Cali-Colombia
--
Un saludo,
Patxi Sanz
patxisanz[ARROBA]yahoo[PUNTO]es
http://es.geocities.com/patxisanz/index.html
Tudela (NA)
En realidad utilizo este codigo y no se como abrirlo por el Shell. Agradesco
toda la ayuda que me puedas dar.
Dim dbW As Object
Set dbW = GetObject("C:\2008.mdb")
dbW.UserControl = False
Set dbW = Nothing
Option Compare Database
Option Explicit
Private Const kAccessWindowClass As String = "OMain"
Private Const SW_HIDE As Long = 0
Private Const SW_SHOWNORMAL As Long = 1
Private Const SW_SHOWMINIMIZED As Long = 2
Private Const SW_SHOWMAXIMIZED As Long = 3
Private Const SW_SHOWDEFAULT As Long = 10
Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function ShowWindow Lib "User32" _
(ByVal hWnd As Long, _
ByVal nCmdShow As Long) As Long
'Private Declare Function apiSetFocus Lib "user32.dll" Alias "SetFocus" _
' (ByVal hWnd As Long) As Long
'---------------------------------------------------------------------------------------
' Function : BuscarVentanas
' Propósito : Busca una ventana de Access con el título indicado. Si la
encuentra, la
' maximiza. De lo contrario, ejecuta Access y abre la BD indicada.
' Parámetros:
' - TituloBD: Título que aparece en la ventana principal de Access.
También es la
' propiedad AppTitle de la base de datos.
' - QueBaseDatos: Nombre y ruta de la base de datos a abrir, si no se
encuentra ya
' abierta y encontrada.
'---------------------------------------------------------------------------------------
Function BuscarVentanas(TituloBD As String, QueBaseDatos As String)
Dim lngHwnd As Long
lngHwnd = FindWindow(kAccessWindowClass, TituloBD)
'Debug.Print lngHwnd
If lngHwnd = 0 Then
'Debug.Print "No se encontró"
Shell "msaccess.exe " & """" & QueBaseDatos & """", vbMaximizedFocus
Else
'Debug.Print "Sí se encontró"
ShowWindow lngHwnd, SW_SHOWNORMAL
ShowWindow lngHwnd, SW_SHOWMAXIMIZED
'apiSetFocus lngHwnd
End If
End Function
Disculpas por demorarme en contestar, es que he estado un poco ocupado en el
trabajo.
Copie el codigo en un Modulo, y declare la funcion como Publica. Desde el
formulario de inico trato de llamar la funcion pero siempre me sale error y
no entiendo por que razón.
Al Cargar el formulario escribi lo siguiente:
BuscarVentanas(SIA, C:\Archivos de programa\MG\SIA.mde)
SIA = Titulo de MDB (TituloBD)
C:\Archivos de programa\MG\SIA.mde = Ruta DB (QueBaseDatos)
La idea es colocarlo en una Archivo mde, para distribución. Gracias!!!
--
BuscarVentanas(SIA, C:\Archivos de programa\MG\SIA.mde)
Es lógico que de error:
1.- Elimina los paréntesis.
2.- Los argumentos son literales de texto: hay que entrecomillarlos.
BuscarVentanas "SIA", "C:\Archivos de programa\MG\SIA.mde"
Funciona Perfectamete, era lo que nesecitaba Patxi. Mil Gracias...
Una curiosidad...
Cuando quiero maximizar Access, simplemente pongo esto en el primer
formulario de la aplicación:
DoCmd.RunCommand acCmdAppMaximize
Entiendo que, para el caso, el resultado es el mismo, ¿no?
De todas formas me apunto el código por si algun dia lo necesito ;-)
--
Un saludo
Xavi
http://www.llodax.com
http://www.mvp-access.com/foro
"Patxi Sanz" <patxisanz[ARROBA]yahoo[PUNTO]es> escribió en el mensaje de
noticias:#TM$W2izIH...@TK2MSFTNGP03.phx.gbl...
Lo bueno es que como trasteas un poco, descubres otras cosas que se pueden
hacer con las API's, otras funciones de Access, y cómo modificar una ventana
de Access desde otra instancia de Access, sin usar automatización ;-)