Einzelnen Beitrag anzeigen

Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Mit D2005PE über ADO(?) Exceldatei Auslesen

  Alt 5. Nov 2005, 18:52
Zitat von glkgereon:
Ist ADO nicht für Datenbanken? was hat das mit Excel zu tun?
Ja - ADO ist für Datenbanken. Glücklicherweise läßt sich über ADO eine Exceltabelle als Datenbank ansprechen.
Der Zugriff erfolgt von Deinem Programm üder ADO -> JetEngine -> Excel.
Das ADO die Datenbank in einer Exceltabelle findet und über die JetEngine zugreiffen soll sagst Du über den ConnectionString:
Code:
sExcelConnectionString ='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Extended Properties="Excel 8.0;HDR=Yes;IMEX=1"';
Um den Inhalt der Exceltabelle abzufragen verendest Du SQL. Der Excel-Tabellenblattname steht dann für den Tabellennamen innhalb des SQL-Statments. Achtung: Damit es funktioniert muss an den Tabellennamen ein $-Zeichen angehängt werden. Den Grund kennt bestimmt nur MS.
Code:
sExcelSQL = 'SELECT * FROM [%s$]';
  ...
  SQLStatement:=Format(sExcelSQL,['Tabelle1']);
Zitat von glkgereon:
Wo kriege ich ado her?
Ab Win2000 ist ADO standartmäßig dabei.

Ungünstig ist nur, das D2005 Personal keine Typebibliotheken importieren kann. D.h Du kannst nicht auf die frühe Bindung (verwende ich immer) zurückgreifen. Dir bleibt also nur der Weg über die späte Bindung (mit CreateOleObject und Varinats u.s.). Damit kenne ich mich aber nicht so aus.

Hier gibt die aktuelle Version MDAC (enthält die ADO Objekte)

Update für die JetEngine

Dort gibt esHilfe zu ADO
I come from outer space to save the human race
  Mit Zitat antworten Zitat