Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Mit D5 Zugriff auf Access zur Laufzeit erzeugen? (https://www.delphipraxis.net/109649-mit-d5-zugriff-auf-access-zur-laufzeit-erzeugen.html)

Drop Table 5. Mär 2008 10:38

Datenbank: Access • Version: 2007 • Zugriff über: das ist ja hier die Frage ;-)

Mit D5 Zugriff auf Access zur Laufzeit erzeugen?
 
Das Problem hat sich jetzt erledigt, habe es endlich rausgefunden wie es geht:

Delphi-Quellcode:
Database1.DatabaseName := ExtractFileName(OpenDialog1.FileName);
Database1.DriverName := 'MSACCESS';
Database1.Params.Add('DATABASE NAME='+OpenDialog1.FileName);
Database1.Open;
Session.GetTableNames(Database1.DatabaseName, '', true, false, ComboBoxTables.Items);

shmia 5. Mär 2008 13:49

Re: Mit D5 Zugriff auf Access zur Laufzeit erzeugen?
 
Wenn du Delphi 6/7 hättest oder Delphi 5 Prof. + ADO Upgrade, dann könntest du über ADO auf die Access DB zugreifen.
So aber muss du über die BDE gehen und das nicht nicht so toll.
Folgende Funktion liefert dir den ODBC Verbindungstring für Access:
Delphi-Quellcode:
function GetODBCString(const mdbfile:string):string;
begin
  result := Format('Driver={Microsoft Access Driver (*.mdb)};Dbq=%s;Uid=Admin;Pwd=;', [mdbfile]);
end;
Wie du das dann der BDE mitteilt ? Keine Ahnung, ich habe Wissen über die BDE komplett aus meine Gedächtnis entfernt.

Drop Table 5. Mär 2008 14:26

Re: Mit D5 Zugriff auf Access zur Laufzeit erzeugen?
 
Zitat:

Zitat von shmia
Wenn du Delphi 6/7 hättest oder Delphi 5 Prof. + ADO Upgrade, dann könntest du über ADO auf die Access DB zugreifen.

Das ist ja leider die Crux, zu diesem Thema findet Google immer nur TADO, das in der D5 prof nicht enthalten ist.

Zitat:

Zitat von shmia
So aber muss du über die BDE gehen und das nicht nicht so toll.

Erstmal lernen wie, bin schon den ganzen Vormittag dabei. Irgendwie muss man doch der TDatabase den Namen der *.mdb Datei mitteilen können, vermutlich über die Params-Eigenschaft. Aber im Moment suche ich gerade nach Hinweisen, was da in welcher Syntax reingeschrieben werden müsste. Weisst du oder jemand anderer, wo man diese Params Optionen nachlesen kann? Die OH ist da ein bisschen einsilbig.

Ja, die BDE ist sicherlich eine alte Oma :wink: , aber wenn man sich nur sporadisch mal ein kleines DB-Tool programmieren will, reicht das doch. Hoffentlich wird sie noch möglichst lange benutzbar sein. Eine neue Delphi Version mit Datenbankkomponenten, wäre mir für meine Zwecke ehrlich gesagt zu teuer.

VG
Andreas

mkinzler 5. Mär 2008 14:29

Re: Mit D5 Zugriff auf Access zur Laufzeit erzeugen?
 
Man könnte auch einen alternativen ADO-Wrapper verwenden
http://www.torry.net/quicksearchd.ph...=ado&Title=Yes

Bernhard Geyer 5. Mär 2008 14:34

Re: Mit D5 Zugriff auf Access zur Laufzeit erzeugen?
 
Zitat:

Zitat von Drop Table
Erstmal lernen wie, bin schon den ganzen Vormittag dabei. Irgendwie muss man doch der TDatabase den Namen der *.mdb Datei mitteilen können, vermutlich über die Params-Eigenschaft. Aber im Moment suche ich gerade nach Hinweisen, was da in welcher Syntax reingeschrieben werden müsste. Weisst du oder jemand anderer, wo man diese Params Optionen nachlesen kann? Die OH ist da ein bisschen einsilbig.

Es gibt noch die Möglichkeit über DAO auf die DB zuzugreifen. Dies wird vermutlich jedoch nicht mehr bei 2007er-Access-DBs funktionieren. Ebenfalls darf man die nötigen DAO-Treiber nur verteilen wenn man ein Programm mit einer MS-IDE enwickelt hat. Aber Ähnlich wie bei shmia ist das wissen über DAO/BDE schon aus meinem Kopf gelöscht.


Zitat:

Zitat von Drop Table
Ja, die BDE ist sicherlich eine alte Oma :wink: , aber wenn man sich nur sporadisch mal ein kleines DB-Tool programmieren will, reicht das doch. Hoffentlich wird sie noch möglichst lange benutzbar sein. Eine neue Delphi Version mit Datenbankkomponenten, wäre mir für meine Zwecke ehrlich gesagt zu teuer.

Die Turbo-Versionen mit der Eischränkung der Registrierbarkeit von 3th-Party-Komponenten für 0 € sind dir wohl auch zu teuer :gruebel:

Drop Table 5. Mär 2008 14:45

Re: Mit D5 Zugriff auf Access zur Laufzeit erzeugen?
 
Zitat:

Zitat von Bernhard Geyer
Die Turbo-Versionen mit der Eischränkung der Registrierbarkeit von 3th-Party-Komponenten für 0 € sind dir wohl auch zu teuer :gruebel:

Die kannte ich bislang nicht :cat: , vielen Dank für den Hinweis! Habe den Link schon zum Ausprobieren gebookmarkt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:56 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