Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
336to340
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
336to340
336to340
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Fehlerhafter Export als DBF4 Datei

Fehlerhafter Export als DBF4 Datei
16.11.2003 22:35:05
Volker Croll
Hallo zusammen,


Mein Hauptproblem:

Beim Abspeichern einer Excel-Tabelle in DBASE IV werden alle Textfelder zwar korrekt als Typ "Zeichen" angelegt, aber alle in der gleichen Breite 11. Laengere Texte werden gnadenlos abgeschnitten.

Habe div. Hinweise der Online-Hilfe (z.B. Schrift Courier verwenden, optimale Spaltenbreite einstellen etc.) und Tipps/Tricks aus dem Archiv (erst groessere Schrift, dann Spaltenbreite, dann wieder kleinere Schrift usw.) ausprobiert, leider ohne Erfolg. Es bleibt immer bei max. 11 Zeichen.


Ausserdem habe ich Probleme mit den Umlauten:

Diese werden nicht korrekt in die dbf uebernommen. Lauf Online-Hilfe ist wohl die eindeutige Zuweisung einer Codepage nicht moeglich, oder?
Im Moment helfe ich mir mit Ersetzen der Umlaute in ae, oe usw.; ist aber leider eine eigentlich zu vermeidende Veraenderung der Originaldaten, denn aus meiner *.dbf heraus werden die Daten anschliessend mit einer FoxPro-Anwendung weiterverarbeitet.


Habe ich etwas uebersehen? Kennt jemand diese Probleme und wie man sie in den Griff bekommt?


Gruss Volker

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehlerhafter Export als DBF4 Datei
17.11.2003 17:00:08
Jens_Pu
Hallo Volker,

formatiere Deine Exceldatei mit der Schrift Courier.
Setze die Spaltenbreite auf optimale Breite. Alles was nicht am Bildschirm in der Zelle steht wird abgeschnitten.

So dürfte Dein 1. Problem weg sein.
Vielleicht ist es aber überhaupt besser, Du gehst den Umweg über eine Textdatei.
Von Excel in eine Textdatei exportieren.
In Dbase eine Datenbank mit der gewünschten Struktur anlegen und von der Textdatei importieren.

Gruss Jens
Noch offen ...
17.11.2003 18:13:27
Volker Croll
Hallo Jens,

danke fuer Deine Antwort. Aber wie ich schon schrieb, habe ich genau dieses ja schon ausprobiert. Trotzdem - und das macht mich so stutzig - werden alle(!) Textfelder mit der Feldbreite 11 angelegt, auch wenn weniger Zeichen drin stehen.

Leider ist der vorgeschlagene Umweg nicht moeglich, weil der User mit meinem Excel-Tool Daten erstellt/bearbeitet, diese dann als dbf braucht, weil seine FoxPro-Anwendung nur eine solche weiterverarbeiten kann. Natuerlich kann FoxPro grundsaetzlich auch mit Excel-Dateien umgehen, nur auf das dort vorhandene FoxPro-Programm habe ich keinen Einfluss. Muss mich also an die vorgegebene Schnittstelle halten.

Gruss Volker
Anzeige
AW: Noch offen ...
17.11.2003 22:45:32
Jens_Pu
Hallo Volker,

da hast Du ein Problem.
So wie es aussieht, geht Excel bei der Konvertierung zur Dbase-Datei von der Spaltenbreite aus.
Meine DBASE-Zeit liegt auch schon ein paar Jahre zurück.
So eine wage Vermutung habe ich noch wie das mal war.
Versuch doch mal folgendes:
Geh den Weg mal rückwärts.
Nimm die DBASE-Datei vom Kunden und lese die mal in Excel ein. Vielleicht kannst Du da was erkennen?

Mit Foxpro habe ich so nie was gemacht. Nur mit DBASE. Ist das Foxpro komplett, oder nur so eine Runtime für die Anwendung? Wenn es komplett wäre könnte man da evtl mit Foxpro was machen.

Gruss Jens
Anzeige
Teilweise geloest ...
18.11.2003 13:11:43
Volker Croll
Hallo Jens,

danke, dass Du am Thema drangeblieben bist. Der Teufel lag mal wieder im Detail.

Mein Hauptfehler war, dass ich das, was ich alles zum Thema gelesen hatte, so verstanden hatte, dass alles was sichtbar ist, in die dbf uebernommen wird; und zwar woertlich genommen. Habe aber der Optik wegen einige Zellen ueber ZELLEN FORMATIEREN -> AUSRICHTUNG -> TEXTSTEUERUNG -> die Eigenschaft AN ZELLGROESSE ANPASSEN zugewiesen.

Ausserdem hatte ich wohl bei meinen Versuchen mit Courier und der Spaltenbreite noch einen anderen - leider nicht mehr reproduzierbaren - Fehler drin, vermutlich hatte ich den Bereich falsch markiert.

Mit korrekter Markierung, Courier-Schrift und optimaler Spaltenbreite passt's jetzt aber, ausser dass das Problem mit den Umlauten nach wie vor offen ist.

Nochmals Danke &
Gruss Volker
Anzeige
AW: Teilweise geloest ...
18.11.2003 16:57:13
Jens_Pu
Hallo Volker,

schön wenn schon mal die eine Sache klappt.

Das mit den Ümlauten ist ja ein nostalgisches Relikt aus DOS-Zeiten.
Mit diesen Codeseiten (437 amerikanisch und 850 deutsch) gab es ja immer irgendwie Ärger.
Ein Lösung habe ich da jetzt auch nicht parat.
Da ist sicherlich noch etwas "Grundlagenforschung" nötig.

Hast Du DBASE oder Foxpro zur Verfügung?
Ich hab mal eine Exceldatei als DBF abgespeichert.
Dann eine Kopie mit DBASE geöffnet. Beim Öffnen weist DBASE der Datei dann eine Codeseite zu. Beim Vergleich der Dateien sieht man, dass es nur ein paar Bytes im Header der Datei sind, die anders sind.

Das hilft Dir aber auch nicht wirklich weiter.

Gruss Jens
Anzeige
AW: Teilweise geloest ...
18.11.2003 17:08:39
Jens_Pu
Hallo Volker,

hab das jetzt noch mal schnell getestet.

Wenn Du am Dosprompt chcp eingibst, was bekommst Du denn da? 437 oder 850?

Bei mir kommt 850 und ich habe keine Probleme mit den Umlauten in DBASE.

Wieder ein Mosaikstein...

Gruss Jens
AW: Teilweise geloest ...
18.11.2003 17:54:15
Volker Croll
Hallo Jens,

ist schon merkwuerdig, chcp meldet mir 850, obwohl ich in der Autoexec.bat (Windows 98 SE) ausdruecklich 437 auswaehle:

mode con codepage prepare=((437) C:\WINDOWS\COMMAND\ega.cpi)
mode con codepage select=437

Hintergrund ist, dass ich auch diverse DOS-Programme verwende, die mit 850 nicht richtig angezeigt werden.

Nur mein dbf-Problem ist ja, dass ich von den lokalen Einstellungen des Users unabhaengig sein will bzw. muss, weil mit meinem Tool auf den verschiedensten PCs Artikeldaten erfasst/bearbeitet werden, die dann von einem fertigen und von mir nicht veraenderbaren FoxPro-Programm weiterverarbeitet werden (sprich, ich habe mich an die mir vorliegende Schnittstellenbeschreibung zu halten).

Es liesse sich ja alles in den Griff bekommen, wenn man beim Abspeichern die Codepage konkret angeben koennte.

Habe mir die dbf mit FoxPro 5.0 angesehen, FoxPro meldet, dass die Datei nicht(!) mit einer Codepage markiert sei.

Wie gesagt, im Moment ersetzte ich die Umlaute durch ae, oe etc., nur das Gelbe vom Ei ist's nicht.

Gruss Volker
Anzeige
AW: Teilweise geloest ...
18.11.2003 18:01:00
Jens_Pu
Hallo Volker,

schau Dir doch den Hexdump von Dateien mit unterschiedlicher Codeseite an und setze die paar Bytes mit einem Hilfsprogramm. Habe ich gerade mal angesehen. Soll ich Dir die Gegenüberstellung mailen.

Gruss Jens
Habe Dir gerade meine Adresse zukommen lassen ...
18.11.2003 18:38:02
Volker Croll
oT.
Fortsetzung in neuem Beitrag ...
19.11.2003 12:00:59
Volker Croll
Fuer alle "Mitlesenden",

weil jetzt nur noch das Teilproblem der Umlaute besteht und dieser Beitrag sonst vielleicht zu lang wird und mittlerweile schon recht weit unten steht, habe ich unter "Speichern -> xldbf4 / Codepage (Umlaute) / HEX 1D" (19.11.2003 11:55:00) die Frage neu formuliert.

Gruss Volker

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige