Thias78 Geschrieben 31. März 2006 Geschrieben 31. März 2006 Hallo!! Ich habe eine Access (2000) DB mit VB-Frontend. In der DB werden in einer Tabelle Anlagen (Bilder, PDFs, Dokumente, ...)gespeichert. Wie kann ich so ein gespeichertes Objekt denn in der entsprechenden Anwendung öffnen lassen, bzw auf Wunsch so eine Datei auch wieder von der DB aus in ein beliebiges Verzeichnis zu speichern? Danke! Zitieren
DevHB Geschrieben 31. März 2006 Geschrieben 31. März 2006 Hi, Du speicherst doch nicht die Daten als Blob o.ä., oder ? Normalerweise speichert man sowas, in dem man die Pfade zu den Dateien ablegt. Einfach mal nach "ShellExecute" API suchen, die öffnet Dir die angegebene Datei mit der Standardanwendung. Zitieren
Thias78 Geschrieben 31. März 2006 Autor Geschrieben 31. März 2006 doch... ich sollte die dateien in der DB speichern... weil ich die DB mit pwd schützen kann, nicht aber die einzelne datei... außerdem habe ich hier das problem, dass verschiedenste dateien aus 25 niederlassungen irgendwo in deutschland abgelegt werden sollen... also haut das allein mit der pfadangabe auch nicht hin in der DB habe ich eine Tabelle angelegt, die OLE-Objekte - also Dateien, speichern kann... ich bekomme die Dateien da auch rein... aber wie wieder raus bzw zur anzeige (O: Zitieren
DevHB Geschrieben 31. März 2006 Geschrieben 31. März 2006 Hmm, dat kann ich Dir nicht sagen, ich weigere mich, so etwas zu machen und konnte es auch immer abwehren bzw. andere Vorschläge begründen und anwenden. Außerdem wird Access bei vielen Dateien sehr langsam. Schau Dir mal das OLE Objekt an, vielleicht gehts damit. Eventuell kommt man über den Umweg, dass man die Daten ausliehst, temporär speichert, anzeigt und dann wieder löscht weiter, kann ich leider aber nicht testen bzw. bestätigen, musst Du ausprobieren. Womit greifst Du auf die DB zu, ADO oder DAO? Falls ADO, versuch mal: Dim oStream As ADODB.Stream Dim sFileName As String sFileName = "C:\Test.pdf" With oStream .Type = adTypeBinary Call .Open Call .Write( Rs.Fields("File").Value) Call .SaveToFile(sFileName) Call .Close End With Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.