[Delphi 4 / 5 -> MS-Access]

Hi Delphianer,

Ich möchte mit Delphi die Tabellen einer MS-Access 97 Datenbank lesen. Ich habe ein TDatabase-, TTable und TDatasource-Objekt erstellt. Muss ich das TTable-Objekt irgendwie mit dem DataBase-Objekt verbinden? (wie?)

Abgesehen davon schaffe ich es schon nicht einmal, das Database-Objekt mit der Datenbank zu verbinden. Ich bekomme immer die Fehlermeldung „ungültiger Parameter“ (sehr aufschlussreich!?!).

Wenn ich bei dem TTable-Objekt in der Eigenschaft DataBaseName den Namen der Datenbank (z.B. „d:\db1.mdb“) eingebe, bekomme ich beim Versuch sie zu aktivieren die Meldung „ungültiges Verzeichnis“.

Was mache ich falsch?

Benötige ich überhaupt eines der Objekte um die Tabellen in der Datenbank lesen zu können? Kann ich von Delphi aus ähnlich wie in Access mit „Opendatabase“ und „OpenRecordset“ auf die Tabellen zugreifen?

Danke im voraus für Eure Hilfe.

Servus!

Mach dir eine ODBC-Schnittstelle auf die Access-Tabelle und stell die bei deiner TTabel ein. Bei der Eigenschaft Tabelname (oder so ähnlich) musst du dann den Tabellennamen einstellen.
Mit Delphi 5 kannst du aber auch direkt mit dem DAO auf Access zugeifen, wie das geht weiss ich aber nicht.
Gruss
Wolfgang

Mach dir eine ODBC-Schnittstelle auf die
Access-Tabelle

wie geht das? Mit der BDE?

und stell die bei deiner
TTabel ein. Bei der Eigenschaft Tabelname
(oder so ähnlich) musst du dann den
Tabellennamen einstellen.
Mit Delphi 5 kannst du aber auch direkt
mit dem DAO auf Access zugeifen, wie das
geht weiss ich aber nicht.

Ich möchte nicht mit der DAO arbeiten, sondern ich will ja nur die Daten aus den Tabellen auslesen. Sie dienen als Grundlage für mein eigentliches Programm.

Mach dir eine ODBC-Schnittstelle auf die
Access-Tabelle

wie geht das? Mit der BDE?

Servus!

Nee. In den Systemeinstellungen muss es einen Eintrag ODBC geben. Den öffnen und dann bei System-DNS oder Benutzer-DNS (Unterschied ob mehrere oder nur einer damit arbeiten darf) dann eine neue Verbindung hinzufügen. Dann kannst du den ODBC-Treiber für Access auswählen, den Datenbanknamen setzen und fertig.
Das funzt aber nur, wenn Access auch auf dem Rechner installiert ist.

Wolfgang

Mach dir eine ODBC-Schnittstelle auf die
Access-Tabelle

wie geht das? Mit der BDE?

Nee. In den Systemeinstellungen muss es
einen Eintrag ODBC geben. Den öffnen und
dann bei System-DNS oder Benutzer-DNS
(Unterschied ob mehrere oder nur einer
damit arbeiten darf) dann eine neue
Verbindung hinzufügen. Dann kannst du den
ODBC-Treiber für Access auswählen, den
Datenbanknamen setzen und fertig.
Das funzt aber nur, wenn Access auch auf
dem Rechner installiert ist.

Ist es nicht so, dass es dann nur mit dieser einen Datenbank, die ich bei ODBC registriert habe, funktioniert?

Mein Problem ist aber, dass ich mehrere hundert solcher xxx.mdb Dateien habe (in verschiedenen Verzeichnissen), deren Tabellen ich von Delphi aus lesen möchte. D.h. es entscheidet sich erst zur Laufzeit des Programmes, welche Datenbank gelesen werden soll.

ciao Dieter

Ist es nicht so, dass es dann nur mit
dieser einen Datenbank, die ich bei ODBC
registriert habe, funktioniert?

Ja!

Mein Problem ist aber, dass ich mehrere
hundert solcher xxx.mdb Dateien habe (in
verschiedenen Verzeichnissen), deren
Tabellen ich von Delphi aus lesen möchte.
D.h. es entscheidet sich erst zur
Laufzeit des Programmes, welche Datenbank
gelesen werden soll.

Da bin ich leider überfragt!

Gruss Wolfgang