Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Faibl83 am Mai 11, 2017, 07:33:15

Titel: Abfragekriterium aus Tabelle
Beitrag von: Faibl83 am Mai 11, 2017, 07:33:15
Hallo zusammen,

da ich kompletter Anfänger bin, fällt es mir zum Teil schwer die hier im Forum dargestellten Probleme und die angebotenen Lösungsmöglichkeiten auf meinen Fall zu projizieren. Falls das Problem in anderer Form bereits diskutiert wurde, bitte ich um Nachsicht. Wie gesagt ich fange an zu lernen und bin motiviert.

jetzt zu meinen Problem:

Es besteht eine Tabelle "Auswertungszeitraum" mit zwei Spalten "Auswertungszeitraum_Beginn" und "Auswertungszeitraum_Ende". Wie zu erwarten hat diese Tabelle neben der Überschrift nur eine Zeile  und zwar das Datum. Diese Tabelle soll von späteren Nutzer flexibel angepasst werden können.

Eine zweite Tabelle "Antraege" besteht mit den Spalten Aktenplan, Erfassungsdatum, Erledigtdatum mit mehr als 10.000 Einträgen.

Mein Ziel ist es nun eine Abfrage zu generieren, die  aus der Tabelle "Antraege" die Datensätze heraussucht, deren Erfassungsdatum zwischen dem "Auswertungszeitraum_Beginn" und "Auswertungszeitraum_Ende" liegen.

Mein Erster Versuch ist der folgende (noch unter Vernachlässigung  des "Auswertungszeitraum_Ende" ):
SELECT Antraege.Aktenplan, Antraege.Erfassungsdatum, Antraege.Erledigtdatum
FROM Antraege
WHERE (((Antraege.Erfassungsdatum)>(SELECT Auswertungszeitraum_Beginn from Auswertungszeitraum)))

So geht das zumindest nicht. Hat jemand Rat?
Herzlichen Dank für eure Mühe
Viele Grüße
Fabian
Titel: Re: Abfragekriterium aus Tabelle
Beitrag von: DF6GL am Mai 11, 2017, 10:07:54
Hallo,

etwa so:

SELECT Aktenplan, Erfassungsdatum, Erledigtdatum
FROM Antraege
WHERE Erfassungsdatum between (SELECT Top 1 Auswertungszeitraum_Beginn from Auswertungszeitraum)   And (SELECT Top 1 Auswertungszeitraum_Ende from Auswertungszeitraum)



Alternativ:

SELECT Aktenplan, Erfassungsdatum, Erledigtdatum
FROM Antraege
WHERE Erfassungsdatum between Dlookup("Auswertungszeitraum_Beginn","Auswertungszeitraum")   And Dlookup("Auswertungszeitraum_Ende","Auswertungszeitraum")   


Vorausgesetzt, es handelt sich bei den Datumsfeldern um den Datentyp Datum/Uhrzeit.