Hola de nuevo Oscar! Perdona que te vuelva a molestar, pero me gustaría que me dijeras otra cosa: ¿Se puede evitar que un usuario pulse la tecla de Mayúsculas al abrir el Access?. Es que tengo que intentar evitar que lo hagan para que la aplicación funcione correctamente. Muchísimas gracias y un saludo. Gema
Te adjunto la respuesta que di hace unos días a otro usuario que preguntaba lo que tu. Un saludo! Óscar L.M.V. -- Recomiendo copiar y pegar en wordpad -- O similar para ser más legible La propiedad PermitirIgnorarInicio (AllowBypassKey) se utiliza para especificar si la tecla MAYUS está activada para saltar las propiedades de inicio y la macro AutoExec. Por ejemplo, puede establecer la propiedad PermitirIgnorarInicio (AllowBypassKey) a False para evitar que un usuario se salte las propiedades de inicio y la macro AutoExec. Valores La propiedad PermitirIgnorarInicio (AllowBypassKey) utiliza los siguientes valores. Valores Descripción True (-1) Activa la tecla MAYÚS para permitir que el usuario se salte las propiedades de inicio o la macro AutoExec. False (0) Desactiva la tecla MAYÚS para permitir que el usuario se salte las propiedades de inicio o la macro AutoExec. Esta propiedad se puede establecer usando una macro o Visual Basic. Para establecer la propiedad PermitirIgnorarInicio (AllowBypassKey) usando una macro o Visual Basic, debe crear la propiedad mediante los siguientes métodos: En una base de datos de Microsoft Access (.MDB), puede agregarla mediante el método CreateProperty y anexarla a la colección Properties del objeto Database. En un proyecto de Microsoft Access (. ADP), puede agregarla a la colección AccessObjectProperties del objeto CurrentProject mediante el método Add. Comentarios Cuando depure una aplicación, debe asegurase de que la propiedad PermitirIgnorarInicio (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 de la aplicación. --------------------------------------- ------ EJEMPLO ---------------------- 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 ---------------------------------------