2017-02-20 15 views
0

MS Access 2016では、プロパティが「表示されません」というボタンがあります。値が0より小さい場合、ボタンをアクティブにする方法は?

別のフィールド([バランス])の値が「0」(ゼロ)未満の場合、そのボタンを表示したままにしておきます。

残高は-5,00です。ボタン(btOpenReport)が表示されます。 バランスが偶数値は何ですか0

Private Sub Form_Current() 
'button invisible, ok 
Me.btOpenReport.Visible = False 
'must evaluate if Balance is less than 0 and put button visible,...not working 
If Me.Balance < 0 Then Me.btOpenReport.Visible = True 
End Sub 

よりも大きい、ボタンはすべてのレコードに見えるとどまる、動作していないが、ボタン(btOpenReportは)このコード見える

ないが、1,00です違う?

Here is a db example (Ms Access 2016 Database1)

答えて

1

連続したフォーム上の異なるレコードでボタンの表示が異なるように設定することはできません。それは単に可能ではありません。

似たようなことを実現するには、テキストボックスと巧妙な条件付き書式を使用して、押されているかどうかのボタンの印象を与えるか、フォームヘッダーまたはフッターOn_currentイベントを介して有効/無効にします。

+0

こんにちは。このテキストボックスには、残高がゼロ未満の場合にのみ、 "Open Report"と表示されたキャプションを使用できますか?だから私はこのテキストボックスを "Open Report"ボタンのようにクリックすることができました。右? 今、最初の投稿/質問にサンプルデータベースを追加しました。 –

+1

フォームの基本クエリに計算フィールドを追加する場合は、フォーム{txtReport:IIf(Balance <0、 "Open Report"、 ""})を呼び出します。 テキストボックスのオンクリックプロパティでは、実行したいコードを実行する前に値が ""表示されていないことを確認します。 – Minty

+0

それは動作します。 簡単な方法で説明します: 1-クエリ(グループ化)で計算フィールド "txtRep"を作成しました。 - 「残高」がゼロ未満の場合。 "レポートを開く"; ""; - 合計:式。 2 - このフォームでは、新しい "txtRep"イベントが発生しました。 - 最初に追加したレポートを開くマクロ: "txtRep"がnullの場合はキャンセルします。それ以外の場合は、「オープンレポート」マクロが続行されます。 –

1

あなたは間違ったイベントを選びました。テキストボックス内の値を変更すると、Form_Currentは発生しません。ドキュメントを参照してください:https://msdn.microsoft.com/en-us/library/office/ff193159.aspx

+1

なぜか 'Me.btOpenReport.Visible = Me.Balance <0' – Fionnuala

+0

@Fionnuala、ありがとう。それは動作しません。ボタンはすべてのレコードに表示されます。 –

+0

@EliteRaceElephantこれは、グループ化クエリに基づく連続フォームです。入力または変更するテキストボックスはありません。 「残高」フィールドは合計です。 –

関連する問題