Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 锁定子窗体中的单个行_Vb.net_Ms Access_Vba_Ms Access 2010 - Fatal编程技术网

Vb.net 锁定子窗体中的单个行

Vb.net 锁定子窗体中的单个行,vb.net,ms-access,vba,ms-access-2010,Vb.net,Ms Access,Vba,Ms Access 2010,我有一个表单正在读取具有一对多关系的数据。在表单中,我有5列。每个字段最初都是可操作的。但我希望在填写第4列和第5列中的数据后锁定各个行。有效地完成记录。我已经能够弄清楚如何关闭整个表单,但不能关闭单个行/记录 这是我正在使用的代码 If IsNullorEmpty(GPInterfaceID) Then Me.ChargeType.Locked = True Else Me.ChargeType.Locked = False End If If IsNullorEmpty(GPPostingD

我有一个表单正在读取具有一对多关系的数据。在表单中,我有5列。每个字段最初都是可操作的。但我希望在填写第4列和第5列中的数据后锁定各个行。有效地完成记录。我已经能够弄清楚如何关闭整个表单,但不能关闭单个行/记录

这是我正在使用的代码

If IsNullorEmpty(GPInterfaceID) Then
Me.ChargeType.Locked = True
Else
Me.ChargeType.Locked = False
End If
If IsNullorEmpty(GPPostingDate) Then
Me.ChargeType.Locked = True
Else
Me.ChargeType.Locked = False
End If
这是我尝试单独锁定各个列的代码版本。我也试着一次锁定所有的锁


我的VB一点也不流利。因此,任何援助都将不胜感激

您可以这样做:

Private Sub Form_Current()
    If IsNullorEmpty(GPInterfaceID) Then
        Me.ChargeType.Locked = True
    End If
End Sub

每次选择一行时都将触发该事件。如果所选行中GPInterfaceID为空,则Access将锁定ChargeType字段。此时Access将在每一行中锁定该字段,但这并不重要,因为在您单击另一行时Access将再次触发Form_Current()事件,并将锁定或解锁该字段。

不可能重复此操作。如上所述,这是不可能的。您可以通过在afterupdate事件中删除表单中的记录来创建一个变通方法?我只是将表单拆分为两部分。一个可编辑,一个锁定。谢谢你的帮助。