このコードは、合計とその合計のパーセンテージを計算し、そのパーセンテージをテキスト ボックスに表示することを目的としています。このコードは、フォームのボタンがクリックされたときに実行されますが、そのフォームのサブフォームに基づくデータを使用し、表示するテキスト ボックスはフォームにあります。フォームとサブフォームの両方がクラス リストで呼び出されるため、「Object Required」エラーが発生する理由がわかりません。
Private Sub cmdTest_Click()
'Initialisation
Dim TotalAmount As Integer
Dim GiftAid As Integer
'Processing
If AllForms!frmGiftAid!subfrmqryGiftAid!PaymentIncrement Is Not Null Then
If AllForms!frmGiftAid!subfrmqryGiftAid!PaymentIncrement = "Monthly" Then
TotalAmount = _
(AllForms!frmGiftAid!subfrmqryGiftAid!PaymentAmountPerIncrement * 12)
Else
TotalAmount = _
AllForms!frmGiftAid!subfrmqryGiftAid!PaymentAmountPerIncrement
End If
End If
'Termination
GiftAid = (TotalAmount * 0.25)
AllForms!frmGiftAid!subfrmqryGiftAid!subfrmqryGiftAidtxtGiftAid = GiftAid
End Sub
エラーが発生する行は、サブフォームを参照する最初の行であるため、次のようになります。
AllForms!frmGiftAid!subfrmqryGiftAid!PaymentIncrement が Null でない場合
サブフォームを参照するためにコードのさまざまなバリエーションを使用してみました (「AllForms」の代わりに「Forms」を使用してサブフォームを参照するだけでなく、フォームではなくサブフォーム自体でそれを試し、さまざまなイベントでそうします。 On_Current() や On_Load() などですが、これまでのところ何も機能していません。
あなたが私に提供できるどんな助けも大歓迎です。