Guten Tag,
ich habe ein kleines Problem. Ich möchte diese Abfrage zu einem festgelegten Stichtag versehen. Ich komme da aber leider nicht weiter. Ich würde gerne alle 3 Kriterien zum Status erfüllen.
- Eine Abfrage zu einem bestimmten Stichtag
- Eine Abfrage für einen bestimmten Zeitraum. Die jetzige Abfrage liefert ja den Zeitraum 01.10.15-30.09.2016
(http://fs1.directupload.net/images/171023/aygoumcd.png) (http://www.directupload.net)
Wäre es mit den 3 Kriterien möglich oder müsste ich für jeden Status eine eigene Abfrage erstellen? Und dann mit Zwischen [von]... arbeiten?
Vielen Dank.
Hallo,
Zitat- Eine Abfrage zu einem bestimmten Stichtag
- Eine Abfrage für einen bestimmten Zeitraum.
Du musst Dich schon entscheiden, was Du (gerade) willst...
Beides zusammen geht nicht., d. h. es müssen zwei Abfragen werden.
Hallo DF,
Danke für die schnelle Antwort.
Nein, das weiß ich. Ich bräuchte jeweils 2 Abfragen. Einmal für einen bestimmten Stichtag und die 2 Abfrage für einen Zeitraum. Würde die Abfrage dann kopieren und als 2 Abfrage speichern.
Hallo,
Vorab, - die Benennung der Tabelle lässt ein suboptimales Datenmodell erahnen.
Zur Abfrage, - die Bedingung <5000 brauchst du nur einmal. Für das Datum
würde ich Parameter einführen.
(Luftcode, ungetestet)
PARAMETERS DatumEZ DateTime,
DatumStart DateTime;
DatumEnde DateTime;
SELECT F.Status, F.Hersteller, F.Modellbezeichnung, F.[Fahrzeug-Nr], F.Erstzulassung, F.[verkauft am]
FROM [200-Fahrzeuge] AS F
WHERE [Fahrzeug-Nr] < 5000
AND ((F.Status = 0 OR F.Status = 1 F.Status = 5)
AND F.Erstzulassung = DatumEZ
AND F.[verkauft am] BETWEEN DatumStart AND DatumEnde)
gruss ekkehard
Schnell noch ergänzt, - wie du Parameterabfragen mit VBA behandelst kannst du
hier http://www.donkarl.com?FAQ6.16 (http://www.donkarl.com?FAQ6.16) nachlesen.
Zitat- Eine Abfrage zu einem bestimmten Stichtag
- Eine Abfrage für einen bestimmten Zeitraum.
Ein Tag ist auch ein Zeitraum. In diesem Fall ist DatumStart und DatumEnde gleich, somit dann auch bei der Parameterübergabe.
...
AND ((F.Status = 0 OR F.Status = 1 F.Status = 5)
...
===>
...
AND (F.Status IN (0, 1, 5)
...
Vielen Dank für die Hilfe.
Hallo,
@Eberhard
ZitatEin Tag ist auch ein Zeitraum.
Den Gedanken hatte ich auch, aber ich glaube er meinte gar nicht zwei
Abfragen sondern zwei
Bedingungen, betrifft ja auch zwei
Felder, - oder was hakt da bei mir wieder?
@Engelbrecht
Gerade erst gesehen ist diese Zeile nicht korrekt, fehlte schon ein OR bei mir.
ZitatAND ((F.Status = 0 OR F.Status = 1 OR F.Status = 5)
Aber Eberhards Variante mit IN ist eh besser.
gruss ekkehard