Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#7

AW: Direkte Pfadangabe zur Datenbank (mdb) zwingend nötig?

  Alt 23. Mär 2016, 14:50
Hmm..

könnte es nicht sein, dass dann im 'Arbeitsverzeichnis' gesucht wird?

Besser den Pfad absolut mit
ExtractFilePath(ParamStr(0)) + 'Daten.mdb'
im Connectionstring setzen.
Dann muss man aber zur Laufzeit den Connectionstring parsen und verändern.

Alternative: Statt nur den Dateinamen der Datenbankdatei .\Datenbankdateiname.mdb nehmen.

Im FormCreate kann man auch noch ein   ChDir(ExtractFilePath(Application.ExeName)); machen, dann ist das aktuelle Verzeichnis auf jeden Fall auch das Arbeitsverzeichnis, unabhängig davon, wer wann und wo ein Arbeitsverzeichnis angegeben hat.

Diese Variante nutze ich für Programme, die nicht installiert werden müssen, sondern von USB-Stick, externer Festplatte... laufen sollen und ihre Daten auf dem Speicherträger ablegen sollen, auf dem sich die Exe befindet.

Allerdings lege ich die Daten, Konfigurationen... in Unterverzeichnissen ab.

Der Datenbankname im Connectionstring sähe dann so aus: .\Data\Datenbankdateiname.mdb Konfigurationen befinden sich im Unterverzeichnis Config, eine Dateinamenangabe sähe dann so aus: .\Config\Programmname.ini
  Mit Zitat antworten Zitat