【发布时间】:2016-02-03 15:34:08
【问题描述】:
我在调整这段代码以循环访问我的子表单中的记录时遇到问题。当子表单加载时,它会遍历当前过滤的记录,根据其在另一个表 (tDPARSHEET) 中的相应状态调整字段 6。但是,当我从主窗体上的刷新按钮调用它时,我无法让它工作
With Me.RecordsetClone
If Not (.BOF And .EOF) Then
.MoveFirst
While Not .EOF
Debug.Print .Fields(6).Name, .Fields(6).Value
If .Fields(6).Value <> DLookup("OverallStatus", "tDPARSHEET", "[LocalPartNumber]='" & .Fields(3).Value & "' AND [LocalRevision]='" & .Fields(4).Value & "'") Then
'Debug.Print "No Match"
.Edit
.Fields(6).Value = DLookup("OverallStatus", "tDPARSHEET", "[LocalPartNumber]='" & .Fields(3).Value & "' AND [LocalRevision]='" & .Fields(4).Value & "'")
.Update
Else
'Debug.Print "!!Match Found!!"
End If
.MoveNext
Wend
.Requery
End If
End With
我相信这在加载时有效,因为 Me.Recordsetclone 被称为子窗体加载,如果我想从主窗体调用它,特别是从我用来刷新主窗体的按钮,那么我需要直接喊出来
Forms!frmMain.frmsub.Form.recordsetclone 是我看到的语法。连同我在网上看到的任何其他语法 [me.frmsub.form.recorsetclone // frmMain.subfrmctrlname.form.recordsetclone // me.frmMain.frmsub.forms.subfrmctrlname.recorsetclone ] 其中一些似乎是错误的,但我还是试过了。我在下面包含了一些表单信息以用于语法
主窗体:frmDPARTOP
SubForm 表单名称:frmDPARPARTSSubform
子窗体控件名称:subDPARTOP
我做错了什么,不允许我让这个记录集工作,目前我有 Me.subDPARTOP.Form.RecordsetClone,我没有收到错误,它只是不工作
以下是我按照此处的说明使用的当前代码。据我所知,当前代码未到达第 5 行中的 Debug.Print,因为即时窗口中没有显示任何内容
Private Sub Command31_Click()
'Loops through Subform and updates DPAR Status from tDPARSHEET
'Main Form Name is frmDPARTOP
'Sub Form Name is frmDPARPARTSSubform
'Sub Form Control is subDPARTOP
Dim Field6 As Variant
With Me!subDPARTOP.Form.RecordsetClone
While Not .EOF
Field6 = DLookup("OverallStatus", "tDPARSHEET", "[LocalCustomer]='" & .Fields(2).Value & "' AND [LocalPartNumber]='" & .Fields(3).Value & "' AND [LocalRevision]='" & .Fields(4).Value & "'")
Debug.Print .Fields(6).Name, .Fields(6).Value, Field6
If .Fields(6).Value <> Field6 Then
Debug.Print "No Match"
.Edit
.Fields(6).Value = Field6
.Update
Else
Debug.Print "!!Match Found!!"
End If
.MoveNext
Wend
.Requery
End With
'Refreshes DPAR Counter
Me.Customer.SetFocus
Me.Dirty = True
Me.Refresh
End Sub
【问题讨论】:
标签: ms-access vba ms-access-2010 recordset subform