锁定子表单中的各个行

Posted

技术标签:

【中文标题】锁定子表单中的各个行【英文标题】:Locking individual rows in a subform 【发布时间】:2014-12-22 13:44:14 【问题描述】:

我有一个表单正在读取具有一对多关系的数据。在表格中,我有 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。因此,我们将不胜感激任何帮助。

【问题讨论】:

How to lock specific rows in a subform when a form loads?的可能重复 这是不可能的。 如上所述,这是不可能的。您也许可以通过在 afterupdate 事件中从表单中删除记录来创建解决方法? 我只是将表格一分为二。一个可编辑,一个锁定。感谢您的帮助。 【参考方案1】:

你可以这样做:

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

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

【讨论】:

以上是关于锁定子表单中的各个行的主要内容,如果未能解决你的问题,请参考以下文章

如何将数据创建和更新为保存在各个行中的数组

将网格行中的数据加载到(弹出)表单中进行编辑

Laravel 5.2:RouteCollection.php 第 219 行中的 MethodNotAllowedHttpException - 更新表单

Livecycle:在重复的子表单中引用对象

MS Access 子表单数据条目在插入 SQL 时被锁定

NSFetchRequest 用于行中的子对象