Neuigkeiten:

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

Mobiles Hauptmenü

Anzahl der Arbeitstage zwischen zwei Daten mit Eintritt/ Austritt

Begonnen von Username, August 13, 2013, 16:28:45

⏪ vorheriges - nächstes ⏩

rzbuehrer

Leider kenne ich mich mit den Befehlen überhaupt nicht aus.

Die Eintritte haben immer den 1. Tag des Monats im Feld. z.B. 01.01.2014 oder 01.03.2014
Die Austritte haben immer den letzten Tag des Monats im Feld, z.B. 31.03.2014 oder 30.04.2014
Gibt's keine einfache Lösung.
Besten Dank für die Hilfe.


MzKlMu

Hallo,
als Steuerelementinhalt eines Formular/Berichtsfeldes:
=DatDiff("m";[Eintritt];[Austritt])+1
Oder alternativ, als berechnetes Feld einer Abfrage:
Dauer: DatDiff("m";[Eintritt];[Austritt])+1

Ich würde die Abfrage bevorzugen und das Formularfeld an das berechnete Feld (Dauer) binden.
Gruß Klaus

rzbuehrer

Hallo zusammen

Habe leider erst heute wieder Zeit gehabt mein Problem zu lösen.

Habe nun folgende Abfrage eingegeben:

SELECT DISTINCT SA1.Liegenschaftenname, SA1.Objekt, SA1.Mietbeginn, [vondat] AS Ausdr1, [bisdat] AS Ausdr2, SA1.Ende2,

DateDiff("m",[Mietbeginnd],[Ende2d])+1 AS Monate,

IIF([Mietbeginn]<[Ausdr1],[Ausdr1],[Mietbeginn]) AS Mietbeginnd, IIF(IsNull([Ende2]),[Ausdr2],IIF([Ende2]>[Ausdr2],[Ausdr2],[Ende2])) AS Ende2d,

WHERE
(((IIF([Mietbeginn]<[Ausdr1],[Ausdr1],[Mietbeginn])) Between [Ausdr1] And [Ausdr2] AND ((IIf(IsNull([Ende2]),[Ausdr2],IIf([Ende2]>[Ausdr2],[Ausdr2],[Ende2]))) Between [Ausdr1] And [Ausdr2])),

ORDER BY SA1.Liegenschaftenname, SA1.Objekt;


Leider zeigt er mir beim Ausführen einen Syntaxfehler an: Fehlender Operator in Abfrageausdruck Where

Weiss jemand Rat?

Danke für eure Hilfe


MaggieMay

#18
Hi,

entferne die Kommas vor WHERE und ORDER BY.

...außerdem fehlt der FROM-Teil. Und außerdem sind die Klammern im Where-Teil nicht paarig, am besten, du reduzierst sie auf das nötige Mindestmaß, dann fällt das Abzählen leichter.
Freundliche Grüße
MaggieMay