2009-05-28 5 views
2

У меня вопрос о флажках в acess 2003Как защитить паролем флажок?

У меня есть 4 флажка в моей форме и в одном из этих полей, я хочу ограничить, так что только пользователи, оснащенные правильным паролем, например (report1), могут это проверить. У меня есть небольшое текстовое поле в стороне от флажка с надписью менеджера.

Я не уверен, как установить эту проверку при доступе. Я щелкнул правой кнопкой мыши на флажке, перешел к свойствам и увидел правило проверки, но не уверен, куда идти оттуда. У меня есть представление о том, что мой VB код будет, если это применимо, и я в том числе, если это помогает

фрагмент кода Если txtpassword.text = «Report1» тогда closedsftleader.yes = истина еще msgbox.show " Управление пароли неверны, пожалуйста, попробуйте еще раз»

END IF

даже не уверен, что этот код будет работать, но его идея. Пожалуйста, помогите, когда сможете. Спасибо.

+1

. Свойство .Text контроля доступа доступно только тогда, когда элемент управления имеет фокус. Это то, как вы знаете в коде, что было введено в элементе управления, в отличие от того, что было подтверждено базовым связанным полем. Обычно он не используется, кроме как в очень редких случаях, например, в событии OnChange управления. –

ответ

2

Рассматривали ли вы блокировку или отключение этого конкретного флажка? Например:

Private Sub Form_Current() 
    Me.closedsftleader.Enabled = (Me.txtpassword = "Report1") 
End Sub 

Private Sub txtpassword_AfterUpdate() 
    Me.closedsftleader.Enabled = (Me.txtpassword = "Report1") 
End Sub 

Отключение, как это просто для вашего пользователя, чтобы понять, а что флажок, что кажется невозможным нажать, кроме того, это будет достаточно легко изменить, чтобы обратиться к глобальной переменной или имени пользователя ,

Обычно я устанавливаю свойства тегов для элементов управления, что позволяет мне скрыть или включить элементы управления партиями в соответствии с пользователем и/или паролем.

+0

мой код был очень похож на этот и почти что я закончил делать. Отрывок ниже Если Me.txtpassword.Значение = "Report1" Тогда Me.closedcftLeader.Locked = False Else MsgBox ("Пожалуйста, введите правильный пароль") Me.txtpassword.SetFocus Me.closedcftLeader.Locked = True End If End Sub – TT1611

1

Вы хотите добавить событие в текстовое поле (я считаю, что это «измененное» событие), а затем включить/отключить текстовое поле на основе содержимого текстового поля.

В качестве побочного примечания это нечетная конструкция для защиты содержимого формы. Вы можете захотеть заставить пользователей войти в ваше приложение Access.

+0

Спасибо за информацию Brien. Я понимаю природу этого очень странного дизайна, но это первая база данных отдела, в которой я работаю, и многие вещи для меня совершенно новые. После этого пользовательские логины будут включены в базу данных с течением времени. Опять же. Забаю ты – TT1611

+0

Я бы сказал, что вы бы использовали событие AfterUpdate. Если флажок включен, событие OnChange будет запускаться только один раз, это не очень хорошее событие для использования для любых других элементов управления, потому что для текстового поля он, например, запускается для каждого символа. То, что нет никакой разницы для флажка, не является достаточной основанием для использования OnChange вместо AfterUpdate. –

1

Вы можете обработать событие OnClick этого флажка и не разрешать изменение, если текстовое поле не имеет правильного пароля.

+0

Опять же, OnClick - неправильное событие. Вы не заботитесь о клике, вы заботитесь об обновлении элемента управления. Таким образом, AfterUpdate является правильным событием. OnClick полезен, когда вы хотите проверить, есть ли щелчок правой кнопкой мыши, щелчок по смену, ctrl-click и т. Д., Чтобы вы могли делать разные вещи в зависимости от типа нажатия. –

Смежные вопросы