2016-06-30 5 views
0

Accessテーブルに「STATUS」フィールドを追加する必要があります。フィールドの作成は簡単な部分です。MS Accessテーブルへの式の追加

別のフィールドの日付に基づいて3つの単語のいずれかを表示する必要があります。

だから「ステータス」フィールドに私は日付を取る必要があり、日が181日との間にある場合には、日付フィールドからそれ以下という180日間は、「CURRENT」「ステータス」フィールドの表示

を持っている場合365日私は "SUSPENDED"と365日以上 "EXPIRED"と表示するのに必要です。

現在の一時停止した有効期限切れの出力に基づいて、フィールドの表示色をボーナスにすることもできます。

答えて

2

テーブルの計算された列を使用するのが面倒であり、できることに限られています。私の代わりにあなたのテーブルでクエリを作成することはお勧めして、新しいクエリフィールドに次の式を追加します。

Status: IIf(DateDiff("d",[YourDateField], Date())<=180,"CURRENT",IIf(DateDiff("d",[YourDateField], Date())>=181 And DateDiff("d",[YourDateField],Date())<365,"SUSPENDED","EXPIRED")) 

がこの計算は、各シナリオのために右であるなら、私に知らせてテストするようにしてください。私はそれを後方に持っているかもしれません。

ステータスに基づいてフィールドの書式を設定する限り、これはフォームまたはレポートのテキストボックスを使用して実行できます。フォーム/レポートのデザインビューで "ステータス"テキストボックスを選択し、リボンで "フォーム/レポートデザインツール"メニューの "フォーマット"タブに移動し、 "条件付きフォーマット"をクリックします。そこで、ステータス値の内容に基づいて、テキストボックスの背景色に規則を指定することができます。

希望すると便利です。

+0

私はこれも試してみるつもりです...ありがとう –

+0

これはうまくいきました!助けてくれてありがとう。 –

1

データを表示しているフォームでは、テキストボックスに計算値を作成できます。条件付き書式を使用して(データシートビューで)またはVBA(フォームビューで)を変更する

また、フォームにデータを表示するためにクエリを使用している場合は、それに。その後、あなたの日付はダイナミックでフォームにハードコードされません。

+0

ありがとう...私はそれをチェックします...他のものをクリーンアップ今うまくいけば今夜それを得るでしょう。 –

+1

私はあなたの助けに基づいて必要なフィールドを手に入れることができました!おかげで –

2

"Status"を取得するクエリにSwitch()式を使用します。

ここでは、各条件/値のペアを別々の行にフォーマットしています。 VBA Select Case ... End Selectブロックと同様に、Switch()は、Trueと評価される最初の条件の値を返し、残りは無視します。

Switch 
    (
     DateDiff('d', [YourDateField], Date()) < 181, 'CURRENT', 
     DateDiff('d', [YourDateField], Date()) BETWEEN 181 AND 365, 'SUSPENDED', 
     DateDiff('d', [YourDateField], Date()) > 365, 'EXPIRED', 
     True, Null 
    ) 

最後の条件は、最初の三つの条件のいずれかを満たさないYourDateField値(例えばNULL)をキャッチします。

+0

おかげさま...私は自己教えています今すぐアクセスしようと思います。 –

関連する問題