¿Cómo inhabilitar la tecla shift?

Deseo inhabilitar la tecla SHIFT, para que no se vea elcodigo, He intentado crear un archivo. MDE pero cuando trato de generarlo me sale el error "No se puede crear archivo MDE".
Por otro lado em conseguí un rutina, para establecer las propiedades de inicio pero me saca el error "no coinciden los tipos" :
Sub EstablecerPropiedadesDeInicio()
CambiarPropiedad "AllowBypassKey", dbBoolean, False
End Sub
Function CambiarPropiedad(strPropName As Variant, varPropType As Variant, varPropValue As Variant) As Integer
Dim dbs As Database, prp As Property
Const conPropNotFoundError = 3270
Set dbs = CurrentDb
On Error GoTo Change_Err
dbs.Properties(strPropName) = varPropValue
CambiarPropiedad = False
Change_Bye:
Exit Function
Change_Err:
If Err = conPropNotFoundError Then ' Propiedad no encontrada.
'PERO EN ESTA LINEA AL HACER LA COMPARACION ME SACA ERROR...
Set prp = dbs.CreateProperty(strPropName, _
varPropType, varPropValue)
dbs.Properties.Append prp
Resume Next
Else
' Error desconocido.
CambiarPropiedad = True
Resume Change_Bye
End If
End Function
Que debo hacer... Necesito con urgencia crear un archivo que no puedan modificar...

2 respuestas

Respuesta
1
Si te paso un programa que quita el shitf en que access estas trabajando en 97, 2000 o xp
Y si te interesa tengo el código para conversión de num a letras para facturas ejemplo:
1250.25
(** UN MIL DOCIENTOS CINCUENTA PESOS 25/100 M.N. ** )
TENGO UN AÑO USÁNDOLO Y NO ME PARECEN EHRRORES
PÁSAME TU EMAIL PARA PASARTE EL PROGRAMA QUE QUIERES MI IMAEL ES [email protected]
El código para quitar el shif
Para utilizar dicha propiedad tienes primero que crearla luego se compone de creo que dos funciones, en la ayuda de access esta todo el proceso, si no lo encontrás avisame que te lo busco o incluso tengo ejemplos, es una utilidad que uso con mucha frecuencia y funciona a la perfección.
Callow
***********
**************
PARA MANEJAR LAS PROPIEDADES DE LA BD YO USO ESTO:
COPIA ESTO EN UN MODULO:
Function Cambio_Propiedad(Nom_Prop As String, Tipo_Prop As Variant, Valor_Prop As Variant) As Integer
Dim BasDat As Database
Dim Propied As Property
On Error GoTo Cambio_Propiedad_Err
Const ErrorNoEncontroProp = 3270
Set BasDat = CurrentDb
BasDat.Properties(Nom_Prop) = Valor_Prop
Cambio_Propiedad = True
BasDat.Close
Cambio_Propiedad_Chao:
Exit Function
Cambio_Propiedad_Err:
If Err = ErrorNoEncontroProp Then ' Propiedad no encontrada.
Set Propied = BasDat.CreateProperty(Nom_Prop, Tipo_Prop, Valor_Prop)
BasDat.Properties.Append Propied
Resume Next
Else ' Error desconocido.
Cambio_Propiedad = False
BasDat.Close
Resume Cambio_Propiedad_Chao
End If
End Function
LUEGO EN EL EVENTO AL CARGAR EN TU FORM PRINCIPAL COPIA ESTO:
'Función - Nombre Prop - Tipo Prop - Valor Prop
Cambio_Propiedad "AppTitle", dbText, "Titulo de tu Aplicación"
Application.RefreshTitleBar
Cambio_Propiedad "AppIcon", dbText, "Tu_Archivo.ICO"
Application.RefreshTitleBar
Cambio_Propiedad "StartupForm", dbText, "Tu_Formulario_De_INICIO"
Cambio_Propiedad "StartupShowDBWindow", dbBoolean, False
Cambio_Propiedad "StartupShowStatusBar", dbBoolean, False
Cambio_Propiedad "AllowBuiltinToolbars", dbBoolean, True
Cambio_Propiedad "AllowFullMenus", dbBoolean, True
Cambio_Propiedad "AllowBreakIntoCode", dbBoolean, False
Cambio_Propiedad "AllowSpecialKeys", dbBoolean, False
Cambio_Propiedad "AllowBypassKey", dbBoolean, False
*********************
¿Después de cambiar la propiedad como la vuelvo a activar si no me deja entrar a la vista de diseño?
Por lo que sé, no puedes, hay que tener mucho cuidado, que has de estar muy seguro de que el problema este finalizado y guardarte una copia del fichero mdb sin haber cambiado esa propiedad (realizando los cambios sobre este fichero).
Respuesta
1
Inhabilitar la pulsación de la tecla MAYÚSCULAS para evitar la edición de bases de datos,
A partir de la versión 7.0 se puede inhabilitar el uso de dicha tecla estableciendo una nueva propiedad llamada AllowBypassKey, la cual debe ser añadida a la base de datos y asignarla el valor True (Verdadero) o False (Falso). Cuando es False, la tecla MAYÚSCULAS queda inhabilitada, y cuando es True, queda habilitada. Esta propiedad se puede establecer usando una macro o Visual Basic.
Para establecer la propiedad AllowBypassKey usando una macro o Visual Basic, se debe hacer usando el método CreateProperty y anexarla a la colección Properties del objeto Database.
Cuando se depure una aplicación, hay que asegurarse de que la propiedad AllowBypassKey está establecida a True.
Los valores de esta propiedad no son efectivos hasta la próxima vez que se abre la base de datos.
Ejemplo:
Sub SetBypass(rbFlag As Boolean)
On Error GoTo SetBypass_Error
Dim db As DATABASE
Set db = CurrentDb
db.Properties!AllowBypassKey = rbFlag
SetByPass_Exit:
Exit Sub
SetBypass_Error:
If Err = 3270 Then 'La propiedad AllowBypassKey no existe
db.Properties.Append db.CreateProperty("AllowBypassKey", dbBoolean, rbFlag)
Resume Next
Else
'Algún otro error
MsgBox "Error inesperado: " & Error$ & " (" & Err & ")"
Resume SetByPass_Exit
End If
End Sub
Este procedimiento tiene un argumento booleano. Se establece la propiedad AllowBypassKey igual al argumento rbFlag. Si la propiedad no existe, se implementa el error 3270, de forma que el procedimiento cree y añada la propiedad a la colección de propiedades de la base de datos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas