Vba access中的更改事件赢得';在记录中循环时不工作

Vba access中的更改事件赢得';在记录中循环时不工作,vba,ms-access,events,subforms,Vba,Ms Access,Events,Subforms,我现在有一个表单,有两个子表单,在一个子表单中称为Customer Addresses,我有一个包含地址表主键的文本框。我在表单上放置按钮,循环到下一个或上一个记录,当我循环浏览这些记录时,我可以在文本框中看到我的不同地址ID循环 现在,当循环我的AddressID时,我希望该值自动更新另一个子表单CustomerContacts中的另一个文本框。我向更改和更新事件添加了一些代码,但没有成功 Private Sub Text0_Change() Me.Parent!Contact

我现在有一个表单,有两个子表单,在一个子表单中称为Customer Addresses,我有一个包含地址表主键的文本框。我在表单上放置按钮,循环到下一个或上一个记录,当我循环浏览这些记录时,我可以在文本框中看到我的不同地址ID循环

现在,当循环我的AddressID时,我希望该值自动更新另一个子表单CustomerContacts中的另一个文本框。我向更改和更新事件添加了一些代码,但没有成功

Private Sub Text0_Change()
        Me.Parent!ContactInformation.Form!ContactInformation_Address.Value = Text0.Value

End Sub
上述代码中的引用是正确的。我用一个组合框测试了这段代码,在这个组合框中,我实际点击了下拉箭头并选择了一个值,它成功地更新了另一个子表单中的另一个文本框


因此,在这里我缺少了一些东西,当循环记录时,它不会触发更改或更新事件,因此我想知道如何解决这些问题。

将表单宏转换为visual basic。现在,选择下一条记录和上一条记录的“我的命令”按钮在vba代码中。接下来,获取要更新的文本框的代码,并将其放在选择记录的行下

'------------------------------------------------------------
' Command24_Click
'
'------------------------------------------------------------
Private Sub Command24_Click()
On Error GoTo Command24_Click_Err

    On Error Resume Next
    DoCmd.GoToRecord , "", acPrevious
    Me.Parent!ContactInformation.Form!ContactInformation_Address.Value = Text0.Value
    If (MacroError <> 0) Then
        Beep
        MsgBox MacroError.Description, vbOKOnly, ""
    End If


Command24_Click_Exit:
    Exit Sub

Command24_Click_Err:
    MsgBox Error$
    Resume Command24_Click_Exit

End Sub


'------------------------------------------------------------
' Command25_Click
'
'------------------------------------------------------------
Private Sub Command25_Click()
On Error GoTo Command25_Click_Err

    ' _AXL:<?xml version="1.0" encoding="UTF-16" standalone="no"?>
    ' <UserInterfaceMacro For="Command24" xmlns="http://schemas.microsoft.com/office/accessservices/2009/11/application"><Statements><Action Name="OnError"/><Action Name="GoToRecord"><Argument Name
    ' _AXL:="Record">Previous</Argument></Action><ConditionalBlock><If><Condition>[MacroError]&lt;&gt;0</Condition><Statements><Action Name="MessageBox"><Argument Name="Message">=[MacroError].[Description]</Argument></Action></Statements></If></ConditionalBlo
    ' _AXL:ck></Statements></UserInterfaceMacro>
    On Error Resume Next
    DoCmd.GoToRecord , "", acNext
    Me.Parent!ContactInformation.Form!ContactInformation_Address.Value = Text0.Value
    If (MacroError <> 0) Then
        Beep
        MsgBox MacroError.Description, vbOKOnly, ""
    End If


Command25_Click_Exit:
    Exit Sub

Command25_Click_Err:
    MsgBox Error$
    Resume Command25_Click_Exit

End Sub
'------------------------------------------------------------
'命令24_单击
'
'------------------------------------------------------------
专用子命令24_Click()
错误转到命令24时单击错误
出错时继续下一步
DoCmd.GoToRecord,“,acPrevious
我,家长!联系方式,表格!ContactInformation_Address.Value=Text0.Value
如果(宏错误0),则
嘟嘟声
MsgBox宏错误。说明,vbOKOnly,“”
如果结束
命令24\u单击\u退出:
出口接头
命令24\u单击错误:
MsgBox错误$
恢复命令24_单击退出
端接头
'------------------------------------------------------------
'命令25_单击
'
'------------------------------------------------------------
专用子命令25_Click()
错误转到命令25时单击错误
"AXL:
' 
出错时继续下一步
DoCmd.GoToRecord,“,acNext
我,家长!联系方式,表格!ContactInformation_Address.Value=Text0.Value
如果(宏错误0),则
嘟嘟声
MsgBox宏错误。说明,vbOKOnly,“”
如果结束
命令25\u单击\u退出:
出口接头
命令25\u单击错误:
MsgBox错误$
继续命令25\u单击退出
端接头

该代码是否在用户表单模块中?是的,它在客户地址表单中,这是一个子表单。如果我手动更改这些值,上面的代码是有效的,但是如果我只是在记录中循环,上面的代码就不起作用了。你说的“循环”到底是什么意思?您是否以编程方式更改值?如果是这样,我们需要查看正在进行“更改”的代码,我正在使用带有预构建宏的命令按钮,一个按钮将选择下一条记录,另一个按钮将选择上一条记录。我找到了它,我将窗体macors转换为visual basic,因此现在我的记录选择按钮代码是在vba中。然后我把上面的代码放在更改记录的行下面。