Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Earl of Green am Juni 14, 2010, 12:52:13

Titel: Abfrage (> 0) geht nicht
Beitrag von: Earl of Green am Juni 14, 2010, 12:52:13
Hi,
ich habe ein "kleines" Problem, aber ich komm nicht drauf.

Ich habe eine Abfrage gemacht, in der Überstunden berechnet werden. Sobald ich mir aber auf diesem berechnet Feld nur die ungleich 0 (also "<>0"), dann kenn er diesen Wert "Ueberstunden" nicht mehr und und ich muß die einzelnen Werte (zur Berechnung) eingeben - aber selbst dann zeigt er mir ALLE Werte an und nicht gefilterten.

Liegt das daran, das dies ein berechnetes Feld ist?

Würde mich über eine Antwort freuen.
Gruß
Stefan
Titel: Re: Abfrage (> 0) geht nicht
Beitrag von: DF6GL am Juni 14, 2010, 12:58:04
Hallo,


sorry, ich verstehe Dich nicht...  ???


Poste mal den SQL-String der Abfrage und beschreib, was er (sie)  liefern soll.

Titel: Re: Abfrage (> 0) geht nicht
Beitrag von: Earl of Green am Juni 14, 2010, 13:30:10
 :D

SELECT Personal_Grunddaten.PersNr, Personal_Grunddaten.Nachname, Personal_Grunddaten.Vorname, Personal_Grunddaten.Firma, Arbeitszeiten.Datum, Arbeitszeiten.AZ_Von, Arbeitszeiten.AZ_Bis, Arbeitszeiten.Pause_Von, Arbeitszeiten.Pause_Bis, Arbeitszeiten.Bemerkung, IIf([AZ_Von]>[AZ_Bis],DateDiff("n",[Datum]+[AZ_Von],DateAdd('d',1,[Datum])+[AZ_Bis]),DateDiff("n",[AZ_Von],[AZ_Bis])) AS AZ_Minuten, IIf([Arbeitszeiten.Pause_Von]>[Arbeitszeiten.Pause_Bis],DateDiff("n",[Datum]+[Arbeitszeiten.Pause_Von],DateAdd('d',1,[Datum])+[Arbeitszeiten.Pause_Bis]),DateDiff("n",[Arbeitszeiten.Pause_Von],[Arbeitszeiten.Pause_Bis])) AS Pause_Minuten, [AZ_Minuten]-[Pause_Minuten] AS AZ_Ist_Minuten, IIf([Personal_Grunddaten.AZ_Start]>[Personal_Grunddaten.AZ_Ende],DateDiff("n",[Arbeitszeiten.Datum]+[Personal_Grunddaten.AZ_Start],DateAdd('d',1,[Arbeitszeiten.Datum])+[Personal_Grunddaten.AZ_Ende]),DateDiff("n",[Personal_Grunddaten.AZ_Start],[Personal_Grunddaten.AZ_Ende])) AS AZ_Soll_Minuten, IIf([Personal_Grunddaten.Pause_Von]>[Personal_Grunddaten.Pause_Bis],DateDiff("n",[Datum]+[Personal_Grunddaten.Pause_Von],DateAdd('d',1,[Datum])+[Personal_Grunddaten.Pause_Bis]),DateDiff("n",[Personal_Grunddaten.Pause_Von],[Personal_Grunddaten.Pause_Bis])) AS Pause_Soll_Minuten, [AZ_Soll_Minuten]-[Pause_Soll_Minuten] AS Gesamt_Soll_Minuten, [AZ_Ist_Minuten]\60 & ":" & Format([AZ_Ist_Minuten] Mod 60,"00") AS [Gesamtzeit Ist], [AZ_Soll_Minuten]\60 & ":" & Format([AZ_Soll_Minuten] Mod 60,"00") AS [Gesamtzeit Soll], [Ueberstunden]\60 & ":" & Format([Ueberstunden] Mod 60,"00") AS Ueberstunden_h, [AZ_Ist_Minuten]-[Gesamt_Soll_Minuten] AS Ueberstunden
FROM Arbeitszeiten INNER JOIN Personal_Grunddaten ON Arbeitszeiten.PersNr = Personal_Grunddaten.PersNr;
das geht!

Wenn ich aber nun anfüge:
WEHRE Ueberstunden <> 0
dann will er von mir Eingaben [AZ_Ist_Minuten] und [Gesamt_Soll_Minuten, was er nicht will, wenn ich <>0 nicht anfüge.

Ich hoffe es ist nun verständlicher...
Gruß
Titel: Re: Abfrage (> 0) geht nicht
Beitrag von: DF6GL am Juni 14, 2010, 15:39:45
Hallo,

Alias-Namen können nicht überall (weiter)verwendet werden.  Ersetze also diese Namen durch Wiederholung der enstpr. Berechnungsformel.