Neuigkeiten:

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

Mobiles Hauptmenü

Tageberechnung zeigt falsche Werte an

Begonnen von Ralf26, Januar 06, 2013, 18:54:07

⏪ vorheriges - nächstes ⏩

Ralf26

Hallo,

fast schon am Ziel tun sich hier Probleme auf, für die ich keine Lösung habe.
Allen die mir bis jetzt geholfen haben (DF6GL, bahasu) an dieser Stelle nochmals Danke.

Aktuell habe ich ein Problem mit dem Ergebnis einer Abfrage, das bei einer Datumsberechnung völlig sinnlos Werte anzeigt.
In der Abfrage werden Datummax und Datummin voneinander abgezogen.

Bei Datummax habe ich beispielsweise den 31.10.2012
Bei Datummin den 30.10.2012
Tage:[Datummax]-[Datummin]
Das Ergebnis müsste also 1 sein.
Das angezeigte Ergebnis ist jedoch 1000000
Bei einer Berechnung von Datummax = 09.11.2012 und Datummin = 31.10.2012 erhalte ich 21990000 Tage

Das hört sich für mich nach einem Fehler aufgrund unterschiedlicher Datentypen an. Das habe ich jedoch überprüft und finde den Fehler nicht.

Zum Hintergrund :

Aus einer SAP-Anwendung werden Daten in eine Excel-Tabelle kopiert, die mit der Access-DB verknüpft ist.
Eines dieser Felder ist ein Textfeld mit der Bezeichnung "Positionszeit". Hier steht beispielsweise "31.10.2012 um 08:27 Uhr".
Mit einer Abfrage habe ich das Datum ausgelesen (Datum: Links([Positionszeit];10).
Alle weiteren Abfragen bauen auf dieser Abfrage auf, so dass sich der Datentyp nicht mehr ändern kann.
In der letzten Abfrage, in der es um die Berechnung der Tage geht, habe ich nun diesen Fehler.

Vorab schon mal vielen Dank für einen Tipp woran es liegen könnte.

Viele Grüße,

Ralf26


bahasu

Hi,

das Datum liegt also als String vor?!
Vielleicht hilft es, vor dem Aufruf der im vorigen Beitrag diskutierten Weise dieses in Datum umzuwandeln mit
Datum_SAP: ZDate (Links([Positionszeit];10)).

Eine Bezeichnung wie Datum bitte nicht verwenden, da das ein von access verwendeter Begriff ist. Besser z.B: Datum_SAP

Harald
Servus

MzKlMu

Hallo,
mit einer Stringfunktion (Links, Left) erzeugst Du auch einen String, mit dem man nicht rechen kann. Wandle wie gesagt mit ZDate um, dann sllten auch die Tage klappen.

Datum: ZDate(Links([Positionszeit];10))
Gruß Klaus

Ralf26

Hallo Harald & MzKlMu,

@ Harald : vielen Dank  :) :) :)
Genau das war es .

@ MzKlMu  : Danke für die Erklärung  :) :) :)

Über dieser Datenbank brüte ich seit langer Zeit (sie ist natürlich noch nicht perfekt, aber dank eurer Hilfe endlich lauffähig.)
Ihr habt mir wirklich sehr geholfen,

Vielen Dank nochmals,

Ralf