2016-06-30 10 views
0

Ich muss ein "STATUS" -Feld zu einer Access-Tabelle hinzufügen ... Erstellen des Feldes ist der einfache Teil.Hinzufügen eines Ausdrucks zu einer MS Access-Tabelle

Ich muss eines von drei Wörtern basierend auf einem Datum aus einem anderen Feld anzeigen.

So im Feld „Status“ muß ich das Datum nehmen und wenn es weniger als 180 Tage ab dem Datumsfeld haben das Feld „Status“ Anzeige „CURRENT“

Wenn das Datum zwischen 181 Tagen ist und 365 Tage brauche ich es, um "SUSPENDED" anzuzeigen und über 365 Tage brauche ich es, um "ABGELAUFEN" anzuzeigen.

Wenn es auch möglich ist, dass das Feld Farbe basierend auf der aktuellen, ausgesetzten, abgelaufenen Ausgabe zeigt, wäre das ein Bonus.

Antwort

2

Ich finde die Verwendung berechneter Spalten in Tabellen kann umständlich sein und Sie sind darauf beschränkt, was Sie tun können. Ich würde empfehlen, eine Abfrage auf Tabelle erstellen, statt und fügen Sie den folgenden Ausdruck in einen neuen Abfragefeld:

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

Stellen Sie sicher, testen dies ein lassen Sie mich wissen, ob die Berechnung für jedes Szenario richtig ist. Ich kann es rückwärts haben.

Soweit das Feld basierend auf dem Status formatiert wird, kann dies mit einem Textfeld in einem Formular oder einem Bericht durchgeführt werden. Wenn Sie in der Designansicht des Formulars/Berichts das Textfeld "Status" auswählen und dann in der Multifunktionsleiste im Menü "Formular-/Berichtsentwurfswerkzeuge" auf die Registerkarte "Format" klicken, klicken Sie auf "Bedingte Formatierung". Dort können Sie Regeln für die Textbox-Hintergrundfarbe basierend auf dem Statuswert festlegen.

Hoffe, das hilft!

+0

Ich werde es auch versuchen ... Vielen Dank –

+0

Das hat funktioniert! Danke für die Hilfe. –

1

In dem Formular, in dem Sie Ihre Daten präsentieren, können Sie einen berechneten Wert in einem Textfeld erstellen. Sie können Bedingte Formatierung verwenden, um die Farbe (in der Datenblattansicht) oder VBA (in der Formularansicht)

zu ändern. Alternativ können Sie, wenn Sie eine Abfrage verwenden, um Ihre Daten in Ihrem Formular anzuzeigen, eine weitere Tabelle mit diesen Schwellenwerten hinzufügen und beitreten zu ihm. Dann können Ihre Daten dynamisch und nicht fest in Ihre Formulare geschrieben werden.

+0

Danke ... Ich werde es überprüfen ... etwas anderes aufräumen, hoffentlich komme ich heute Abend dazu. –

+1

Konnte die benötigten Felder basierend auf Ihrer Hilfe bekommen! danke –

2

Verwenden Sie einen Switch() Ausdruck in einer Abfrage, um "Status" abzuleiten.

Hier ist es mit jedem Bedingung/Wert-Paar in einer separaten Zeile formatiert. Ähnlich wie bei einem VBA Select Case ... End Select Block gibt Switch() den Wert aus der ersten Bedingung zurück, die als True ausgewertet wird, und ignoriert den Rest.

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

Die letzte Bedingung fängt jeden YourDateField Wert (zB Null), die nicht einer der ersten drei Bedingungen nicht erfüllt.

+0

Danke ... Ich bin selbst Teaching Access jetzt werde ich es versuchen und lassen Sie wissen, wie es funktioniert ... –

Verwandte Themen