2016-06-16 57 views
1

我有一个用于输入数据到数据库中五种形式。锁定/解锁一切形式

我想知道我是否可以锁定和解锁各种形式的一个按钮,点击或PIN码/密码。用户可以访问所有表单并向他们添加数据,但我希望有某种形式的安全性。

在一个新形式,一个用户名和密码将用于解锁所有形式,使用户可以向其中输入数据。反之,一个按钮应该注销用户锁定所有形式,防止他们将数据输入形式。

的形式如下 会有一个在底部的按钮会关闭并锁定所有形式

我使用Access 2016

这可能吗?如果是这样,怎么样?

+1

你是什么意思的锁定/解锁?用户无法打开?用户无法添加数据?窗体在导航窗格中不可用?有几种方法可以做到这一点,但依赖于你想要完成的任务。另外请添加您使用的Access版本。 – MoondogsMaDawg

+0

对不起,我编辑了我想做的事情。具有登录ID和密码的新表单应解锁所有表单并允许用户输入数据。反之亦然,一个按钮应该锁定所有表格并禁止用户查看和输入数据到表格 – FutureProgrammer

回答

1

防止编辑最简单的方法是通过设置RecordsetType到2(快照)。

这应该给你一个想法,它锁定/解锁所有打开的形式:

Public Sub LockAllOpenForms(doLock As Boolean) 

    Dim F As Form 

    For Each F In Forms 
     ' 2 = Snapshot = locked, 0 = Dynaset = editable 
     F.RecordsetType = IIf(doLock, 2, 0) 
    Next F 

End Sub 

要影响未来的形式,就需要如公共变量glbLocked输入您的密码形式设置,然后在每个数据输入表单:

Private Sub Form_Open(Cancel As Integer) 

    If glbLocked Then Me.RecordsetType = 2 

End Sub 
+0

是的,但我想要锁定*所有*表格使用*一个*引脚/密码。 – FutureProgrammer

+1

是的,当然,你将不得不创建一个密码输入窗体,它调用上面的子窗体。并参阅编辑。 – Andre

1

据我了解,你需要禁用窗体和窗体改变。 您可以使用窗体的属性.AllowEdits=False.AllowDeletions=False.AllowAdditions = False。如果您更改这些属性,子窗体也将被锁定

解锁只需使用True作为这些属性的值。当用户点击解锁按钮时,程序应询问PIN码。如果输入正确的PIN码,请将.Allow *属性更改为True。

+0

这将不允许用户通过输入密码或密码来解锁所有表单。谢谢你。 – FutureProgrammer

+0

请参阅答案中的修改 –