Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: IronMan am März 30, 2017, 14:41:18

Titel: Abfrage Datum Between
Beitrag von: IronMan am März 30, 2017, 14:41:18
Hallo zusammen,

ich habe ein Problem, bei dem ich momentan nicht weiter komme und hier auf Hilfe spekuliere. Ich muss gestehen, dass ich eher aus der Excel Ecke komme und meine Access Kenntnisse mehr oder weniger auf "learing by doing" basieren. Vor ~5-6 Jahren hatte ich das letzte mal mit Access etwas mehr zu tun das war aber auch eher einfachere Aufgaben (Daten Filtern, Zusammenbringen, bisschen was berechnen). Das ganze wäre auch in Excel gegangen aber aufgrund der Datenmenge haben wir das in Access gemacht. Wir haben hier nun ein etwas größeres Revisionsprojekt laufen und hatte das "Glück" in dem Team zu landen und nun habe ich ein Problem bei dem ich gerade nicht voran komme.

Unsere Basis sind Rechnungsdaten der letzten Jahre (ab 2010). Zu diesen Daten müssen diverse andere Informationen hinzugefügt werden. Grundsätzlich lassen sich viele Daten auf Basis von 2 oder 3 Feldern mit diversen Referenztabellen verknüpfen. Hin und wieder spielt allerdings das Rechnungsdatum eine Rolle in den Referenztabellen gibt es aber "nur" Daten für die Gültigkeit der Einträge (Feld Valid_from und Valid_to).

Aktuelle Beispiel (etwas vereinfacht):
Basisdaten:
Kunde:   Rechnungsdatum:    Land:
Meier      17.03.2014             Deutschland
Meier      09.08.2015             Deutschland

Das Land soll nun in der Referenztabelle mit dem Berater verknüpft werden der zu dem Zeitpunkt verantwortlich war. Die Tabelle sieht so aus:
Kunde      Land               Berater      Valid_from       Valid_to
Meier       Deutschland     Schulze      01.01.2014     31.12.2014
Meier       Deutschland     Müller        01.01.2015     31.12.2015

Nun würde möchte ich eine Abfrage haben, in der Access mir beim ersten Datensatz Schulze ausgibt und beim zweiten Müller aber da habe ich gerade keine Idee, wie ich das Umsetze. Hab zwar Versucht in der Abfrage was mit "where Rechnungsdatum between Valid_from and Valid_to" zu machen aber das klappt nicht.

Danke für die Hilfe und viele Grüße

Titel: Re: Abfrage Datum Between
Beitrag von: Wurliwurm am März 31, 2017, 11:52:10
Hi, ich konnte Deine Abfrage in einem schnellen Test erfolgreich simulieren. Es braucht dazu eine Unterabfrage

SELECT Rechnungen.Id, Rechnungen.Rechnungsdatum, (SELECT Gueltigkeit.Berater FROM Gueltigkeit
WHERE Rechnungen.Rechnungsdatum BETWEEN Gueltigkeit.Valid_from
AND Gueltigkeit.Valid_to) AS Berater
FROM Rechnungen;


Ich hoffe, der Tip hilft Dir auf die Sprünge. Wenn Du gar nichts damit anfangen kannst, mußt Du Dich in SQL einarbeiten mit Fokus auf Subqueries.
Titel: Re: Abfrage Datum Between
Beitrag von: IronMan am März 31, 2017, 12:12:01
Hi,

danke für den Tip. Werde mir das Thema Subqueries mal anschauen das sagt mir bis jetzt nämlich nix.

Viele Grüße