Office: Ergebnis von DatDiff wird falsch sortiert

Helfe beim Thema Ergebnis von DatDiff wird falsch sortiert in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, um das Auslaufen von Verträgen im Auge zu behalten, habe ich eine Abfrage erstellt mit separater Spalte und folgendem Ausdruck.... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von podie, 18. November 2014.

  1. podie Erfahrener User

    Ergebnis von DatDiff wird falsch sortiert


    Hallo zusammen,

    um das Auslaufen von Verträgen im Auge zu behalten, habe ich eine Abfrage erstellt mit separater Spalte und folgendem Ausdruck.

    Wenn(DatDiff("t";Datum();[Eintritt]+730)>0;DatDiff("t";Datum();[Eintritt]+730);"")

    Die Ergebnisse dieser Abfrage (wie viel Tage verbleiben noch bis zum Auslaufen der Verträge) sind alle korrekt, nur werden die Zahlen die <100 sind in der Reihenfolge falsch dargestellt.

    Eine Sortierung sieht so aus:

    134
    134
    164
    225
    233
    317
    409
    44
    560
    682
    99

    Welchen Grund kann das haben?

    Schöne Grüße
    podie
     
  2. miriki Erfahrener User
    Moinsens!

    Wenn diese Reihenfolge auftritt, dann ist das ein Zeichen dafür, daß die Werte nicht als Zahl, sondern als Text interpretiert werden.

    Bei Text werden die Zeichenketten von links nach rechts zeichenweise verglichen. und "9" (von 99) ist dann größer als "1" (von 123). Es sind also keine Zahlen, es sind nur Texte, die zufällig wie Zahlen aussehen.

    Abhilfe könnte ev. sein, das "sonst" in der "wenn" Abfrage nicht mit "" sondern mit 0 (also der Zahl Null, ohne Anführungszeichen!) zu besetzen.

    Ansonsten könntest Du das Ergebnis auch noch links mit "0" auffüllen, z.B. auf 4 Stellen oder so. Es bleibt dann aber ein Text und könnte in der Folge, wenn Du damit etwas berechnen willst, ev. zu Problemen führen (muß aber nicht).

    Gruß, Michael
     
  3. podie Erfahrener User
    Guten Morgen Michael,

    vielen Dank für die ausführliche Antwort... die ich sofort umgesetzt habe, aber ich verstehe nicht, warum das mit der "0" funktioniert.

    Die " " in der Wenn-Abfrage sollten nur die Werte der Verträge unterdrücken, die über den Zeitpunkt "Null" hinausgehen. Das die "0" einen Einfluss auf die Ergebnisse hat erschließt sich mir nicht.

    Wenn Du dazu noch eine Erklärung hättest wäre das prima. Ansonsten, wie so oft im Leben, werde ich einfach akzeptieren das es so ist wie es ist.

    Nochmals vielen Dank und bis zum nächsten Mal.
    Schöne Grüße
    podie
     
  4. miriki Erfahrener User

    Ergebnis von DatDiff wird falsch sortiert

    Moinsens!

    Ich denke, Du meinst a) Die "0" als Ergebnis im "sonst"-Zweig der "wenn"-Abfrage und b) die "0" in der Formel selbst dann ohne Anführungszeichen, also als Zahl und nicht als Text.

    Durch die 0 (als Zahl) muß Access erst gar nicht versuchen, zu interpretieren, ob die Daten in der Spalte Text oder Zahl sind. Wenn, egal welcher Umstand, immer eine Zahl aus Deinem "wenn" kommt, dann kann Access auch die Daten insgesamt als Zahl behandeln und damit entsprechend numerisch sortieren.

    Wenn aber mal Zahlen, mal Texte (und "" ist auch ein Text, wenn auch ein leerer) rauskommen, dann geht Access erstmal vorsichtshalber von Text insgesamt aus und sortiert entsprechend alphabetisch.

    Die 0 soll eigentlich keinen Einfluß auf das Ergebnis haben, aber auf die Art der Interpretation.

    Es sei denn, Du meinst jetzt die "ausfüllende" 0, also die Zahlen links mit 0en auf eine bestimmte Länge auffüllen.

    Das wäre dann so:
    00023
    00034
    00135
    02468
    Alternativ kannst Du auch mit " ", also einem Leerzeichen, auffüllen. Die "robustere" Methode ist aber die "0", da da keine Gefahr auf ungewollte Optimierung (trimmen) besteht.

    (Das ist übrigens bei z.B. Vorwahlen und Postleitzahlen wichtig. Das sind nämlich keine Zahlen, sonder Texte, die aber eben nur aus Ziffern bestehen und deswegen wie Zahlen aussehen.)

    Gruß, Michael
     
  5. podie Erfahrener User
    Hallo Michael,

    richtig, ich meinte die Null ohne " ", und Dank Deiner guten Erläuterung habe ich das verstanden.

    Vielen Dank dafür.

    Bis dahin alles Gute.
    Gruß podie
     
