Probleme mit einer Abfrage in Access
Hallo Gemeinschaft,
habe ein Problem mit einer Abfrage
folgende Fälle gibt es
ohne Steuer + Festvermietung
ohne Steuer + Teilvermietung
ohne Steuer
mit Steuer + Festvermietung
mit Steuer + Teilvermietung
mit Steuer
breche mir da die Ohren bei, wenn ich es so in der Art machen möchte
Betrag: Format(Wenn([Teilmietbetrag_Auswahl]=Wahr Und [Mwst]=-1;[Gas]+[Wasser]+[Strom];..................);"Festkommazahl")
habe ein Problem mit einer Abfrage
folgende Fälle gibt es
ohne Steuer + Festvermietung
ohne Steuer + Teilvermietung
ohne Steuer
mit Steuer + Festvermietung
mit Steuer + Teilvermietung
mit Steuer
breche mir da die Ohren bei, wenn ich es so in der Art machen möchte
Betrag: Format(Wenn([Teilmietbetrag_Auswahl]=Wahr Und [Mwst]=-1;[Gas]+[Wasser]+[Strom];..................);"Festkommazahl")
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 3689040389
Url: https://administrator.de/forum/probleme-mit-einer-abfrage-in-access-3689040389.html
Ausgedruckt am: 22.12.2024 um 18:12 Uhr
14 Kommentare
Neuester Kommentar
Zitat von @jhaustein:
ich möchte erst einmal verstehen, wo in der obigen query der fehler ist - wenn ich die zum laufen bekomme, dann geht der rest
Dann Zerlege das Problem in möglichst kleine Teile.
Erstes Problem:
Gesetzt den Fall, Anreisetag und Abreisetag sind Datumsfelder, kann das unbekannte Datenbanksystem solche Datumsoperationen durchführen, oder müssen Hilfsfunktionen, wie z. B. DATEDIFF (day, Anreisetag, Abreisetag), benutzt werden?
Zitat von @jhaustein:
nein - zur Einfachheit können wir diesen Term auch weglassen
SELECT (CASE WHEN [Abreisetag]-[Anreisetag] < 6 then 6
else 9 END) AS Test
FROM abfr_mietabrechnung;
SELECT (CASE WHEN [Abreisetag]-[Anreisetag] < 6 then 6
else 9 END) AS Test
FROM abfr_mietabrechnung;
Viel zu komplex.
Unterstützt das unbekannte Datenbanksystem Datumsoperationen in dieser Form, werden Conditional Expressions in Form von CASE in diesem Syntax unterstützt, ...
Also zurück auf Start:
Gesetzt den Fall, Anreisetag und Abreisetag sind Datumsfelder, kann das unbekannte Datenbanksystem solche Datumsoperationen in dieser Form durchführen, oder müssen Hilfsfunktionen, wie z. B. DATEDIFF (day, Anreisetag, Abreisetag), benutzt werden?
Auch in dem Fall wird [Abreisetag]-[Anreisetag] gerechnet, welchen Datentypen haben die Spalten?
Access scheint übrigens kein CASE zu können, IIF könnte eine Alternative sein:
https://stackoverflow.com/questions/772461/case-expressions-in-access
Ich bin aber bei Access nicht auf der Höhe, eventuell ist das auch mittlerweile implementiert.
Access scheint übrigens kein CASE zu können, IIF könnte eine Alternative sein:
https://stackoverflow.com/questions/772461/case-expressions-in-access
Ich bin aber bei Access nicht auf der Höhe, eventuell ist das auch mittlerweile implementiert.
Zitat von @jhaustein:
wieso unbekanntes Dateisystem - MS Access
Da steht nirgends etwas von MS Access als Backend zur Datenhaltung. Ich war da schon von etwas vernünftigem ausgegangen, wenn es schon MS Access als Frontend sein muss
Zitat von @jhaustein:
könnt ihr mir dabei helfen das statement mit iif zu erstellen
Datentyp ist Datum - und das rechnet auch korrekt - nur ich brauche eben die Fallabfrage
Datentyp ist Datum - und das rechnet auch korrekt - nur ich brauche eben die Fallabfrage
Nachdem jetzt Datenbank Backend und Feldtypen geklärt sind, könnte es auf so etwas hinauslaufen
SELECT IIf(([Abreisetag]-[Anreisetag])<6, 6, 9) AS Test FROM abfr_mietabrechnung;
da MS Access kein CASE kennt.