Hallo,
ich bin dabei, einen Starter für eine DB im FE/BE-Design zu basteln und habe Fehlermeldungen. Und versuche mich schrittweise vor zu tasten. Beispielsweise öffnet der unten stehende Code eine accdb, aber die Zeile darunter öffnet keinen docx.
Shell SysCmd(acSysCmdAccessDir) & "MSaccess.exe """ & CurrentProject.Path & "\~Versionsgeschichte\Beispiel.accdb""", vbNormalFocus
Shell SysCmd(acSysCmdAccessDir) & "MSword.exe """ & CurrentProject.Path & "\~Versionsgeschichte\Beispiel.docx""", vbNormalFocus
Ich habe schon heraus gefunden, dass das irgend etwas mit der Installation zu tun haben könnte. Wie bekomme ich heraus, was anstelle von Shell SysCmd(acSysCmdAccessDir) & "MSword.exe " stehen muss?
--------------
Hiermit kopiere ich das FE in die Installation des Users.
FileCopy "N:\string\string\string\string\string\string\string\string\Vorlage.accdb", Application.CurrentProject.Path & "\~Unterordner\Starter.accdb"
[\code]
Nun möchte ich den Pfad aus einer Tabelle tbl1 beziehen, die das Feld Pfad im Datensatz mit ID=1 enthält. Wie kann man den Pfad aus der Tabelle beziehen? Oder soll man ein Feld in das Formular einfügen und sich darauf beziehen?
Carl
Hallo,
auf
SysCmd(acSysCmdAccessDir)
kannst Du verzichten, solange das aufzurufende Programm in Windows registriert ist, was bei den Office-Programmen der Fall sein dürfte.
zudem heißt Word als Programm nicht MsWord.exe sondern WinWord.exe.
Shell "MSaccess.exe """ & CurrentProject.Path & "\~Versionsgeschichte\Beispiel.accdb""", vbNormalFocus
Shell "Winword.exe """ & CurrentProject.Path & "\~Versionsgeschichte\Beispiel.docx""", vbNormalFocus
Was ist das für ein (sinnlose) Unterverzeichnis-Bandwurm und warum taucht die Tilde im Verzeichnisnamen auf? Hat das eine bestimmte Bewandtnis?
FileCopy "N:\string\string\string\string\string\string\string\string\Vorlage.accdb", Application.CurrentProject.Path & "\~Unterordner\Starter.accdb"
Es klappt! Danke.
Der Bandwurm zeigt nur dass es lang ist. Die Tilde ist notwendig, damit das Verzeichnis in der Sortierung im Explorer "oben" steht und anders als handangelegte aussieht. Sie sonst keine Bedeutung.
Mal ne andere Frage:
Wenn ein Verzeichnis verschiedene Dateien enthält, zum Beispiel Kraut und Rüben. Wie kann man dann Acc anweisen, eine bestimmte Datei heraus zu suchen und an zu stoßen, die im DateiNamen eine bestimmte Zeichenfolge enthält, zum Beispiel "abc"? Wonach muss ich suchen, wenn ich so eine Funktion basteln möchte?
Carl
Ich habe übungsweise versucht, die obige Funktion etwas auszubauen. Das Feld Pfad2 entstammt einer Tabelle, die vom User selbst über die Einstellungen editiert werden kann und enthält nur eine Zelle ID=1, nämlich den Dateinamen.
Dim strFN1 As String
strFN1 = Nz(Me!Pfad2, "")
If Dir(strFN1) <> "" Then
FollowHyperlink CurrentProject.Path & strFN1
Else
MsgBox "Der Pfad wurde nicht gefunden!", 64, "Geben Sie bei den Einstellungen einen korrekten Pfad an."
End If
Hier funktioniert die Zeile FollowHyperlink CurrentProject.Path & strFN1 nicht. Was ist da falsch?
Carl
Hallo,
gib mal CurrentProject.Path & strFN1 mit Debug.Print in das Direktfenster aus, dann siehst Du selber die Ursache.
Zitat....eine bestimmte Datei heraus zu suchen und an zu stoßen, die im DateiNamen eine bestimmte Zeichenfolge enthält, zum Beispiel "abc"?
strDateiname = Dir("*abc*")
findet die erste Datei, die "abc" im Dateinamen enthält.
Hallo Carl,
Für Ordner-/Dateizugriffe gibt es das "FileSystemObject".
Das bietet etwas mehr Komfort als ein einfaches "Dir()"
gruss ekkehard