Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Spedi05 am Juni 07, 2020, 15:38:38

Titel: Kalenderwoche
Beitrag von: Spedi05 am Juni 07, 2020, 15:38:38
Hallo zusammen,
ich habe eine Abfrage erstellt , ich möchte mir die Daten pro Kalenderwoche anzeigen lassen.
Die Tabelle wo ich die Daten abzapfe besteht aus 45 Felder.
Das Datum wird in 3 Felder anzegeigt ( 1.Feld=Tag, 2.Feld=Monat, 3.=Feld Jahr )
In der Abfrage habe ich diese 3 Felder wie folgt zusammengeführt DatSeriell([D3SSA];[D2SSA];[D1SSA]), das passt soweit.
Dann habe in der Abfrage noch eine Spalte hinzugefügt für die Kalenderwoche
"DatTeil("ww";DatSeriell([D3SSA];[D2SSA];[D1SSA]))", soweit auch ok.
Jetzt möchte ich in der Abfrage nur die Daten für eine bestimmte KW angezeigt bekommen.
Wenn ich den Parameter[KW] eingebe, werde mir alle Daten angezeigt ( 23.000 Datensätzen ).
Was mache ich nun falsch ??

Bitte um HILFE

Titel: Re: Kalenderwoche
Beitrag von: DF6GL am Juni 07, 2020, 17:14:01
Hallo,


zeig mal den kompletten SQL-Sting der Abfrage..
Titel: Re: Kalenderwoche
Beitrag von: Spedi05 am Juni 07, 2020, 18:53:55
SELECT First([DOPDAUFV1_SPSSTLA Abfrage].SNDNR) AS [SNDNR Feld], First([DOPDAUFV1_SPSSTLA Abfrage].SSSTA) AS [SSSTA Feld], Count([DOPDAUFV1_SPSSTLA Abfrage].SNDNR) AS AnzahlVonDuplikaten, DateSerial([D3SSA],[D2SSA],[D1SSA]) AS Auftragsdatum, DatePart("ww",DateSerial([D3SSA],[D2SSA],[D1SSA])) AS Kalenderwoche
FROM [DOPDAUFV1_SPSSTLA Abfrage]
GROUP BY DateSerial([D3SSA],[D2SSA],[D1SSA]), DatePart("ww",DateSerial([D3SSA],[D2SSA],[D1SSA])), [DOPDAUFV1_SPSSTLA Abfrage].SNDNR, [DOPDAUFV1_SPSSTLA Abfrage].SSSTA, [DOPDAUFV1_SPSSTLA Abfrage].D1SSA, [DOPDAUFV1_SPSSTLA Abfrage].D2SSA, [DOPDAUFV1_SPSSTLA Abfrage].D3SSA
HAVING (((Count([DOPDAUFV1_SPSSTLA Abfrage].SNDNR))>1) AND (([DOPDAUFV1_SPSSTLA Abfrage].SSSTA)="R") AND ((Count([DOPDAUFV1_SPSSTLA Abfrage].SSSTA))>1)) OR (((DatePart("ww",DateSerial([D3SSA],[D2SSA],[D1SSA])))=[KW]))
ORDER BY DateSerial([D3SSA],[D2SSA],[D1SSA]);
Titel: Re: Kalenderwoche
Beitrag von: DF6GL am Juni 07, 2020, 19:20:08
Hallo,

vermutlich kommst Du mit der Klammerung in Konflikt.
Es gilt die Operatorrangfolge wie in der Mathematik:

Punkt (AND)  vor Strich (OR)  -Rechnung.

Titel: Re: Kalenderwoche
Beitrag von: PhilS am Juni 07, 2020, 19:30:06
Zitat von: Spedi05 am Juni 07, 2020, 15:38:38
Dann habe in der Abfrage noch eine Spalte hinzugefügt für die Kalenderwoche
"DatTeil("ww";DatSeriell([D3SSA];[D2SSA];[D1SSA]))", soweit auch ok.
Kleiner Hinweis am Rande: Um den Jahreswechsel herum wird das obige u.U. nicht die richtige KW ermitteln.
Siehe: Kalenderwoche und Jahr ermitteln (https://codekabinett.com/rdumps.php?Lang=1&targetDoc=vba-kalenderwoche-jahr-datum-ermitteln)
Titel: Re: Kalenderwoche
Beitrag von: Spedi05 am Juni 07, 2020, 20:07:40
Hallo

danke für die Info.
Wie kann ich diesen Konflikt lösen ?
Ich habe alles versucht und komme nicht weiter.
Titel: Re: Kalenderwoche
Beitrag von: Spedi05 am Juni 07, 2020, 20:33:19
PROBLEM GELÖST   DANKE !!
Titel: Re: Kalenderwoche
Beitrag von: Beaker s.a. am Juni 08, 2020, 18:33:10
Dann zeige das auch für den nächsten mit ähnlichem Problem.
Forum ist wie Adventure-Game, - geben und nehmen.