Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi dBase-Format funktoniert nicht. Wer kann helfen ? (https://www.delphipraxis.net/9834-dbase-format-funktoniert-nicht-wer-kann-helfen.html)

JoJo 5. Okt 2003 16:54


dBase-Format funktoniert nicht. Wer kann helfen ?
 
Hallo, ich habe folgendes Problem:

Wenn ich über die Datenbankoberfläche (D 6 Prof) eine dbaseIII+, oder dBaseIV Datei erstelle und diese anschließend in Excel einlesen will, klappt das einwandfrei. Hintergrund: Das dBase-Format soll für meine Software das Austauschformat sein.
Erstelle ich die dBase-Datenbank zur Laufzeit über eine TTable-Komponete so ist diese von Excel nicht erkennbar - Falsches Format.
Eine Überprüfung zwei gleicher dBase Dateien (1x erstellt mit der Datenbankoberfläche und 1 x zur Laufzeit) mit einem Hexeditor, macht den Unterschied erkennbar. Die Version per TTable erstellt (ttdBase) hat einen anderen Aufbau, es scheint sich dabei um eine Windows-Version von dBase zu handeln.

Wie kann ich nun mit der TTable-Komponente eine konforme dBase-Datei erstellen ?
Oder muss ich einen anderen weg beschreiten? :roll:

lordcroc 5. Okt 2003 19:05

Re: dBase-Format funktoniert nicht. Wer kann helfen ?
 
HI,

Ich kann dir zwar nicht wirklich helfen, aber das kommt das die TTable Komponente andere Typen zum erstellen der Tabelle nimmt als die Typen in der Orginal Tabelle vorhanden sind.

bestes Beispiel: wenn man ein Feld vom Typ Numerisch mit 6 Zeichen nimmt erkennt delphi dies schon als Float und wenn man dann eine Tabelle zur Laufzeit erstellt schreibt er nicht mehr Numerisch 4 sondern 16.

Das habe ich nähmlich auch das Problem hab mich aber nicht weiter mit beschäftigt.

APP 5. Okt 2003 19:26

Re: dBase-Format funktoniert nicht. Wer kann helfen ?
 
Hallo,

soweit ich weiß, unterscheidet die BDE ausser dem Tabellentyp auch noch
verschiedene Level, ich glaube zwischen 3-7, oder so.

Das kannst Du herausfinden wenn Du die Tabelle mit einer TTable Komponente erzeugst:

Delphi-Quellcode:
 Table1.TableLevel (Integer)

Wichtig ist auch, dass Du nur Feldtypen verwendest, die z.B. eine DBaseIII Tabelle
haben kann:

z.B. Features wie AUTOINC, INTEGER, Required Fields, gibt es nicht bei DBaseIII.

Numerische Felder sind bei DbaseIII vom Typ ftBCD mit Größen- und Präzisionsangabe soweit ich weiß...

Mehr kann ich Dir leider zu dem Thema auch nicht sagen.

JoJo 6. Okt 2003 07:53

Re: dBase-Format funktoniert nicht. Wer kann helfen ?
 
Ja, danke erstmal, dann probiere ich das nochmal mit Table.Type.

Aber ich glaube das ich wohl eine dBase-Datei als im BIN-Format sebst erstellen muss.
Bearbeiten und mit Werten füllen etc. kann ich ja mit der TTable-Komponente.

JoJo


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz