Access - Enrique; Funcion quita Shift

 
Vista:

Enrique; Funcion quita Shift

Publicado por elio (169 intervenciones) el 07/11/2007 19:30:28
Hola Enrique

he visto en el foro que has tocado ese tema, me puedes mandar a mi correo esa funcion, te lo agradeceria mucho, muchas gracias, por cierto porque no me deja crear un MDE.
tengo esto en mi base de datos
un modulo

Option Compare Database
Option Explicit
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 fSetAccessWindow(nCmdShow As Long)
Dim iox As Long
Dim ioForm As Form
iox = apiShowWindow(hWndAccessApp, nCmdShow)
End Function

y en el formulario Inicio

Private Sub Form_Open(Cancel As Integer)
fSetAccessWindow (2)
End Sub

todos los formulario emergentes, pudiera ser por este motivo??

un saludo.
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

RE:Enrique; Funcion quita Shift

Publicado por Enrique (1299 intervenciones) el 07/11/2007 21:41:11
Hola Elio:
Busca el mensaje en este Foro:
PROTECCION FICHEROS ACCESS del 26/10/2007
y ahí tienes la Función y la explicación de lo que hay que hacer, solo tienes que copiarla y pegarla dentro de un Módulo nuevo (el nombre del módulo es indiferente).

Si no te deja crear un MDE es porque tienes errores de código en alguna parte de la base de datos, para averiguar dónde está el error, entra en el Editor VBA de cualquier formulario o Módulo y selecciona el Menú "Depuración" y luego la opción "Compilar Nombre de tu base" y te marcará en amarillo la línea del error, copia esa línea y pégala aquí para ver si puedo darte una solución.

Un saludo
Enrique
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

RE:Enrique; Funcion quita Shift

Publicado por elio (169 intervenciones) el 07/11/2007 21:56:32
Enrique muchas gracias, que seria de los novatos sin UDs, encontre el error del codigo, habia quitado un combox de un formulario, y se me habia olvidado quitar una sentencia de codigo que hacia referencia a ese combox, aun no he hecho el MDE, lo hare despues quiero ver primero la funcion, ya te contare, un millon de gracias, 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

RE:Enrique; Funcion quita Shift

Publicado por Enrique (1299 intervenciones) el 07/11/2007 22:15:29
Gracias de nada, Elio, para eso estamos, si no te funciona lo dices y tratamos de darle solución.

Supongo que sabes que cuando incorpores la función debes llamarla desde el Form de Inicio en el Evento Form_Load con Call ap_disableshift y se activará cuando cierres la mdb y vuelvas a abrirla y que además esa función necesita tener marcada la librería de DAO: Microsot DAO 3.6 Object Library en la Ventana "!Referencias".

Un saludo
Enrique
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

RE:Enrique; Funcion quita Shift

Publicado por elio (169 intervenciones) el 07/11/2007 22:33:19
si Enrique ya vi la funcion y la estoy estudiando, y lo que me preocupa es las DOS NOTAS MUY IMPORTANTES, principalmente la ultima, y mi pregunta es si una vez haga esto, es muy dificil volver a entrar a la BBDD, y me parece muy bien que no expliques en el foro como vulneral esa funcion, si deseo hacer algun arreglo de la BBDD o agregar algo, en fin agregar un nuevo diseño lo puedo hacer o no?? y como seria??
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

RE:Enrique; Funcion quita Shift

Publicado por Enrique (1299 intervenciones) el 07/11/2007 23:08:36
Muy sencillo Elio, cuando tengas la base de datos con la función incorporada, ANTES de cerrarla, te vas al formulario de Inicio y en el Form_Load pones una comilla simple antes de Call..... para que no se active la función al abrir la mdb, ejemplo:

Private Sub Form_Load()
' Call ap_disableShift
End Sub

Para mayor seguridad a un posible despiste, ponle directamente la comilla antes del Call ...... y quítasela solo a la copia, cuando ya tengas guardada a buen recaudo la base original.

Después cierras y guardas esa mdb "como si fuera de oro" y esta es la mdb de la que siempre debes partir para hacer modificaciones. Luego le haces una copia y a esta copia le quitas la comilla antes de Call y la utilizas para su distribución o instalación, ya protegida, en los Pc's de los usuarios.

Más claro no te lo puedo decir.

Enrique
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

RE:Enrique; Funcion quita Shift

Publicado por elio (169 intervenciones) el 08/11/2007 12:04:52
Hola Enrique

Hice lo que me has dicho o al menos eso creo, y no me funciona la funcion manteniendo el shift apretado y marcado la BBDD con doble click o enter entro al diseño, puse la funcion en un modulo, y en inicio desmarque todas las casillas, nose que pude haber hecho mal, que crees??. un saludo.
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

RE:Enrique; Funcion quita Shift

Publicado por Enrique (1299 intervenciones) el 08/11/2007 18:33:00
Hola Elio:
Es muy raro que no te funcione, evidentemente algo te falta o algo haces mal, necesitas:

1-La Función en un Módulo
2-Marcada la Referencia: Microsoft DAO 3.6 Object Library
3-Un Formulario de Inicio y llamar a la Función desde su Evento Form_Load con Call ap_DisableShift

Luego cerrar la base y volver a abrirla al menos una vez SIN PULSAR LA TECLA SHIFT o Compactar la Base de Datos para que se active la Función. Ten en cuenta que si inmediatamente después de incorporar la Función entras siempre manteniendo pulsada la tecla Shift, NUNCA se llegará a activar dicha función, porque te estás saltando el inicio que es donde se activa, ¿ me explico ?

Prueba ahora a ver.

Saludos
Enrique
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

RE:Enrique; Funcion quita Shift

Publicado por elio (169 intervenciones) el 08/11/2007 18:58:05
Hola Enrique

Abria la BBDD clicando directamente en ella, y en inicio habia puesto que se ejecutara el formulario Inicio, y cada vez que clicaba pues no se me ejecutaba la funcion, nose si tendra eso algo que ver, en fin entre al diseño de la base de datos y abri directamente el formulario Inicio y me salto este error en el modulo, en la linea de comando que tiene un asterisco delante.

Error 13 no coinciden los tipos

Function ap_DisableShift()
On Error GoTo errDisableShift
Dim db As DAO.Database, prop As Property
Const conPropNotFound = 3270
Set db = CurrentDb()
db.Properties("AllowByPasskey") = False
Exit Function
errDisableShift:
If Err = conPropNotFound Then
* Set prop = db.CreateProperty("AllowByPassKey", dbBoolean, False)
db.Properties.Append prop
Resume Next
Else
MsgBox Err.Number & "/" & Err.Description, vbInformation + vbOKOnly, "Aviso"
Exit Function
End If
End Function

nose si tendra algo que ver pero cuando declaro la variable prop me salen mas de un Property ( 2 en total )
si tengo marcada la referencia a la biblioteca DAO.
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

RE:Enrique; Funcion quita Shift

Publicado por elio (169 intervenciones) el 08/11/2007 19:09:12
se me olvido comentarte que cuando da el error en el depurador busco el valor que ha tomado todas las variables a ver cual es el problema y en la linea de comando db.Properties("AllowByPassKey")=False me dice que no se encontro la propiedad, y tengo marcada la Biblioteca DAO
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

RE:Enrique; Funcion quita Shift

Publicado por Enrique (1299 intervenciones) el 08/11/2007 19:29:52
Creo que lo que te está pasando es que además de la librería de DAO tambien tienes marcada la de ADO: Microsoft ActiveX Data Objects 2.X Library y esta última la tienes más arriba de la de DAO en la Ventana de Referencias. Con db no hay problemas porque la tenemos definida con "As DAO.Database" pero como Property no tiene antes el DAO, Access trata de tomarlo de ADO y se produce el conflicto de librerías con el consiguiente error.

Hay dos soluciones, o bien entras en la Ventana de Referencias y subes la Referencia de DAO por encima de la otra o más fácil todavía, le antepones tambien a Property el DAO, así:

Dim db As DAO.Database, prop As DAO.Property

Es casi seguro que será eso.

Enrique
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

AHORA SI, ENRIQUE

Publicado por elio (169 intervenciones) el 08/11/2007 20:10:01
UN MILLON DE GRACIAS, Y DISCULPA HABERTE MOLESTADO TANTO, UN FUERTE ABRAZO.
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

RE:AHORA SI, ENRIQUE

Publicado por Enrique (1299 intervenciones) el 08/11/2007 22:34:35
Hola Elio:
En mi tierra, cuando después de darle muchas vueltas a un tema sin verle la solución y por fin se consigue solucionar, se suele decir, o más bien gritar :

¡¡¡¡ QUE REPIQUEN LAS CAMPANAS !!!!

Enhora buena Elio.

Saludos
Enrique
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

QUE REPIQUEN PUES, JEJEJE

Publicado por elio (169 intervenciones) el 08/11/2007 22:43:36
UN MILLON DE 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

RE:Enrique; Funcion quita Shift

Publicado por Adriana R (8 intervenciones) el 21/05/2008 16:53:24
HOLA ENRIQUE

Cree una base de datos para utilizar en mi oficina pero no me gustaría que se pudiera accesar a las tablas, formularios, consultas, etc.

Veo que tienes una función (o algo así) para quitar la opcion shift pero como no soy programador no se como poder incorporarla a la bd.

Ya lei la conversacion con Elio y la verdad no me queda muy claro

Como abro un modulo y hago todo lo demas....

P.D. Toma en cuenta que no soy programador solo usuaria de access. Ten mucha paciencia
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

RE:Enrique; Funcion quita Shift

Publicado por Adriana R (8 intervenciones) el 21/05/2008 18:03:06
hola...

Ya cree un modulo X que incluye la función Desactivar Shift, pero al querer marcar en el menu de Herramientas la Referencia de DAO: Microsoft DAO 3.6 Object Library, resulta que no tengo esa librerria...DE DONDE LA SACO Y COMO LA INSTALO???

GRACIAS... como te dije... paciencia

P.D. Llame la función en el formulario de inicio y claro no paso nada... pero al volver abrir la BD no puedo visualizar el formulario ni se abre al abrir la bd.
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

Enrique; Funcion quita Shift

Publicado por Adriana R (8 intervenciones) el 22/05/2008 00:31:57
HOLAAAA..... ya pude correr la funcion, la cuestion ahora es que pude burlarla facilmente y si yo pude cualquiera puede hacerlo.... podrias responderme a mi mail para no escribir aqui como lo hice... y quizas tengas otra opcion para proteger la infromacion.

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