|
|
Re: kann dbf nicht öffnen ... is not a table - #22327 in section [729360] |
Sec: |
(1) Allgemeines |
Von: |
Harro Schippan |
An: |
Thomas Geissler |
Am/Um: |
13.01.2011 12:15:27 gelesen |
|
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
|
|
|
|