2017-12-14 1 views
0

Ich bin ein MS Access-Neuling und ich bin dabei, eine einfache relationale Datenbank aufzubauen. Ich habe zwei Tabellen, eine mit einem Datumsfeld und eine weitere Tabelle mit einem Bereich für die Daten und den Wert, den ich basierend auf dem Datumsbereich zurückgeben möchte. In Excel würde ich die LOOKUP-Funktion verwenden, aber beim Zugriff scheint die einzige Option darin zu bestehen, die "DLookup" -Funktion zu verwenden.DLookup basierend auf Datumsbereichen

enter image description here

die Zieltabelle enthält eine Spalte mit den Daten. Bisher ist der Ausdruck, den ich habe, was hält einen Fehler zurückgegeben wird

DLookup(DLookUp([KR_DB]![DPL_TargetMonth],[SeasonFY],[KR_DB]![DPL_TargetMonth] Between [SeasonFY]![SeasonDateFrom] And [SeasonFY]![SeasonDateTo]) 

Ich weiß nicht, wie die richtige Syntax für diese zu schreiben.

+0

Der Weg, um dies in relationalen Datenbanken zu behandeln, ist eine ** Abfrage ** zu erstellen. Hören Sie auf, MS Excel zu denken und beginnen Sie, MS Access zu erforschen. – Rene

Antwort

0

Das Speichern der SeasonFY ID als Fremdschlüssel in KR_DB wäre der relationale Ansatz. Jedoch könnte DLookup wie folgt aussehen:

SELECT KR_DB.*, 
DLookup("Season", "SeasonFY", "#" & [DPL_TargetMonth] & "# BETWEEN SeasonDateFrom AND SeasonDateTo") AS Season 
FROM KR_DB; 
+0

Das funktioniert, vielen Dank! Ich möchte den relationalen Ansatz verwenden, aber ich lehre mich selbst, wie dies zu tun ist, und ich hatte Mühe, einen Weg zu finden, einen Fremdschlüssel basierend auf einem Bis-aus-Datumsbereich aus der Tabelle zu verwenden. – ala

Verwandte Themen