Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: EngelbrechtM am Oktober 23, 2017, 10:08:14

Titel: Abfragedatum festlegen
Beitrag von: EngelbrechtM am Oktober 23, 2017, 10:08:14
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.
Titel: Re: Abfragedatum festlegen
Beitrag von: DF6GL am Oktober 23, 2017, 11:08:22
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.
Titel: Re: Abfragedatum festlegen
Beitrag von: EngelbrechtM am Oktober 23, 2017, 11:17:16
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.
Titel: Re: Abfragedatum festlegen
Beitrag von: Beaker s.a. am Oktober 23, 2017, 11:33:11
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.
Titel: Re: Abfragedatum festlegen
Beitrag von: ebs17 am Oktober 23, 2017, 19:08:31
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)
...
Titel: Re: Abfragedatum festlegen
Beitrag von: EngelbrechtM am Oktober 24, 2017, 08:20:02
Vielen Dank für die Hilfe.
Titel: Re: Abfragedatum festlegen
Beitrag von: Beaker s.a. am Oktober 24, 2017, 14:30:13
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