2017-01-03 11 views
0

私は現在2つのサブフォームを持つフォームを持っています。顧客アドレスと呼ばれるサブフォームでは、アドレステーブルの主キーを含むテキストボックスがあります。このフォームには、次のレコードまたは前のレコードに移動するためのボタンがあります。これらのレコードを順番に調べると、テキストボックス内で異なるアドレスIDが表示されます。レコードのサイクリングでアクセスのイベントが変更されない

私のアドレスIDが循環されているとき、その値がCustomerContactsという別のサブフォーム内の別のテキストボックスを自動的に更新したがっています。変更イベントと更新イベントにいくつかのコードを追加しましたが、成功しませんでした。

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

End Sub 

上記のコードの参照は正しいです。私はこのコードをコンボボックスでテストしましたが、実際にドロップダウン矢印を押して値を選択し、他のサブフォームの他のテキストボックスを正常に更新しました。

ここで私が紛失しているものがあります。レコードをサイクリングすると、変更イベントや更新イベントが発生しないので、どうすればこの問題を回避できますか?

+0

は、userformのモジュールのコードですか? –

+0

はい、それはサブフォームである得意先アドレスフォームにあります。上記のコードは手動で値を手動で変更しても動作しますが、レコードを循環している場合は機能しません。 – ZacAttack

+0

"サイクリングスルー"とはどういう意味ですか?プログラムで値を変更していますか? "変更"を行っているコードを参照する必要がある場合 –

答えて

0

フォームマクロをビジュアルベーシックに変換しました。今度は、次のレコードと前のレコードを選択していたコマンドボタンが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 
関連する問題