PDA

Vollständige Version anzeigen : Pfadangabe


Nagus
31.10.2003, 14:51
Hallo,

ich arbeite viel mit Exporten von Daten anch Excel. Die Exceldateien liegen im gleich Pfad wie die db.
Anstatt jedesmal (in VBA) den kompletten Pfad anzugeben, wo die Datei liegt, frage ich mich, ob man das nicht auch abkürzen kann.

Bsp.:
(Istzustand)
<b>Call Shell("excel ""C:\db\Datei.xls""", 1)</b>

(Sollzustand)
<b>Call Shell("excel ""..\Datei.xls""", 1)</b> oder so ähnlich halt. Sinn ist es insbesondere dann, wenn die Dateien verschoben werden, nicht überall den Pfad abändern zu müssen

Geht das?

Gruss,
Nagus

Nouba
31.10.2003, 14:53
Schau Dir mal die FAQ: 2.5 Pfad und Name der aktuellen datenbanl (http://www.donkarl.com/FAQ/FAQ2Allgemein.htm#2.5) an.

Nagus
31.10.2003, 15:04
ok, dann muss ich aber wieder mit Variablen arbeiten. Ich dachte es ginge auch einfacher. In html erreicht man das Ergebnis, indem man eben mit ..\.. usw. arbeitet.

Aber wenn's net geht, ..

Danke nouba
Nagus

Nouba
31.10.2003, 15:25
Hallo Nagus,

da der Pfad während der Laufzeit konstant bleibt, kann man doch einmalig eine öffentliche Variable oder eine Klasseneigenschaft mit dem DB-Pfad ausstatten. Damit müßte es sich doch bequem leben lassen.

Nagus
31.10.2003, 15:34
Hallo Nouba,

könntest du mir dies bitte an einem Beispiel zeigen?
Ich kriege es nicht hin und so gut sind meine VBA-Kenntnisse leider nicht.

Gruss,
Nagus

Nouba
31.10.2003, 16:06
Halo Nagus,

in einem globalen Modul legst Du eine öffentliche (Public) Variable oben im Deklarationsabschnitt für den aktuellen Datenbankpfad an. In Deinem Startup-Fenster oder in einer Funktion, die mit dem AutoExec-Makro via RunCode gestartet wird, initialisierst Du diese Variable und kannst jederzeit darauf zugreifen.
' im öffentlichen Modul

Public Const strcQuote As String = """" ' ein Anführungszeichen
Public gstrDbPath As String


' im Startupformular oder Funktion
gstrDbPath = Left$(CurrentDb.Name, Len(CurrentDb().Name) - Len(Dir(CurrentDb().Name)))

' eine Verwendung an anderer Stelle
Call Shell("excel " & strcQuote & gstrDbPath & "Datei.xls" & strcQuote, 1)

Nagus
31.10.2003, 16:43
Perfekt! Vielen Dank nouba.

Schönes Wochenende
Gruss,
Nagus