Neuigkeiten:

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

Mobiles Hauptmenü

Datentypkonflikt berechneter Uhrzeitfelder in Abfrage

Begonnen von nimora, Februar 14, 2018, 21:21:33

⏪ vorheriges - nächstes ⏩

nimora

Tach,

ich habe eine abfrage genutzt, um zu uhrzeiten verschiedene zeitintervalle dazuzurechnen um diese dann weiterzuverarbeiten.

Start2min: ZeitSeriell(Links([Start];2);Int(Teil([Start];4;2)+1);0)

Um dies weiterhin als im System erkannte Uhrzeit zu definieren (so dachte ich) nutze ich ZDate:

2minTime: ZDate([Start2min])

Wenn ich dieses Feld (2minTime) dann in einer weiteren abfrage mit "echten" Uhrzeitfeldern vergelichen möchte, kommt ein Datentypkonflikt.

Tut ZDate hier nicht das, was ich denke, das es tun soll?

btw: auch "Start2min" bekommt einen Datentypenkonflikt

thx

MzKlMu

Hallo,
in der Formel sind gleich mehrere Fehler.
Links und Teil erzeugen Text, die Funktion braucht aber Zahlen. Int braucht auch eine Zahl.
Für Stunde und Minuten gibt es auch Funktionen. Int braucht es dann gar nicht mehr, war sowieso überflüssig. Teil(4;2) zeigt sowieso eine Zahl, was soll da Int ?
Start2min: ZeitSeriell(Stunde([Start]);Minute([Start])+1;0)
Eine Minute kannst Du auch so addieren:
Start2min: Start+1/1440
ZDate ist komplett überflüssig, Start2min ist ohnehin eine Zeit.

Uhrzeiten zu vergleichen ist wegen der Fließkommaproblematik auch problematisch.
Gruß Klaus

nimora

Hi MzKlMu,

besten Dank für die Antwort. Wieder was gelernt und das klingt auch alles logisch.

Habe es nach deiner Empfehlung geändert, dennoch bleibt die Fehlermeldung dieselbe.

Könnte es noch etwas anderes sein?

Du sagst, das Vergleichen von Uhrzeiten ist wegen der Fließkommazahl problematisch? Dennoch ja evtl. nichts untypisches. Gibt es einen unproblematischeren Weg?

Grundsätzlich wäre ich aber zufrieden, wenn die Fehlermeldung nicht mehr erscheinen würde und der simple Vergleich funktioniert.

Besten Dank

MzKlMu

Hallo,
zeige bitte die vollständigen Formeln.
Wie soll man etwas beurteilen das man nicht sieht ?
Man weiß doch nicht ob es richtig umgesetzt ist.

Welcher Datentyp hat denn Start in der Tabelle ?
Gruß Klaus

nimora

das was ich oben angegeben habe, ist die vollständige Angabe. Ich will lediglich in Minuten-Schritten erweitern. [Start] ist aus der Tabelle.

Datentyp ist der Quell-Tabelle ist natürlich Datum/Uhrzeit

MzKlMu

#5
Hallo,
Zitatdas was ich oben angegeben habe, ist die vollständige Angabe.
sorry. aber was soll eine solche Antwort ?
Das was Du oben angegeben hast ist doch falsch. Die richtigen Formeln hatte ich doch gepostet. Und von deren Umsetzung ist nichts zu sehen. Meine Formeln sind richtig und sind getestet, auch die Kurzform mit +1/1440.
Vielleicht solltest Du diese einfach malprobieren.
Gruß Klaus

nimora

ZitatHabe es nach deiner Empfehlung geändert, dennoch bleibt die Fehlermeldung dieselbe.

was kann oder soll ich anderes tun? ich habe es doch so geändert. warum beschimpfst du mich?`

Start2min: ZeitSeriell(Stunde([Start]);Minute([Start])+1;0) genau das, was du angegeben hast, habe ich eingefügt. technisch funktioniert das auch, nur in der nächsten abfrage, in der eben die uhrzeiten verglichen werden sollen, kommt wieder die fehlermeldung.

MzKlMu

Gruß Klaus

Lachtaube

Ich vermute, dass der Fehler durch Null-Werte verursacht wird. Hält man sich streng an das Lehrbuch, das die Funktion DateAdd für das Addieren und Subtrahieren von Zeitintervallen empfiehlt, sollte der #Typ-Fehler verschwinden.Start2min: DateAdd("n";1;[Start])
Grüße von der (⌒▽⌒)

nimora

Sorry für die späte Reaktion, in den vergangenen Tagen war kaum Zeit.

DateAdd hat geholfen und ist ja denkbar einfach.

Vielen Dank für eure Bemühungen.