Neuigkeiten:

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

Mobiles Hauptmenü

Abbruch beim txtFile Import.

Begonnen von Debus, März 10, 2023, 15:56:26

⏪ vorheriges - nächstes ⏩

Debus

Das Zeichen kann ich wie folgt umwandeln, aber halt nicht mit der Funktion.

In der Funktion könnte ich auch mit CHR(xxx) arbeiten aber die Zahl krieg ich auch nicht raus.

Hier was ich rausgefunden habe
UTF-8 dezimal
226 150 128
UTF-8 hex
E2 96 80
.html Entity
▀
.html dezimal
#9600
.html hexadezimal
#x2580
Unicode Block
2580-259F
Unicode dezimal
9600
Unicode hexadezimal
U+2580
UTF-8 länge
3
UTF-8 binär
11100010 10010110 10000000


Danke
DD

Beaker s.a.

Hallo,
Vor ca. 20 Jahren bekam ich mal dieses
Option Compare Database
Option Explicit
'Dieses Modul stammt von Norbert Kammer aus einer Access-Newsgroup

Declare Function OemToChar Lib "user32" Alias "OemToCharA" _
        (ByVal lpszSrc As String, _
        ByVal lpszDst As String) As Long

Declare Function CharToOem Lib "user32" Alias "CharToOemA" _
        (ByVal lpszSrc As String, _
        ByVal lpszDst As String) As Long

Public Function Dos2Ansi( _
        ByVal cDos As String) As String

    Dim cErg As String
    Dim X    As Long
   
    cErg = Space$(Len(cDos & vbNullString))
    X = OemToChar(cDos, cErg)
   
    Dos2Ansi = cErg

End Function
Ich habe das seinerzeit für den Import der Leitdaten (DHL) verwendet. Die letzte Nutzung
liegt jetzt aber auch schon bestimmt 10 Jahre zurück. Über verwendete Codepages kann ich
leider nichts mehr sagen.
Vielleicht ist es einen Versuch wert.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

PhilS

Zitat von: Beaker s.a. am März 12, 2023, 10:56:25Vielleicht ist es einen Versuch wert.
Das OEM Character Set meint nach meinem Verständnis CP437 ("OEM United States").
Schön, wenn es hilft. - Aber man könnte halt auch diese Code Page in der Importspezifikation festlegen, anstatt erstmal Quark zu importieren, den man nachträglich bereinigt.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

ebs17

Westeuropäisch (DOS): DOS steht ja irgendwie für Anfänge, wo Ressourcen noch drastisch schmaler waren und man sich zweckmäßig oft auf ASCII-Codes <= 127 beschränkte.
Da müsste mir einer seine Fixierung auf DOS erst einmal ausführlich begründen.
Mit freundlichem Glück Auf!

Eberhard

Debus

Guten Morgen,

leider können wir beim Großrechner Export keinen Unterschied feststellen, denn eine Datei geht ja und eine andere nicht. Laut Export am Großrechner ist alles gleich (ausser natürlich der überwiegende Teil der Felder).

Ich danke Euch allen trotzdem für die Hilfestellungen. Ich werde hier wohl mit dem "Fehler" leben müssen.


Wie gesagt trotzdem herzlichen Dank

DD





PhilS

Zitat von: DD am März 13, 2023, 12:17:43Laut Export am Großrechner ist alles gleich (ausser natürlich der überwiegende Teil der Felder).
Für genau dieses potenzielle Ergebnis hatte ich dir ober den folgenden Absatz geschrieben:

Zitat von: PhilS am März 11, 2023, 18:34:37Wenn das noch nicht weiterhilft, solltest du mal im Hex-Editor ein "ü", das erfolgreich importiert wurde, mit einem "ü" in einem problematischen Datensatz vergleichen. Möglicherweise sind die verschiedenen Datensätze im Quellsystem mit verschiedenen Zeichensätzen kodiert, und der Export spuckt die Daten einfach 1:1 aus, was dann zu verschiedenen Codierungen innerhalb einer Datei führt.

Das wäre natürlich noch keine Lösung des Problems, aber es wäre eine nachvollziehbare Erklärung. Eine solche zu haben wäre mir jedenfalls lieber, als mit irgendwelchen mysteriösen Fehlern unklarer Herkunft leben zu müssen.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Beaker s.a.

Hallo Philip, hallo Eberhard,

Ich weiss nicht ob ihr die Leitdatendatei, die seinerzeit von der Post/DHL zur
Verfügung gestellt wurde, kennt. Das war eine riesige Textdatei (460Mb) in der
ca. ein Dtzd. Tabellen mit unterschiedlichen Datensatzlängen (definiert durch
feste Feldlängen) vereint waren. Über eine Kennung waren die zwar zu isolieren,
aber mit Importspezifikation war da nix. Jedenfalls nicht mit meinen damaligen,
schmalen Fähigkeiten. Wüsste aber heute auch noch nicht, wie man da per IS die
einzelnen Tabellen verknüpfen könnte. Inzwischen brauch ich es aber auch schon
lange nicht mehr.
Der Import an sich funktionierte dann auch nur sequentiell.

gruss ekkehard

P.S. Das war mein erster Kontakt zu Importen. Und seit ich das damals mit Hilfe
der "Altgurus" aus den Access-Newsgroups hinbekommen hatte, habe ich keine
Probleme mehr mit Importen, - da hab ich seitdem so ziemlich alles reinbekommen.
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Debus

Zitat von: PhilS am März 13, 2023, 12:54:25
Zitat von: DD am März 13, 2023, 12:17:43Laut Export am Großrechner ist alles gleich (ausser natürlich der überwiegende Teil der Felder).
Für genau dieses potenzielle Ergebnis hatte ich dir ober den folgenden Absatz geschrieben:

Zitat von: PhilS am März 11, 2023, 18:34:37Wenn das noch nicht weiterhilft, solltest du mal im Hex-Editor ein "ü", das erfolgreich importiert wurde, mit einem "ü" in einem problematischen Datensatz vergleichen. Möglicherweise sind die verschiedenen Datensätze im Quellsystem mit verschiedenen Zeichensätzen kodiert, und der Export spuckt die Daten einfach 1:1 aus, was dann zu verschiedenen Codierungen innerhalb einer Datei führt.

Das wäre natürlich noch keine Lösung des Problems, aber es wäre eine nachvollziehbare Erklärung. Eine solche zu haben wäre mir jedenfalls lieber, als mit irgendwelchen mysteriösen Fehlern unklarer Herkunft leben zu müssen.


Ja, prinzipiell hast Du recht, aber wenn ich in Einer Datei das Feld Kennung habe und es richtig läuft und bei der anderen das gleiche Feld Kennung nehme und es hier falsch läuft, aber die Aussage der Kollegen lautet die CodePages sind die gleichen, dann kann ich da auch nichts mehr machen.

Nach Rückfrage bei einem anderen Kollegen, der die Datei auch benutzt nur nicht in Access, und diese dort auch importiert hat der dieselben Probleme. Warum die Kollegen das vom Großrechner nicht anders hinbekommen, da habe ich keine Ahnung. Aber wie gesagt Danke nochmal und ich muss damit leben ( 2025 soll das System abgelöst werden ;))))         ).

DD

PhilS

Zitat von: DD am März 13, 2023, 13:18:01die Aussage der Kollegen lautet die CodePages sind die gleichen, dann kann ich da auch nichts mehr machen.
Wenn man konkret belegen kann, dass diese Aussage nicht stimmt, könnte das anders aussehen...

Aber am Ende ist es natürlich deine Sache, ob das erfolgversprechend ist und wie du mit dem Problem weiter umgehst.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

ebs17

Zitatdie Aussage der Kollegen lautet die CodePages sind die gleichen
Und welchen Namen tragen die Codepages (klingt zudem nach mehr als einer ...?)?
Wenn man es wüsste, sollte man es doch laut sagen können.
Wenn Ihr auch noch zusammenarbeitet: Warum kann es zu solch einem Rumgeeiere kommen? Miteinander reden ist mehr als sich gegenseitig Worte zuzuwerfen.

@ekkehard: Mehrere Tabellen in einer Datei? Dann müsste man die Tabellen auf einzelne Dateien trennen und dann pro Tabelle/Datei die richtige IS zuordnen. Hoffentlich gibt es da Standards/Regelmäßigkeiten.

Ich hatte mal eine Textdateivariante, da waren mit Bindestrichen und Pipes echte Tabellen gemalt (so zum richtig schönen Anschauen), das Ganze mit festen Längen, wobei sich aber von Datei zu Datei die festen Längen änderten, weil sie sich nach den Textlängen von Inhalten richteten.
Dort habe ich mit einer IS gearbeitet, die jeweils per VBA an die Datei angepasst wurde.
Wenn man zeilenweise liest und auswertet, ist ja der Aufwand keinesfalls kleiner.
Mit freundlichem Glück Auf!

Eberhard

Beaker s.a.

Hallo Eberhard,
Wie geschrieben brauch ich jetzt eh nicht mehr, aber auf den Ansatz die Datei
vor dem Import auf einzelne Dateien aufzuteilen, auf die man dann eine IS hätte
anwenden können, hat man mich damals nicht gebracht, und um selber drauf zu
kommen war ich damals noch zu "grün".
Inzwischen komme ich aber mit den meisten, ich sag mal "ungewöhnlichen", Text-
importen ziemlich gut zurecht.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)