Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Problem bei Bearbeiten von Excel-Tabelle (https://www.delphipraxis.net/51013-problem-bei-bearbeiten-von-excel-tabelle.html)

Snakeye 4. Aug 2005 14:10

Datenbank: Excel • Zugriff über: ADO

Problem bei Bearbeiten von Excel-Tabelle
 
Hallo Leute!

Ich habe nach diesem Tutorial ein Programm geschrieben, welches eine externe Excel-Tabelle über eine ADOConnection verwaltet. Soweit so gut. Die Anbindung und die Verknüpfung der einzelnen Komponenten (DBEdits, DBGrid und DBNavigator) hat wunderbar funktioniert und es wird auch alles angezeigt, wie es soll.

Nun mein Problem:
Wenn ich einen Eintrag bearbeite oder einen neuen Datensatz erstelle, diesen Speichere, das Programm schließe und anschließend wieder öffne, erhalte ich die Fehlermeldung "Die externe Tabelle hat nicht das erwartete Format". Woran könnte das liegen? Noch wichtiger: Wie verhindere ich das? Im Delphi.About-Tutorial wird darüber leider nichts geschrieben. Mit Excel kann man die Datei dann leider auch nicht mehr öffnen.

Der ConnectionString ist folgender:
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + XLSPATH + ';Extended Properties=Excel 8.0;';


P.S.: Dass ich eine Excel-Tabelle und keine Access-DB nehme ist eigentlich unumgänglich... das werd ich nur im äußersten Notfall machen :P

Vielen Dank schonmal!

Snakeye 4. Aug 2005 15:27

Re: Problem bei Bearbeiten von Excel-Tabelle
 
Hey ich hab den Fehler selbst gefunden!

Komischerweise gabs diese Probleme nur mir der Excel-Tabelle (Kundendatenbak) die ich als Vorlage hatte... wenn dort Zellen ohne Inhalt waren gab es diese Probleme...

Aber eigentlich lag es nicht direkt an leeren Zellen. Ich habe folgendes mit meiner Vorlagedatei gemacht: Per Ersetzen-Funktion erst alle leeren Zellen mit einer Zeichenfolge gefüllt und anschließend wieder diese Zeichenfolge durch "nichts" ersetzt... Jetzt geht alles!

Komische Sache würd ich sagen!

shmia 4. Aug 2005 15:36

Re: Problem bei Bearbeiten von Excel-Tabelle
 
Zitat:

Zitat von Snakeye
Hey ich hab den Fehler selbst gefunden!

Komischerweise gabs diese Probleme nur mir der Excel-Tabelle (Kundendatenbak) die ich als Vorlage hatte... wenn dort Zellen ohne Inhalt waren gab es diese Probleme...

Aber eigentlich lag es nicht direkt an leeren Zellen. Ich habe folgendes mit meiner Vorlagedatei gemacht: Per Ersetzen-Funktion erst alle leeren Zellen mit einer Zeichenfolge gefüllt und anschließend wieder diese Zeichenfolge durch "nichts" ersetzt... Jetzt geht alles!

Komische Sache würd ich sagen!

Tja, ist halt Excel :-)
Es gibt übrigens noch einige Extended Properties, die das Verhalten steuern:
Code:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"""
"HDR=Yes;" indicates that the first row contains columnnames, not data
"IMEX=1;" tells the driver to always read "intermixed" data columns as text
TIP! SQL syntax: "SELECT * FROM [sheet1$]" - i.e. worksheet name followed by a "$" and wrapped in "[" "]" brackets

Snakeye 4. Aug 2005 17:56

Re: Problem bei Bearbeiten von Excel-Tabelle
 
Ah cool, danke!

Das IMEX kann ich gut gebrauchen :)
Ich konnte nämlich in mein Datumsfeld keine Trennpunkte eintragen, weil der Spaltentyp wehement als Float erkannt wurde.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:32 Uhr.

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