AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ADO Zugriff auf Excel 2000
Thema durchsuchen
Ansicht
Themen-Optionen

ADO Zugriff auf Excel 2000

Offene Frage von "little_budda"
Ein Thema von little_budda · begonnen am 28. Okt 2009 · letzter Beitrag vom 9. Nov 2009
Antwort Antwort
Benutzerbild von little_budda
little_budda

Registriert seit: 5. Mai 2006
Ort: Velbert
246 Beiträge
 
Delphi 2006 Professional
 
#1

ADO Zugriff auf Excel 2000

  Alt 28. Okt 2009, 07:28
Datenbank: "Excel" • Version: 2000 • Zugriff über: ADO
Hallo,

ich nutze eine ADO Connection um auf eine Excel Tabelle zuzugreifen.
Für Excel 97
Delphi-Quellcode:
  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;
...
klappt das einwandfrei.
Aber für Excel 2000
Delphi-Quellcode:
  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;
...
bringt er mir beim Open immer die Meldung "Installierbares ISAM nicht gefunden"

Ich steh leicht auf dem Schlauch.
Hat jemand einen Tipp für mich?
Holger
Glück findet sich nicht im Code
Gefahren werden ist nur solange schön wie man selbst nicht lenken möchte ...
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer
Online

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: ADO Zugriff auf Excel 2000

  Alt 28. Okt 2009, 08:41
Lass mal die Versionsinfo "9.0" weg und lass Windows die aktuelle Version selbst bestimmen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von little_budda
little_budda

Registriert seit: 5. Mai 2006
Ort: Velbert
246 Beiträge
 
Delphi 2006 Professional
 
#3

Re: ADO Zugriff auf Excel 2000

  Alt 28. Okt 2009, 08:53
Klappt auch nicht.
Wenn ich nur "Excel" angebe kommt auch "Installierbares ISAM nicht gefunden"
Holger
Glück findet sich nicht im Code
Gefahren werden ist nur solange schön wie man selbst nicht lenken möchte ...
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer
Online

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: ADO Zugriff auf Excel 2000

  Alt 28. Okt 2009, 08:55
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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von little_budda
little_budda

Registriert seit: 5. Mai 2006
Ort: Velbert
246 Beiträge
 
Delphi 2006 Professional
 
#5

Re: ADO Zugriff auf Excel 2000

  Alt 28. Okt 2009, 08:59
Da ist es wieder.
Das mangelnde Basiswissen.
...

Wie spreche ich die "Automatisierungsschnittstelle von Excel" an?
Per OLE?

[Edit]Schreibfehler[/Edit]
Holger
Glück findet sich nicht im Code
Gefahren werden ist nur solange schön wie man selbst nicht lenken möchte ...
  Mit Zitat antworten Zitat
Nobshaug

Registriert seit: 28. Mai 2009
1 Beiträge
 
#6

Re: ADO Zugriff auf Excel 2000

  Alt 9. Nov 2009, 12:17
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
  Mit Zitat antworten Zitat
Benutzerbild von little_budda
little_budda

Registriert seit: 5. Mai 2006
Ort: Velbert
246 Beiträge
 
Delphi 2006 Professional
 
#7

Re: ADO Zugriff auf Excel 2000

  Alt 9. Nov 2009, 12:37
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.
Holger
Glück findet sich nicht im Code
Gefahren werden ist nur solange schön wie man selbst nicht lenken möchte ...
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer
Online

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: ADO Zugriff auf Excel 2000

  Alt 9. Nov 2009, 13:06
Zitat von little_budda:
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.
Ganau deshalb ist der JET-Zugriff auf Excel eine Notlösung die sehr oft Probleme bezüglich interpretation der Datentypen bereitet. Nimm OLE und alles bleibt (fast immer) Versionsunabhängig.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:33 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