April 18, 2021, 02:57:16

Neuigkeiten:

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


Typumwandlungsfehler für Zeiteinheit ->0 01:10:00.600

Begonnen von Technik WIll, März 17, 2021, 21:24:24

⏪ vorheriges - nächstes ⏩

Technik WIll

Hallo zusammen,

leider komme ich hier nicht weiter, habe 2 Tabellen, welche an sich die gleichen Werte / Formate enthalten.
Es ist eine Informix IBM DB. Beim Aktualisieren des Feldes [te] erhalte ich eine Fehlermeldung bezüglich Typumwandlungsfehler, so wird der Wert ausgegeben:
"    0 01:10:00.600"
Wenn ich diese Tabelle in Excel Lade, wird es mir als Binary angezeigt und nach dem Transformieren als Text so ausgegeben:  " � � � �0� �0�0�:�1�0�:�0�0�.�6�0�0�"

SET
  unipps_a_arbeitsplanpos.te = [unipps_teil_aplnpos].[te]

Das ist die komplette SQL Abfrage aus Access:
UPDATE
  (
    (
      (
        unipps_a_arbeitsplanpos
        INNER JOIN unipps_f_auftragkopf ON unipps_a_arbeitsplanpos.ident_nr1 = unipps_f_auftragkopf.ident_nr
      )
      INNER JOIN unipps_teil_aplnpos ON (
        unipps_f_auftragkopf.t_tg_nr = unipps_teil_aplnpos.ident_nr1
      )
      AND (
        unipps_a_arbeitsplanpos.avo = unipps_teil_aplnpos.avo
      )
    )
    INNER JOIN unipps_arbeitsplatz ON unipps_a_arbeitsplanpos.be_nr = unipps_arbeitsplatz.ident_nr
  )
  INNER JOIN unipps_arbeitsplatz AS unipps_arbeitsplatz_1 ON unipps_teil_aplnpos.be_nr = unipps_arbeitsplatz_1.ident_nr
SET
  unipps_a_arbeitsplanpos.te = [unipps_teil_aplnpos].[te]
WHERE
  (
    (
      (unipps_a_arbeitsplanpos.te) <> [unipps_teil_aplnpos].[te]
    )
    AND ((unipps_f_auftragkopf.ident_nr) = 216424)
    AND (
      (unipps_arbeitsplatz.kst) = [unipps_arbeitsplatz_1].[kst]
    )
    AND ((unipps_f_auftragkopf.status) < 7)
    AND ((unipps_teil_aplnpos.ident_nr3) = 1)
    AND ((unipps_f_auftragkopf.unternehmen_werk) = 1)
    AND ((unipps_a_arbeitsplanpos.ausw_fert) = 0)
  )

Wie kann ich das Lösen? Bisher habe ich alles ohne VBA in Access geschafft, oder wird es in diesem Fall notwendig sein?

Technik WIll

Als Ergänzung, der Code funktioniert wenn ich ein anderes Feld der Tabellen für die Aktualisierung verwende. Es scheitert an sich nur wegen dem Format des Zeit Feldes

PhilS

Zitat von: Technik WIll am März 17, 2021, 21:24:24leider komme ich hier nicht weiter, habe 2 Tabellen, welche an sich die gleichen Werte / Formate enthalten.
Es ist eine Informix IBM DB. Beim Aktualisieren des Feldes [te] erhalte ich eine Fehlermeldung bezüglich Typumwandlungsfehler, so wird der Wert ausgegeben:
"    0 01:10:00.600"
Wenn ich diese Tabelle in Excel Lade, wird es mir als Binary angezeigt und nach dem Transformieren als Text so ausgegeben:  " � � � �0� �0�0�:�1�0�:�0�0�.�6�0�0�"

SET
  unipps_a_arbeitsplanpos.te = [unipps_teil_aplnpos].[te]
Du solltest prüfen, welche Datentypen die beiden Felder in der Informix-DB haben.
Eigentlich müssen die Datentypen unterschiedlich sein, sonst dürften sich die beiden Felder nicht unterschiedlich verhalten.

Der nächste Schritt wäre dann zu recherchieren, ob es einen aktualisierten ODBC-Treiber für Informix gibt, der mit dem problematischen Datentyp besser umgehen kann.
Access DevTools - Find and Replace
Komfortables Suchen und Ersetzen in den Entwurfseigenschaften von Access-Objekten. In Abfragen, Formularen, Berichten und VBA-Code - Überall und rasend schnell!

Technik WIll

Danke für den Lösungsansatz, werde das mal versuchen. Habe gehofft das lässt sich innerhalb Access lösen.
Habe an sich auch das Problem, wenn ich dieses Feld mit einem Wert überschreiben möchte, dann entsteht auch dieser Fehler.

Werde nächste Woche mal den Informix Treiber updaten. Danke soweit