Cuando realizas una aplicación e introduces la ventana de inicio, para volver a entrar al diseño se realiza pulsando la tecla de mayúsculas. Mi pregunta es: ¿Cómo puedo desactivar esta tecla para que nadie pueda entrar a ver los datos? ¿Se realiza la desactivación igual para office 97 que para el office 2000? De todas formas, ¿qué otras posibilidades tengo para proteger estos datos, excluyendo la de introducir una clave para entrar a la aplicación?
Sí es posible desactivar la tecla de Shift (mayúsculas) cuando inicia tu aplicación de Access, de esa forma si alguien la mantiene presionada, ya no podrá entrar al diseño, PERO debes tener cuidado porque eso aplica para todos los usuarios (incluyéndote). Te sugiero que mientras estas desarrollando tu aplicación le pongas un botón para mostrar la ventana de la base de datos y regresar al diseño, y una vez terminada tu aplicación, se lo quitas antes de distribuirla a tus usuarios. La explicación de cómo se desactiva esa tecla viene dentro del mismo Access, solo busca el tema "AllowBypassKey" (sin las comillas :-) y ahí verás más detalles. De cualquier forma te copio aquí el ejemplo de Access: *** Ejemplo de la propiedad AllowBypassKey En el siguiente ejemplo se muestra un procedimiento llamado SetBypassProperty que pasa el nombre de la propiedad que se va a establecer, su tipo de datos y los valores que se deseen. El procedimiento de propósito general ChangeProperty intenta establecer la propiedad AllowBypassKey y, si no la encuentra, usa el método CreateProperty para anexarla a la colección Properties. Esto es necesario, ya que esta propiedad no aparece en la colección Properties hasta que se haya agregado. Sub SetBypassProperty() Const DB_Boolean As Long = 1 ChangeProperty "AllowBypassKey", DB_Boolean, False End Sub Function ChangeProperty(strPropName As String, varPropType As Variant, varPropValue As Variant) As Integer Dim dbs As Object, prp As Variant Const conPropNotFoundError = 3270 Set dbs = CurrentDb On Error GoTo Change_Err dbs.Properties(strPropName) = varPropValue ChangeProperty = True Change_Bye: Exit Function Change_Err: If Err = conPropNotFoundError Then ' No se encontró la propiedad. Set prp = dbs.CreateProperty(strPropName, _ varPropType, varPropValue) dbs.Properties.Append prp Resume Next Else ' Error desconocido. ChangeProperty = False Resume Change_Bye End If End Function *** Respecto a tu pregunta de si aplica igual a Access 97 y 2000, tengo entendido que sí, aunque sinceramente en Access 97 no lo he probado.