![]() |
Datenbank: "Excel" • Version: 2000 • Zugriff über: ADO
ADO Zugriff auf Excel 2000
Hallo,
ich nutze eine ADO Connection um auf eine Excel Tabelle zuzugreifen. Für Excel 97
Delphi-Quellcode:
klappt das einwandfrei.
ADOConnectionExcelVV.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;' +
'Data Source='+ OpenDialog1.FileName +';' + 'Extended Properties="Excel 8.0;HDR=No";' + 'Persist Security Info=False'; ADOConnectionExcelVV.Open; ... Aber für Excel 2000
Delphi-Quellcode:
bringt er mir beim Open immer die Meldung "Installierbares ISAM nicht gefunden"
ADOConnectionExcelVV.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;' +
'Data Source='+ OpenDialog1.FileName +';' + 'Extended Properties="Excel 9.0;HDR=No";' + 'Persist Security Info=False'; ADOConnectionExcelVV.Open; ... Ich steh leicht auf dem Schlauch. Hat jemand einen Tipp für mich? :gruebel: |
Re: ADO Zugriff auf Excel 2000
Lass mal die Versionsinfo "9.0" weg und lass Windows die aktuelle Version selbst bestimmen.
|
Re: ADO Zugriff auf Excel 2000
Klappt auch nicht.
Wenn ich nur "Excel" angebe kommt auch "Installierbares ISAM nicht gefunden" :cry: |
Re: ADO Zugriff auf Excel 2000
Dann würde ich mal über die Automatisierungsschnittstelle von Excel gehen. Ist eh mit weniger Problemen verbunden als über die JET-Engine zu gehen und manche komische Interpretation von Zellen zu bekommen.
|
Re: ADO Zugriff auf Excel 2000
Da ist es wieder.
Das mangelnde Basiswissen. ... Wie spreche ich die "Automatisierungsschnittstelle von Excel" an? Per OLE? [Edit]Schreibfehler[/Edit] |
Re: ADO Zugriff auf Excel 2000
Hallo little_budda,
Hast du schon versucht einfach die Version 8.0 drin zu lassen? bin da irgendwo auf folgende Aussage gestoßen: When you want to connect to an external database format supported by the Jet, you need to set the extended properties for the connection. In our case, when connecting to Excel "database", extended properties are used to set the Excel file version. For an Excel95 workbook this value is "Excel 5.0" (without the quotes), for versions Excel 97, Excel 2000, Excel 2002 or ExcelXP the value is "Excel 8.0". Also bei mir funktionierts auf jeden Fall. Zur Excel Automatisierung via OLE wurde schon viel geschrieben, einfach mal suchen, aber bedenke das dann auf dem jeweiligen Rechner auch Excel installiert sein muss. Gruß, Nobshaug |
Re: ADO Zugriff auf Excel 2000
Hallo,
mein ursächliches Problem ist das Einlesen der Daten. Wenn ich eine Excel 97 Tabelle einlese erhalte ich beim Zugriff auf die erste Spalte Texte und numerische Werte. Alles gut. Wenn ich dagegen eine Excel 2000 Tabelle einlese erhalte ich beim Zugriff auf die erste Spalte keine Texte sondern nur numerische Werte. Die Spalte ist in beiden Fällen in Excel fest auf "Text" formatiert. Deswegen hätte ich meinen Zugriff gerne auf die korrekte Versionsnummer eingestellt in der Hoffnung das dann auch die Feldwerte wieder vernünftig lesbar sind (Texte und numerisch Werte). Der Zugriff auf die restlichen Felder der Tabelle klappt einwandfrei auch mit der alten Versionsnummer. Nur leider bewerte ich die Inhalte aus der ersten Spalte um dementsprechend auf die anderen Spalten zu reagieren. Ich bin im Moment einen (hässlichen) Umweg über die Inhalte der zweiten Spalte gegangen wo ich Ähnlichkeiten vergleiche. Das klappt zwar soweit, aber es ist nur eine Frage der Zeit bis mir das wieder vor die Füße fällt. :pale: |
Re: ADO Zugriff auf Excel 2000
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:34 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 by Thomas Breitkreuz