对话框的记录被锁定

问题描述 投票:0回答:1

我有通过以下代码以对话框形式打开的形式(Arzyabi_Tamin_Konande_da):


Me.Form.Dirty = False
Dim ASK As Integer
Dim rs As DAO.Recordset
Set rs = Me.RecordsetClone
With rs
    .MoveFirst
    Do While Not rs.EOF
        .Edit
        If (!Tahvil_Tmp = True) * (!Az_Tankhah = False) Then
            If DLookup("[Saff_Arzyabi_2]", "Arzyabi_Tamin_Konande_sh", _
                "val([Cod_Tamin_Konande]) = '" & !Cod_Tamin_Konande & "'") = True Then
                DoCmd.OpenForm "Arzyabi_Tamin_Konande_da", acNormal, , "[Cod_Tamin_Konande]=" & !Cod_Tamin_Konande, , acdialog
            End If
        .Update
        .MoveNext
    Loop
end with

但是当表格打开时我无法更改记录,所有记录都被锁定 否则,如果我在 acWindowNormal 模式下打开表单,一切都是正确的

enter image description here

我尝试为我使用的循环创建另一个查询,但它不起作用。

vba ms-access ms-access-2016 recordset record-locking
1个回答
0
投票

但是为什么要在打开该表单的循环中使用编辑命令?

你有这个:

With rs
    .MoveFirst
    Do While Not rs.EOF
        .Edit       <------ WHY? This does nothing?????? explain!!!

        If (!Tahvil_Tmp = True) * (!Az_Tankhah = False) Then
            If DLookup("[Saff_Arzyabi_2]", "Arzyabi_Tamin_Konande_sh", _
                "val([Cod_Tamin_Konande]) = '" & !Cod_Tamin_Konande & "'") = True Then
                DoCmd.OpenForm "Arzyabi_Tamin_Konande_da", acNormal, , "[Cod_Tamin_Konande]=" & !Cod_Tamin_Konande, , acDialog
            End If
        .Update
        .MoveNext
    Loop
End With

那么,.Edit 命令的作用是什么?它真正做的就是最终锁定 reocrd,但那确实是零值,没有任何价值,而且你不做任何编辑???所以为什么?该 .edit 命令的原因是什么? (除了锁定记录!!!)。

删除那个编辑命令,你正在启动一些表单,那个表单应该能够做任何它喜欢做的事情!!!!

在黑暗中疯狂的猜测??

那个代码应该是这样的:

With rs
    .MoveFirst
    Do While Not rs.EOF
        If (!Tahvil_Tmp = True) * (!Az_Tankhah = False) Then
            If DLookup("[Saff_Arzyabi_2]", "Arzyabi_Tamin_Konande_sh", _
                "val([Cod_Tamin_Konande]) = '" & !Cod_Tamin_Konande & "'") = True Then
                DoCmd.OpenForm "Arzyabi_Tamin_Konande_da", acNormal, , "[Cod_Tamin_Konande]=" & !Cod_Tamin_Konande, , acDialog
            End If
        .MoveNext
    Loop
End With

me.Refresh   <---- show any update dated in our form after dialog
             prompts are done.
© www.soinside.com 2019 - 2024. All rights reserved.