Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Null Wert anzeigen

Begonnen von fsimnetz, August 22, 2023, 08:17:35

⏪ vorheriges - nächstes ⏩

fsimnetz

Guten Morgen,

In einer Abfrage (10 Tage Übersicht) erhalte ich die berechnete Anzahl (ID) pro Tag. Ich möchte aber auch die Tage mit 0 anzeigen lassen, welche bisher ausgeblendet werden.

SELECT Count(tblGesamt.ID) AS Ausgang, tblGesamt.Ausgangsdatum
FROM tblGesamt
WHERE (((tblGesamt.Ausgangsdatum) Between Date() And Date()-10) AND ((tblGesamt.ID)=Nz([ID],0)))
GROUP BY tblGesamt.Ausgangsdatum
ORDER BY tblGesamt.Ausgangsdatum DESC;
 
Leider funktioniert meine og Abfrage nicht, dh die Nullwerte werden weiterhin ausgeblendet.


Gruß fsimnetz

ebs17

#1
Deine Aussage ist falsch. Fehlende Datensätze sind keine NULL-Werte, sondern noch weniger. Um festzustellen, dass es undefinierte Inhalte gibt, muss man ja erst einmal den Träger von Inhalten gleich Datensatz haben. Ein Nichts aus dem Nichts zu greifen wird technisch nicht gelingen.

ZitatTage ... anzeigen lassen, welche bisher ausgeblendet werden
Durch den Filter wird auf einen Zeitraum eingeschränkt. Innerhalb des Zeitraums sollte alles angezeigt werden, was vorhanden ist. Lücken in Tabellendaten bleiben Lücken. Was also meinst Du mit "Ausblenden"?

Pauschaler Umgang: Man besorgt sich eine vollständige Menge (vollständige Tagesliste) und bindet die eigene Menge per LEFT JOIN an. Damit hat man fortlaufende Datensätze und kann auf der rechten Seite fehlende Inhalte verarbeiten.
Mit freundlichem Glück Auf!

Eberhard

fsimnetz

Ja, ich verstehe Deine Argumentation, zumindest teilweise. Ausblenden war auch der falsche Begriff, es ist ja nichts ausgeblendet. Was Du jedoch mit einer vollständigen Tagesliste meinst, ist mir nicht klar. Wenn ich bspw. an aufeinanderfolgenden fünf Tagen (Datum) Daten habe, am sechsten Tag nicht, aber am siebten jedoch wieder, so wird bei meiner Abfrage der sechste Tag ,,ausgeblendet", de facto nicht gelistet. Hier soll aber die 0 rein. Was verstehst Du hier unter einer vollständigen Tagesliste?

Gruß

MzKlMu

Hallo,
Zitatvollständigen Tagesliste?
Das ist eine Hilfstabelle die alle Tage ohne Lücken enthält.
Dann folgst Du den weiteren Ratschlägen von Eberhard im letzten Absatz.
Gruß Klaus

fsimnetz

Ja, Groschen gefallen, leuchtet mir ein. Leider kann ich das mit Left join nicht umsetzen, dafür fehlen mir doch noch die notwendigen VBA Kenntnisse. Eine Hilfstabelle zu erstellen schaffe ich noch ;D

Vielen Dank

Gruß

MzKlMu

#5
Hallo,
Zitatdafür fehlen mir doch noch die notwendigen VBA Kenntnisse.
Mit VBA hat das nicht das geringste zu tun. Das ist SQL.
Wenn man sich mit Datenbanken beschäftigt, sollte man schon wissen, was INNER JOIN, LEFT JOIN und RIGHT JOIN bedeutet. Und der Unterschied zwischen VBA und SQL sollte man auch kennen.
Das gehört zu den Basics. Man kann auch mal bei Google nachsehen. (Access Left Join).

Nimm beide Tabellen in die Abfrage auf. Lege die Verknüpfung an (über das Datum).
Schaue Dir den SQL Text dazu an und mache aus INNER > LEFT.

Zu den Grundlagen:
https://www.access-tutorial.de
Und aus diesem Tutorial:
https://www.access-tutorial.de/abfragen/uebergreifend.htm
Gruß Klaus

ebs17

ZitatWas verstehst Du hier unter einer vollständigen Tagesliste?
Allgemein gesprochen:  Übertragung Deiner Vorstellungen auf Vollständigkeit aus Deinem Denken in etwas programmatisch Greif- und Verwertbares.
Mit freundlichem Glück Auf!

Eberhard

fsimnetz

#7
Zitat von: ebs17 am August 22, 2023, 12:28:17Allgemein gesprochen:  Übertragung Deiner Vorstellungen auf Vollständigkeit ...

;D  Danke

Gruß

fsimnetz

#8
Zitat von: MzKlMu am August 22, 2023, 11:07:41Mit VBA hat das nicht das geringste zu tun. Das ist SQL.

Ich gebe mir Mühe, danke für die Hilfestellung

Gruß

MzKlMu

@fsimnetz
Bitte unterlasse das Zitieren vollständiger Beiträge. Das ist Platzverschwendung und verlängert unnötigerweise die Themen.
Gruß Klaus