Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

dbaseIII-Format





Frage

In EXCEL 97 soll der Befehl Datei-Speichern Unter-Dateityp DBF3(dBase III) eine Datei im dBase III Format speichern. Aber : Die Datei läßt sich anschließend nicht in dBase III lesen. Bringt folgenden Fehler : "Keine dBase Datenbank." Wer weiß Bescheid ?

Antwort 1 von ThomasG

Hallo Hanspeter,
ich habe mal in Excel 97 2 Spalten mit einer Überschrift ( Feldname ) und mehrere Datensätze eingeben und als DBF gespeichert. Hat prima funktioniert und läßt sich unter dBASe auch aufrufen. Wie speicherst Du denn und hast du Feldnamen auf 10 Zeichen begrenst ohne Leereichen!!

Thomas

Antwort 2 von HPC

Hallo Thomas,
selbst so ein kleines beispiel mit 2 spalten, sagen wir mal

FELDA..... FELDB
....1..............10
....2..............20
funktioniert nicht. Beim " Speichern Unter" gebe ich als Dateityp dbf3 an. In EXCEL kann ich die Datei wieder als dbf-Datei lesen, aber eben in dbase nicht.


Hanspeter

Antwort 3 von sicci

Hallo Hanspeter,

könnte mir vorstellen, daß das was mit den ODBC (Open DataBase Connectivity) Progs zu tun hat, die vielleicht nicht richtig konfiguriert oder installiert sind.

Hier ein Auszug (aus folgendem Link:
http://www.microsoft.com/GERMANY/ms/msdnbiblio/artikel/migratingdaotoado.htm)

<<<
Öffnen einer Datenbank

Im Allgemeinen besteht beim Schreiben einer Anwendung für den Datenzugriff der erste Schritt darin, die Datenquelle zu öffnen. Wenn die Microsoft Jet-Datenbankengine verwendet wird, können Sie Microsoft Jet-Datenbanken oder sonstige externe Datenquellen wie Microsoft Excel, Paradox und dBASE mit den ISAM-Komponenten von Microsoft Jet und ODBC-Datenquellen öffnen.

Microsoft Jet-Datenbanken

Mit Microsoft Jet Provider können Microsoft Jet 4.0-Datenbanken sowie mit älteren Versionen der Microsoft Jet-Datenbankengine erstellte Datenbanken geöffnet werden. In diesen Beispielen werden nur Microsoft Jet 4.0-Datenbanken verwendet.

Der folgende Code zeigt, wie eine Microsoft Jet-Datenbank mit gemeinsamen, aktualisierbarem Zugriff geöffnet wird. Anschließend wird die Datenquelle zu Demonstrationszwecken durch den Code sofort wieder geschlossen.

DAO
>>>


Da mußt Du vielleicht bißchen Infos sammeln + basteln.

Gruß
sicci

Antwort 4 von hendrikw

Das Problem besteht ab einer bestimmten DAO-Version (Microsoft Data Access Objects). Die schreibt nämlich in den dBase-Header am Anfang das Datum rein. Und zwar das Jahr als Differenz zu 1900. dBaseIII kann nun aber mit einer Differenz von 101 nichts mehr anfangen und meldet "keine dBase-Datenbank".
Ich hatte dazu Anfang des Jahres einen mailabtausch mit dem MS-Support. Lösung des Problems: Header patchen, sprich die 101 am Anfang durch irgenwas ersetzen, mit dem dBaseIII was anfangen kann, z,B. 1; das entspricht dann zwar 1901, aber daran stört sich dBase nicht :)
mfg
Hendrik

Antwort 5 von HPC

Hallo thomas, sicci, hendrik,

danke für eure hilfe. der tip von hendrik hat ins schwarze getroffen. im 2. byte des headers steht tatsächlich hex65(=101).

hanspeter