2016-10-17 2 views
0

メインフォームのamountフィールドと値に基づいた購入および販売サブフォームを有効または無効にするコードがありますトランザクションタイプフィールドに入力します。今度はフォワードランで完璧に動作します。私。フォームがロードされ、最初のレコードから最後のレコードまでスクロールするとすぐに。しかし、最後のレコードをヒットし、レコードを前後にスクロールすると、金額フィールドは無効のままです(つまり、コードはもう実行されません)。フォームをリロードする必要があります。私はこれを解決する方法はありますか?私は、ユーザが有効化と無効化に関してリアルタイムの応答を持つことを望みます。最初のレコードから最後のレコードに移動したときに最初のレコードから最後のレコードに移動するときのOnCurrentイベントの発生

シナリオを視覚化するのに役立つように、フォームの画像を見てください。

enter image description here

Private Sub Form_Current() 

    Select Case Me.transactionType.Value 
    Case 1 
     Me.PurchaseOrderDetails_subform.Enabled = False 
     Me.SalesOrderDetails_subform.Enabled = False 

    Case 4 
     Me.Amount.Enabled = False 
     Me.PurchaseOrderDetails_subform.Enabled = False 
     Me.SalesOrderDetails_subform.Enabled = True 

    Case 2 
     Me.Amount.Enabled = False 
     Me.PurchaseOrderDetails_subform.Enabled = True 
     Me.SalesOrderDetails_subform.Enabled = False 

    Case 3 
     Me.Amount.Enabled = False 
     Me.PurchaseOrderDetails_subform.Enabled = False 
     Me.SalesOrderDetails_subform.Enabled = True 
    End Select 
End Sub 

私は本当にあなたの助けに感謝します。

+0

あなたは「スクロール」と言うならば、あなたは正確に何を意味するのですか? *最初のレコードに移動しますか?ナビゲーションバーに「1 of 6」と表示されますか? – Andre

+0

スクロールで@Andreはい私は1から6または6から1のいずれかのレコードから次のレコードに移動することを意味します。表示されている画面は、私が参照しているフォームを表示するだけです。 –

答えて

1

あなたはこの変更が必要な場合がありますので、あなたは、そのフィールドを有効にすることはありません:

Select Case Me.transactionType.Value 
    Case 1 
     Me.Amount.Enabled = True 
     Me.PurchaseOrderDetails_subform.Enabled = False 
     Me.SalesOrderDetails_subform.Enabled = False 
+0

多くのありがとうGustav;これはうまくいった。当初、金額コントロールはフォームのロード時には常にtrueであるため、自動的にtrueになると考えていました。私は今エラーを認識します。ありがとう –

関連する問題