Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Probleme beie Abfrage nach Daten

Begonnen von xoius, Mai 04, 2020, 13:46:39

⏪ vorheriges - nächstes ⏩

xoius

Hallo ihr Lieben,

nun habe ich noch ein Problem mit einer Abfrage. Mit Daten habe ich noch nicht so viel gearbeitet.

Ausgangspunkt
In der Tabelle tblKosten gibt es die Einträge GeleistetWann (Datum, formatiert mm.jjjj), Datumeingereicht (Datum, tt.mm.jjjj) und Kostenstatus ("eingereicht", "beimKunden" oder "fakturiert").

Ziel
Nun möchte ich mir durch eine Abfrage nur die Datensätze herausfiltern, die
a. den Status "eingereicht" haben und deren Datum "GeleistetWann" im vergangenen Monat oder davor liegt (Also NICHT irgendwie vor 30 Tagen, sondern wirklich an irgendeinem Tag im Mai schon alle Einträge im und vor April)

und

b. die den Status "beim Kunden" haben und wo das Datum von "Datumeingereicht" mindestens 14 Tage zurückliegt.

Mein Ansatz

...WHERE ((((tblKosten.GeleistetWann)<Month(Now())) AND ((tblKosten.Kostenstatus) = "eingereicht")) OR  (((tblKosten.Datumeingereicht)<Date()-14) AND ((tblKosten.Kostenstatus) = "beimKunden")));

Da kommt natürlich nix bei raus...vermutlich weil es murks ist :)

Vielen Dank fürs Anschauen!

DF6GL

Hallo,


ZitatWHERE (GeleistetWann < DateSerial (Year(Date()),Month(Date()),0)  AND Kostenstatus = "eingereicht")  Or (Datumeingereicht < Date() -14 AND Kostenstatus = "beimKunden")


btw:


ZitatDatum, formatiert mm.jjjj),
Es kommt auf den Datentyp an, nicht auf irgendwelche Formate...



Die Tabelle(n) gehören normalisiert, insofern sollte (muss) der Kostenstatus in eine separate Tabelle ausgelagert und über 1-n in Beziehung gesetzt werden.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

xoius

Vielen Dank für alle Hinweise und die Lösung. Das Normalisieren nehme ich mir zu Herzen.

nurmikss

Zitat von: xoius am Mai 04, 2020, 13:46:39
... Datum "GeleistetWann" im vergangenen Monat oder davor liegt (Also NICHT irgendwie vor 30 Tagen, sondern wirklich an irgendeinem Tag im Mai schon alle Einträge im und vor April)
Spontane Idee (vorausgesetzt, dass im Feld "GeleistetWann" kein zukünftiges Datum steht):
Du könntest in einer Abfrage festlegen, dass der Monat von "GeleistetWann" nicht der aktuelle Monat sein darf, dann wird in Deinem Beispiel April und früher ausgegeben.
Ich verwende Microsoft Office Professional plus 2010