"We are back" « oc.at

MS Access Abfrage Problem

Facetious 30.08.2006 - 11:48 688 4
Posts

Facetious

Addicted
Avatar
Registered: Oct 2003
Location: Wien
Posts: 406
Hi!

Meine Aufgabe ist es Daten zu selektieren. Dabei haben verschiedenste Daten einen Verschiedensten Status (1, 2, 3, 4, 5 und 6).

Ich würde jetzt gerne alle Daten anzeigen, außer Daten mit Status 6, welche älter als 1 Jahr sind.

Ich steh aber im Moment völlig auf der Leitung
Abfrage bisher:
Code:
SELECT Datenblatt.[no], Datenblatt.status, Datenblatt.type, Datenblatt.usage, Datenblatt.object, Datenblatt.country,  .... FROM Datenblatt
WHERE (((Datenblatt.receipt)>Now()-365 AND Datenblatt.status =  "6 canceled"));

klarerweise macht die Abfrage nicht ganz das was ich will, aber ich wüsste nicht wie ich den Status direkt mit dem Datum koppeln soll.

Hoffe auf eure Hilfe!
mfg Facetious
Bearbeitet von Facetious am 30.08.2006, 12:41

Gulinborsti

Addicted
Avatar
Registered: Mar 2004
Location: Wien
Posts: 469
Am MSSQL Server würde das ganze so aussehen:

Code:
SELECT bla, bla, bla, ...
FROM Datenblatt
WHERE DATEDIFF(day, receipt, GETDATE()) < 365 AND status = "6 cancelled"

kA, ob das so oder ähnlich in Access auch klappt.

Facetious

Addicted
Avatar
Registered: Oct 2003
Location: Wien
Posts: 406
Die Abfrage macht ja im Endeffekt genau das gleiche wie meine.

Was ich möchte ist, dass er mir alle Daten mit dem Status 1, 2, 3, 4 und 5 anzeigt.
Darüberhinaus soll er aber auch noch alle Daten mit Status 6 anzeigen, welche nicht älter als ein Jahr sind.

Geht das überhaupt?
mft Facetious

Gulinborsti

Addicted
Avatar
Registered: Mar 2004
Location: Wien
Posts: 469
EDIT: Sorry, hab dein erstes Posting unaufmerksam gelesen...

Ja klar geht das, schnell würde mir da ein UNION einfallen:

Code:
SELECT bla, bla, bla, ...
FROM Datenblatt
WHERE status <> "6 cancelled"
UNION
SELECT bla, bla, bla, ...
FROM Datenblatt
WHERE status = "6 cancelled" AND DATEDIFF(day, receipt, GETDATE()) < 365

Also im ersten SELECT alle außer status = "6 ..." und im zweiten SELECT alle mit (status = "6 ..." AND nicht älter als ein Jahr)

hth
Bearbeitet von Gulinborsti am 30.08.2006, 12:39

Facetious

Addicted
Avatar
Registered: Oct 2003
Location: Wien
Posts: 406
genau das wars was ich gesucht habe!

Super danke!
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz