Access - Ocultar zona de trabajo de Access en windous 64bits

 
Vista:
Imágen de perfil de arrobangel
Val: 121
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Ocultar zona de trabajo de Access en windous 64bits

Publicado por arrobangel (61 intervenciones) el 17/07/2018 05:16:16
Hola a tod@s
Me encuentro realizando una base de datos en Access a la cual le quiero esconder toda el área de tareas de access para que solo se mueva con los formularios. Y para lo cual he conseguido el siguiente codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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)
DoCmd.OpenForm "CAMBIAR NOMBRE", windowmode:=acDialog
End Sub
Private Sub Form_Unload(Cancel As Integer)
Dim lngRetCode As Long
lngRetCode = ShowWindow(hWndAccessApp, SW_MAXIMIZED)

El cual he pegado en mi base de datos en un formulario en blanco el cual se abre al iniciar la base y que cuenta con el código dentro del evento al abrir.
pero a pesar de eso no me ha funcionado pues me devuelve este mensaje:

Imagen1

Alguien por favor me podría ayudar a componer el código para que sea operable en windous con arquitectura de 64 bits.

Espero me puedan ayudar y de ante mano gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 78
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Ocultar zona de trabajo de Access en windous 64bits

Publicado por Antoni Masana (32 intervenciones) el 17/07/2018 08:40:22
Has copiado mal el código

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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)
    DoCmd.OpenForm "CAMBIAR NOMBRE", windowmode:=acDialog
End Sub
 
Private Sub Form_Unload(Cancel As Integer)
    Dim lngRetCode As Long
    lngRetCode = ShowWindow(hWndAccessApp, SW_MAXIMIZED)
...

Las 6 primeras líneas de código que pongo en mi ejemplo son declaraciones para el compilador y están fuera de los eventos (Sub) y no dentro como en tu código (imagen) por esto da error al ejecutar.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Norberto
Val: 1.094
Oro
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Ocultar zona de trabajo de Access en windous 64bits

Publicado por Norberto (753 intervenciones) el 17/07/2018 11:35:24
Hola.

¿Esas 6 líneas primeras no deberían de estar en un módulo aparte y no en el del propio formulario?

Un saludo,

Norberto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de arrobangel
Val: 121
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Ocultar zona de trabajo de Access en windous 64bits

Publicado por arrobangel (61 intervenciones) el 18/07/2018 01:41:47
Hola Antoni
Primero que nada gracias por tu ayuda.

He copiado tal cual el código, pero me devuelve el mismo cuadro de dialogo

Imagen1

Y también intente separar la linea 6 (de esta manera)
1
2
Private Declare Function ShowWindow Lib "user32"
(ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
pero resulto en lo mismo.

Entenderás porque ha sido?, y por favor si puedes darme una respuesta.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 78
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Ocultar zona de trabajo de Access en windous 64bits

Publicado por Antoni Masana (32 intervenciones) el 18/07/2018 08:56:32
Perdón mea culpa.

No me fije en el detalle de la declaración.

No es correcta la sintaxis Private Declare Function .

Lo correcto es Declare Function

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Option Explicit
Const SW_HIDE = 0
Const SW_NORMAL = 1
Const SW_MINIMIZED = 2
Const SW_MAXIMIZED = 3
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)
    DoCmd.OpenForm "CAMBIAR NOMBRE", windowmode:=acDialog
End Sub
 
Private Sub Form_Unload(Cancel As Integer)
    Dim lngRetCode As Long
    lngRetCode = ShowWindow(hWndAccessApp, SW_MAXIMIZED)
...

Ahora si debería funcionar.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de arrobangel
Val: 121
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Ocultar zona de trabajo de Access en windous 64bits

Publicado por arrobangel (61 intervenciones) el 19/07/2018 01:43:54
Lo he copiado y ahora me devuelve este mensaje:

Imagen1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ocultar zona de trabajo de Access en windous 64bits

Publicado por Anonimo (3316 intervenciones) el 18/07/2018 10:43:09
Como simple aclaración y a titulo de curiosidad:

El sistema operativo es de 64 Bit o la versión de Access es de 64 Bit ?

Por el mensaje, parece que (independiente de la versión del sistema operativo) la versión de Access parece ser de 64 Bit y ello le impide trabajar (sin una adaptación adecuada) con códigos diseñados para la versión de 32 Bit (que es la recomendada por Microsoft).

En cualquier caso, esa declaración NO SE DEBE de poner dentro de el código de un formulario, se tiene que crear (si o si) en un modulo independiente, con el fin de que este disponible 'para toda la aplicación' ya que si se pone dentro de un formulario, solo estaría disponible en momentos puntuales.

Aclarando:
La declaración ==> en un modulo INDEPENDIENTE
Su utilización ==> allá donde se desee o 'necesite' utilizar

Consejo:
Hay mucha literatura (en este foro y en miles de foros mas) detallando los inconvenientes y sus posibles soluciones, un poco de información sobre sus 'efectos colaterales' evitaría grandes dolores de cabezas (y tiempo perdido con preguntas y respuestas ya publicadas).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ocultar zona de trabajo de Access en windous 64bits

Publicado por llulius (18 intervenciones) el 23/07/2018 10:31:30
tu tienes una version de 64bits . Como te dice el mensaje en rojo
tienes que intercalar ptrSafe entre Declare ------------------ Function y eso en todas las lineas que te salgan en rojo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de arrobangel
Val: 121
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Ocultar zona de trabajo de Access en windous 64bits

Publicado por arrobangel (61 intervenciones) el 24/07/2018 03:45:56
Pues ya lo he colocado y me sale otro error
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ocultar zona de trabajo de Access en windous 64bits

Publicado por Anonimo (3316 intervenciones) el 24/07/2018 08:46:43
Si deseas o 'necesitas' esconder Access (sea por vergüenza o por que 'es mas bonito') y no tener problemas:

Utiliza la versión adecuada de Access (la de 32 Bit)
y deja la de 64 para cuando madure un poco mas o cuando se diseñe algo para ella, esa funcionalidad que se esconde (la ventana base de Access) no es un capricho estético, es un entorno y los entornos de 32 y 64 bit …. son tan parejos como la gasolina y el gasóleo (y ambos son combustible, pero para diferentes tipo de motor).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de arrobangel
Val: 121
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Ocultar zona de trabajo de Access en windous 64bits

Publicado por arrobangel (61 intervenciones) el 25/07/2018 01:14:12
ok muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar