|
|
Re: kann dbf nicht öffnen ... is not a table - #22328 in section [729361] |
Sec: |
(1) Allgemeines |
Von: |
Michael Bickel |
An: |
Harro Schippan |
Am/Um: |
13.01.2011 12:37:30 gelesen |
--from Newsreader at Donnerstag, 13. Januar 2011; 12:37:30-- ?... der einfachste Weg wäre eigentlich von Delphi aus. TDBF kann das (sollte zumindest), alte einlesen, neue VFP kompatible DBF schreiben, dann kannst Du diese weiterverarbeiten. Einziges Problem, es fehlen Dir dann acht Felder... Jetzt musst Du also nur 8 Felder finden, die nicht so wichtig sind Oder halt ein Zwischenformat schreiben (XML, CSV...) Delphi an sich hat ja eigentlich keine eigenen Formate, sondern unterstützt nur vorhandene Formate oder DB (meines Wissens nach). Offensichtlich gibt es halt andere erweiterte DBF Formate, ich weiß nicht wirklich, was dBASE IV und Nachfolger so konnten. Borland ODBC-Treiber wüßte ich nichts von, aber vielleicht irgendwas von Dbase (bzw. Nachfolgern?) Die BDE wird halt auch seit 10 (?) Jahren nicht mehr unterstüzt. Viele Grüße Michael "Harro Schippan" schrieb im Newsbeitrag news:729360... Hallo Harro, mit Deiner Tabelle stimmt so Einiges nicht! Dass die Memo-Felder 10 anstelle von 4 Byte lang sind, hast Du ja schon herausgefunden. Hinzu kommt, dass wohl das Delphi-Programm mit der Jahreszahl 2011 nicht umgehen kann und daraus 0x6F, Dezimal 111 macht. Der Fehler mit der Headerlänge ist auch noch da und die Tabelle hat keine korrekte Information über die Dateigröße. Das größte Probleme ist jedoch die Tatsache, dass Du 262 Felder hast!! Mit dBASE und FoxPlus oder auch VFP sollte dies eigentlich nie möglich gewesen sein. Keine Ahnung was andere Programmiersprachen/Entwickler da herum gewurschtelt haben. Der Fuchs wird das so jedoch nicht verarbeiten können. Du wirst Dich wohl entscheiden müssen, ob das Delphi-Programm weiterhin tun darf was es will, oder Du die Daten in VFP lesen und/oder bearbeiten möchtest. Gruß Thomas Hallo Thomas, ja das ist ja Frust auf der ganzen Linie Das mit der Jahreszahl ist wohl ok, zu dem Wert muß man 1900 dazuaddieren. 1900 + 111 = 2011 <== das ist ok. Das eigentliche Problem sind dann wohl die 262 Felder. Wo liegt denn die Grenze bei VFP? 254 ?? Die Delphi-Anwendung ist eine eigene Applikation und wird auch noch lange laufen. (Buchhaltung, Warenwirtschaft) Meine Anwendung ist Vertriebsunterstützung. Ich möchte ein Interface zwischen beiden erstellen. Habe das schon zigfach gemacht. Normal auch kein Problem. Hab auch selbstbewußt gesagt: "DBF lesen, kein Problem". Wenn man sieht, kann Delphi DBF-Dateien mit 262 Feldern verarbeiten. Im Moment sehe ich diese Möglichkeiten: - Ich lasse mir täglich einen Extrakt mit weniger Feldern erstellen. - Vielleicht gibt es auch einen Borland ODBC-Treiber mit dem man diese Datei lesen kann. - Theoretisch könnte ich mir einen Header mit der zulässigen Anzahl von Feldern erstellen und dann mit FREAD / FWRITE entsprechend verkürzte Datensätze in eine neue Datei schreiben. In der Hoffnung, daß ich "hinten" am Datensatz abschneiden kann und dort nichts steht was ich brauche. Aber alles nicht "mal eben". Werde alles mal "sacken" lassen. Gruß Harro
|
|
|
|