Neuigkeiten:

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

Mobiles Hauptmenü

die Werte nach ihrem aktuellsten Datum anzeigen lassen

Begonnen von Mahi, Dezember 07, 2020, 15:08:38

⏪ vorheriges - nächstes ⏩

Mahi

Hallo,

Ich habe eine Tabelle in der DB, und möchte in einer Abfrage 2 Kriterien einstellen, das erste Kriterium ist, dass die Daten aus der Spalte KundenNr nach dem Datum bzw. nach ihrem aktuellstem Datum gefiltert werden.
zum Beispiel:

KundenNr   Change On
1008690      5.04.2019
1008690      9.05.2019
1008690      9.07.2019
1008690           12.10.2019

Ich will in meiner Abfrage nur die KundenNr mit ihrer letzten Änderung ( letzes Datum) anzeigen lassen.

kann jemand bitte mir helfen?

LG
Mahi

Beaker s.a.

Hallo,
Klicke in der Abfrageentwurfsansicht oben rechts mal auf das Summenzeichen.
Vielleicht bekommst du es dann selber hin. Falls dir da kein Licht aufgeht,
melde dich ruhig wieder.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

PhilS

Zitat von: Mahi am Dezember 07, 2020, 15:08:38Ich habe eine Tabelle in der DB, und möchte in einer Abfrage 2 Kriterien einstellen, das erste Kriterium ist, dass die Daten aus der Spalte KundenNr nach dem Datum bzw. nach ihrem aktuellstem Datum gefiltert werden.
Schau dir mal den Absatz Daten des letzten Kind-Datensatzes anzeigen (2. Hälfte des Textes) an. Das behandelt genau deine Fragestellung.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Mahi


Mahi

wenn ich dieses Kriterium mit einer Wenn-Funktion kombinieren möchte, wie kann das dann funktioniern ?
z.B.
Ich will das letzte Änderungsdatumm UND Type nicht D ist , dass heißt: zeige mir das letzte Datum der KundenNr nur wenn deren Typ nicht "D" ist .

KundenNr     Change On   Type
1008690      5.04.2019    A
1008690      9.05.2019    F
1008690      9.07.2019    U
1008690      12.10.2019   D   Das muss nicht angezeigt werden, weil die letzte Änderung "D" ist

Beaker s.a.

Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Mahi

Das ist als eine allgemeine Antwort ganz richtig, aber hier geht's darum, wenn die letzte Änderung "D" wäre, dann muss diese KundenNr komplett nicht angezeigt werden, mit dieser Lösung was du mir geschrieben hast, wird die KundenNr mit vorherigen und alten Datum und deren Typen angezeigt.

Also das Ziel ist, wenn Typ "D" ist ( D heißt DELET ), bedeutet das, dass KundenNr wurde in der Tabelle gelöscht und wir haben keinen Kundnen mit dieser Nummer, wir wollen das in unserer Abfrage filtern und nur diejenige anzeigen, dernen Typ nicht "D" ist .

z.B.
KundenNr     Change On   Type
1008690      5.04.2019    A
1008690      9.05.2019    F
1008690      9.07.2019    U
1008690      12.10.2019   D   Dise Nummer muss nicht angezeigt werden, weil die letzte Änderung "D" ist
1009388      9.05.2019    A
1009388     10.05.2019    U Dieses Nummer muss aber wiederrum angezeigt werden, weil letzte Änderung U ist.

ebs17

Zitatnur diejenige anzeigen, dernen Typ nicht "D" ist
SELECT
   T.*
FROM
   TabelleX AS T
WHERE
   NOT EXISTS
      (
         SELECT
            NULL
         FROM
            TabelleX AS X
         WHERE
            X.KundenNr = T.KundenNr
               AND
            X.Type = 'D'
      )
Damit wird die Tabelle auf jene Kunden reduziert, bei denen es keinen Löscheintrag gibt. Diese Abfrage kannst Du nun mit der Ermittlung des letzten Eintrages verknüpfen.
Mit freundlichem Glück Auf!

Eberhard

Mahi

Das hat leider nicht funktioniert, ich bekomme immer noch die Kunden mit Type 'D' angezeigt :(

PhilS

Zitat von: Mahi am Dezember 13, 2020, 20:28:11Das hat leider nicht funktioniert, ich bekomme immer noch die Kunden mit Type 'D' angezeigt :(
Zeig mal den vollständigen SQL-Text deiner Abfrage.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Mahi

SELECT Kunden.[KundenNr], Kunden.Origin, Kunden.Note, Kunden.Type, Max(Kunden.[Changed On]) AS [MaxOfChanged On], Kunden.[Changed at]
FROM Kunden
GROUP BY Kunden.[KundenNr], Kunden.Origin, Kunden.Note, Kunden.Type,
HAVING (((Kunden.Origin)="T"));