Thema:

Ergebnis von DatDiff wird falsch sortiert

Die Seite wird geladen...
  1. Ergebnis von DatDiff wird falsch sortiert - Similar Threads - Ergebnis DatDiff falsch

  2. Ergebnis aus INDEX und Vergleich Formel weiter Verwenden

    in Microsoft Excel Hilfe
    Ergebnis aus INDEX und Vergleich Formel weiter Verwenden: Hallo :-) Ich möchte ein Ergebnis aus einer Formel (Index/Vergleich) mit einer Wenn Funktion auswerten. Wenn sieht aber nicht das Ergebnis in dem Kästchen sondern nur die Formel!...
  3. Errechnung einer zeitlichen Differenz mit einem Maximalwert im Ergebnis

    in Microsoft Excel Hilfe
    Errechnung einer zeitlichen Differenz mit einem Maximalwert im Ergebnis: Hallo zusammen ... Ich benötige mal Hilfe bei der Erstellung einer Formel, in der Hoffnung dass diese so überhaupt möglich ist ... Ich habe zwei Zeitangaben und errechne hierzu die Differenz, das...
  4. VBA Code ohne ergebnis

    in Microsoft Excel Hilfe
    VBA Code ohne ergebnis: Hallo, ich habe einen VBA Code der in meiner Tabelle nicht funktioniert. Kann mir vielleicht jemand bei der Korrektur ggf. weiter helfen? Danke und Gruß Private Sub Worksheet_Change(ByVal Target...
  5. Unerklärliches Ergebnis

    in Microsoft Excel Hilfe
    Unerklärliches Ergebnis: Hallo, warum wird in F8 ein Produkt angezeigt, obwohl kein Multiplikator angegeben wurde?
  6. DATEDIF Ergebnis

    in Microsoft Excel Hilfe
    DATEDIF Ergebnis: Hallo, ich bitte um Hilfe bei DATEDIF z. B. =DATEDIF(Anfangsdatum;Enddatum;"Y") ergibt zB. 8 in derZelle. Ich möchte aber, dass in einer Zelle 8 Jahre steht. Was muss hier hinter "Y" noch...
  7. Zusammengeführtes Ergebnis

    in Microsoft Excel Hilfe
    Zusammengeführtes Ergebnis: Hallo Zusammen, ich hoffe ich mache hiermit keinen neuen Thread auf, jedoch wusste ich leider auch nicht so wirklich was wie ich das Thema korrekt beschreibe. Ich habe folgendes Problem zu...
  8. Excel Funktion, Ergebnis aus Zelle behalten obwohl Ursprungszelle entfernt wird

    in Microsoft Excel Hilfe
    Excel Funktion, Ergebnis aus Zelle behalten obwohl Ursprungszelle entfernt wird: Hallo, Ich habe folgendes Problem. Ich möchte aus einer Lsite aus einem anderen Tabellenblatt werte filtern und in eine bestimmte liste einfügen wenn sie die Bedingungen erfüllen. Jedoch sollen...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden