Aktuelles Verzeichnis ermitteln mit VBA

Hallo,

ich will eine Access DB incl. Form auf CD brennen und verteilen. Die DB greift auf Word Dateien zurück.
Da das CD Laufwerk nicht zwingend Laufwerk D:\ ist kann ich den Aufruf der Word Dokumente auch nicht mittels absolutem Pfad angeben sondern muss abfragen können wo sich die Applikation gerade befindet.
CurDir gibt mir leider immer nur C:\Eigene Dateien\xxx\ und nicht den Pfad in dem sich die Access-DB befindet.

Weiß jemand Rat?

Hallo,
suchst du nun das CDROM oder den ORdner in dem Das PRogramm gestartet wird ?

CDROM:
http://www.microsoft.com/germany/msdn/library/window…

Ordner:

Dim pfd As String
pfd = App.Path
msgbox pfd

mfg joe

Hallo Dafyd,

ich mag dir nicht zu nahe treten wollen. Aber du solltest schon ein Setup ausliefern was das Progg installiert! Du schreibst was von Office Datein. Greifst du da auch auf das Object von Office zurueck? Wenn ja was ist wenn kein Office installiert ist?
Nutzt du Steuerelement? Hast du API Aufrufe drinnen? Dies all setzt voraus das die Elemente installiert und registriert sind!
Kannst du sicherstellen das auf dem Zielrechner die VB Runtimes installiert sind? Denn auch diese werden benötigt!
Alles in allem eine sehr gewagt Sache was du vorhast :s

Ansonsten kannst du via

Dim sFile as String
sFile=IIF(right(App.Path,1)="\",app.path & "Pfad zur DB", app.path & "\" & "Pfad zur DB")

auf die DB zugreifen :smile:

MfG Alex

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Du trittst mir nicht zu nahe, die Fragen sind berechtigt.
Folgendes Problem existiert:

Ein paar Worddokumente die wichtige, themenbezogene Infos beinhalten, sollen per leicht zu bedienender Maske, je nach Themengebiet getrennt, per Klick aufgerufen werden können. Die Access-Form dient der Visualisierung und Trennung nach Thema.

Alle Empfänger haben das gleiche Setup der Rechner, also auch Access usw. Die Rechner sind 100% identisch!.

Was passieren kann ist, das jemand die Daten auf der CD aufruft, andere werden evtl den CD Inhalt mit der Verzeichnisstruktur irgendwohin auf die Festplatte kopieren um ständigen Zugriff zu haben.

Die App.Path Version hab ich schon versucht, aber nicht erfolgreich. Mus ich da einen Verweis einbinden?

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Dafyd,

kann es evtl. sein das du von VBA sprichst?
Die Variante App.Path ist auf VB bezogen!

Aber noch schnell wat anderes. Da kann es ja sein das er die DB auf der HD speichert aber die Datenbank auf der CD belaesst oder?
Desweiteren, weisst du sicherlich das du so keine Änderung an der DB vornehmen kannst, sollte es von nöten sein :frowning:

MfG Alex

Hallo Alex,

kann es evtl. sein das du von VBA sprichst?
Die Variante App.Path ist auf VB bezogen!

Menno, endlich ist da mal einer da der sich an die Brettbeschreibung auch hält und das Basic im Betreff angibt, dann sowas :smile:))

Desweiteren, weisst du sicherlich das du so keine Änderung an
der DB vornehmen kannst, sollte es von nöten sein :frowning:

Meinst du das gesetzte Schreibschutz-Bit oder meinst du damit noch was anderes?

Gruß
Reinhard

Hallo,

also wenn es sich um interne Programmierung (VBA) in einer Access-Datenbank handelt, dann kann man mit

currentproject.path

den aktuellen Datenbankpfad ermitteln und dementsprechend auch das Laufwerk daraus extrahieren (Right-Funktion).
Ich gehe davon aus, dass die Tabellen (Daten) in der gleichen Datenbank enthalten sind.
Bei einer Frontend-Lösung mit verknüpften Tabellen wäre auch möglich durch

Currentdb.TableDefs([Name einer enthaltenen Tabelle]).Connect

in verbindung mit der Mid-Funktion den Pfad/Laufwerk zu ermitteln (vorher Verweis auf DAO aktivieren).

Gruß, tester!

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Reinhard,

oje oje oje . Asche auf mein Haupt :confused: Im Betreff steht es gross und Breit :confused: Nunja das kommt davon wenn man net richtig bei der Sache ist :s

MfG

OT Wenn du glaubst du wärst der Einzige der…
…sowas „überliest“ dann täuschst du dich, ich bin da besser :smile:
Und, es gibt da noch viele andre Aspiranten für den Thron des „Überlesers“ *hihi*
Irgendwie sind wir alle gleich :smile:
Du bist in Vb fit, ich hab halbahnung von ExcelVba, wenn da ne Anfrage kommt sehe ich das so, du halt auch so aber anders, dann sind wir beide beim Problem der Anfrage, was im Betreff satand, wen interessierst *gg*
Gruß
Reinhard