Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: nimora am Februar 14, 2018, 21:21:33

Titel: Datentypkonflikt berechneter Uhrzeitfelder in Abfrage
Beitrag von: nimora am Februar 14, 2018, 21:21:33
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
Titel: Re: Datentypkonflikt berechneter Uhrzeitfelder in Abfrage
Beitrag von: MzKlMu am Februar 14, 2018, 23:29:20
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.
Titel: Re: Datentypkonflikt berechneter Uhrzeitfelder in Abfrage
Beitrag von: nimora am Februar 15, 2018, 00:15:05
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
Titel: Re: Datentypkonflikt berechneter Uhrzeitfelder in Abfrage
Beitrag von: MzKlMu am Februar 15, 2018, 00:19:36
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 ?
Titel: Re: Datentypkonflikt berechneter Uhrzeitfelder in Abfrage
Beitrag von: nimora am Februar 15, 2018, 00:34:31
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
Titel: Re: Datentypkonflikt berechneter Uhrzeitfelder in Abfrage
Beitrag von: MzKlMu am Februar 15, 2018, 01:14:07
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.
Titel: Re: Datentypkonflikt berechneter Uhrzeitfelder in Abfrage
Beitrag von: nimora am Februar 15, 2018, 06:16:17
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.
Titel: Re: Datentypkonflikt berechneter Uhrzeitfelder in Abfrage
Beitrag von: MzKlMu am Februar 15, 2018, 08:07:09
Hallo,
dann zeige halt die Abfrage (SQL).
Titel: Re: Datentypkonflikt berechneter Uhrzeitfelder in Abfrage
Beitrag von: Lachtaube am Februar 15, 2018, 09:07:52
Ich vermute, dass der Fehler durch Null-Werte verursacht wird. Hält man sich streng an das Lehrbuch, das die Funktion DateAdd (https://support.office.com/de-de/article/dateadd-funktion-63befdf6-1ffa-4357-9424-61e8c57afc19) für das Addieren und Subtrahieren von Zeitintervallen empfiehlt, sollte der #Typ-Fehler verschwinden.Start2min: DateAdd("n";1;[Start])
Titel: Re: Datentypkonflikt berechneter Uhrzeitfelder in Abfrage
Beitrag von: nimora am Februar 19, 2018, 08:26:13
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.