Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: aknirsch am November 20, 2013, 10:19:18

Titel: Dateien (PDF, Word, Excel) im Formular hinterlegen (Datenbank im SQL Server)
Beitrag von: aknirsch am November 20, 2013, 10:19:18
Hallo Zusammen,

wir haben das Problem, dass wir in unserer Access Anwendung Dateien in den Formularen hinterlegen konnten. (PDF, Word etc.)
Nun haben wir die Datenbank auf SQL Server umgestellt und diese Funktion funktioniert nicht mehr.
Wie geht man nun am Besten vor? Wir können die Dateien auch in einem UNC Pfad speichern und den Link im Formular hinterlegen.
Komplettes Speichern in der Datenban wäre auch denkbar.

aber wie ?

Grüße aknirsch
Titel: Re: Dateien (PDF, Word, Excel) im Formular hinterlegen (Datenbank im SQL Server)
Beitrag von: DF6GL am November 20, 2013, 23:00:06
Hallo,

ich weiss zwar nicht, wie "Dateien in den Formularen hinterlegen" funktionieren soll, aber eine empfehlenswerte (gängige) Lösung ist, nur den UNC-Pfad (mit Dateiname) als solchen in einem Tabellen-Textfeld zu speichern. Das Anzeigen (Öffnen) der jeweiligen Datei könnte mit der Followhyperlink-Methode oder (evtl. besser) mit der Shellexecute-Funktion erfolgen.

"Komplettes Speichern in der Datenban wäre auch denkbar."  Wenn das heißen soll, das der gesamte Datei-Inhalt in einem BLOB-Feld (Long Binary) in die Tabelle abgespeichert wird, wäre davon abzuraten.

Titel: Re: Dateien (PDF, Word, Excel) im Formular hinterlegen (Datenbank im SQL Server)
Beitrag von: aknirsch am November 21, 2013, 08:39:04
Hallo,

danke für die Info. Als Blob abspeichern wäre auch nicht meine erste Wahl!

Wenn ich das mit den relativen Links realisiere, wie kann dann ein Anwender "unkompliziert" ein Dokument "anhängen"?

Hast Du da eine Idee?

Grüße
Titel: Re: Dateien (PDF, Word, Excel) im Formular hinterlegen (Datenbank im SQL Server)
Beitrag von: DF6GL am November 21, 2013, 09:23:41
Hallo,

versteh den Sinn der Frage nicht...

Wenn der Dateiname  im UNC-Format als Text in ein Tabellenfeld gespeichert werden soll, welche "Kompliziertheit" gibt es da?   Zudem habe ich nicht von "relativen Links" gesprochen...

Der UNC-PFAD (ohne Dateiname) ist konzept-abhängig  (der Servername und das Haupt-Ablageverzeichnis wird ja wohl nicht vom User ausgewählt werden müssen..)  und ist als Konstante anzusehen.   Ein evtl. von einem Tabellenfeld abhängiges Unterverzeichnis (z. B. abhängig von der Kundennummer) kann aus den abgelegten Tabellen-Daten ermittelt werden, wobei der eigentliche Dateiname ( einschl. Extension) vom User über einen Filedialog ausgewählt wird...
Titel: Re: Dateien (PDF, Word, Excel) im Formular hinterlegen (Datenbank im SQL Server)
Beitrag von: aknirsch am November 21, 2013, 10:31:57
Mein Problem ist, dass das meine Datenbankbenutzer nicht hinbekommen, also den UNC Pfad von Hand einzugeben.
Die bekommen (maximal) hin, das gewünschte Dokument über den Explorer auszuwählen...
Titel: Re: Dateien (PDF, Word, Excel) im Formular hinterlegen (Datenbank im SQL Server)
Beitrag von: DF6GL am November 21, 2013, 11:40:04
Hallo,

naja, wie gesagt, der UNC-Pfad (z. B.  \\Servername\Freigabe\Hauptverzeichnis) ist doch eine Konstante, oder nicht?  Den braucht der User doch gar nicht bearbeiten/wissen.  Um eine Datei aus diesem oder einem darunterliegenden Verzeichnis auszuwählen, kann dem User ein Filedialog(!, nicht "Explorer")  präsentiert werden, der auf das Hauptverzeichnis eingestellt wird und die Auswahl der gewünschten Datei erlaubt. Vor dem Speichern wird der ausgewählte Dateiname separiert und mit dem UNC-Pfad "verkuttelt" ...
Wo ist da das Problem?



Titel: Re: Dateien (PDF, Word, Excel) im Formular hinterlegen (Datenbank im SQL Server)
Beitrag von: aknirsch am November 21, 2013, 11:42:58
Darauf würde ich gere heraus.. Kannst Du mir erklären, wie das mit dem File Dialog geht?

Gruss
Titel: Re: Dateien (PDF, Word, Excel) im Formular hinterlegen (Datenbank im SQL Server)
Beitrag von: DF6GL am November 21, 2013, 11:53:20
Hallo,

Access (Office) bringt einen Filedialog von Haus aus mit:

Setze den Verweis auf die MS Office Object xx Library

Danach kann mit

Application.Filedialog

und nach Setzen einiger Voreinstellungen das Datei-Auswahl-Fenster angezeigt und eine oder mehrere Dateien ausgewählt werden....



Siehe auch:  http://support.microsoft.com/kb/824272/de
Titel: Re: Dateien (PDF, Word, Excel) im Formular hinterlegen (Datenbank im SQL Server)
Beitrag von: aknirsch am November 21, 2013, 15:53:50
Super, dass geht nun...

Jetzt füllt sich das List Element mit den Pfadangaben und Datei Namen

Wie bekomme ich diese Angaben nun in einer Tabelle gespeichert und beim Auslesen aus der Tabell per Klick geöffnet??

Auf jeden Fall kommen wir weiter :-)
Titel: Re: Dateien (PDF, Word, Excel) im Formular hinterlegen (Datenbank im SQL Server)
Beitrag von: DF6GL am November 21, 2013, 18:50:03
Hallo,

was ist bei Dir das "List-Element"?  Wenn das das Filedialog-Fenster ist, in dem man Dateien auswählen kann, dann siehst Du doch im Beispiel, wie man den Dateinamen einer Variablen oder einem gebundenen Formular-Textfeld ("txtFileName")  zuweist. Das Form-Textfeld wird, weil es an das entspr. Tabellenfeld gebunden ist, den Dateinamen speichern.  Vorher sollte aber, wenn der UNC-Pfad relevant ist, der  reine Dateiname (plus Ext.) mit dem UNC-String verkettet werden.


Soll diese Datei in Folge angezeigt, bzw. mit dem der Dateiendung assoziierten Programm geöffnet werden, so nutz (auch wie schon erzählt) die FollowHyperlink-Methode oder die ShellExecute-Funktion..


Sub btnShowFile_Click()
Followhyperlink Me!txtFileName
End If



http://www.dbwiki.net/wiki/VBA_Tipp:_Anwendung_mit_ShellExecute_starten