Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

word-doc in ole-feld?





Frage

Guten Tag liebe Leute, wie kann ich in einem OLE-Feld ein Word-Dokument unterbringen? Während dieses Feld alle möglichen Dateitypen schluckt, erscheint bei Word-Dokumenten immer die Meldung, es sei bei der Kommunikation mit dem OLE-Server ein Problem aufgetreten und ich solle es doch nochmal außerhalb von Access versuchen. Anschließend muss ich diese Fehlermeldung x-mal schließen, bevor ich weiterarbeiten kann. Und kann mir wer ein Programm empfehlen, dass in Access erlaubt mit "Objekt einfügen" ein paar Seiten Text zu scannen um diese dann in einem OLE-Feld zu speichern. Microsoft Photoeditor 3.0 Scan schafft eine Seite und macht Zicken, wenn ich die gescannte Seite in einem Formularfeld öffnen will. Besten Dank für eure Hilfe Conny

Antwort 1 von struppi

Hallo Conny
Leider weiß ich nicht was bei Dir das Problem mit Word ist. Läßt sich denn das .doc außerhalb von Access ohne Problem öffnen?
Ich finde es aber ziemlich unpraktisch Dateien (vorallem Große) in ein OLE-Feld zu speichern.
Warum machst Du das nicht mit einem Link?
1. Öffnet die Datei sofort und in bearbeitbarer Form
2. kannst Du mit dem vor und zurück Pfeilen zwischen Formularansicht und Doc blitzschnell wechseln.
3. Kannst Du auch nur einen Ordner öffnen in dem mehrere Dateien sind.
4. Öffnet die Datei immer mit dem richtigen Programm ;-).
5.Bleibt die DB schlank
6.Gibt es keine Datei die nicht auf diese Art ansprechbar wäre.

gruß struppi




Antwort 2 von Annett

Hi Du,

füge doch kein Ole-Objekt sonder eine Schaltfläche ein, die das Word-Dokument öffnet...

Gruß
Annett

Antwort 3 von conny

- habe die DB nach Struppis Vorschlag umgebaut und siehe: es klappt! Nur sind die Docs nu nicht mehr so schön kompakt in der DB untergebracht, aber da kann ich mit leben.

Besten Dank Annett und Doc-tor Struppi

conny

Antwort 4 von conny

Hi hallo,
mit den Links ist die Arbeit wirklich viel komfortabler und schneller. In meinem schlauen Sybex Buch steht "Kontrollkästchen Relativen Pfad für Hyperlink verwenden". Wo bitte ist dieses Kontrollkästchen? Wenn ich es recht verstehe, packe ich die DB und alle angehängten Dokumente in einen Ordner, den ich dann beliebig im Rechner verschieben kann und die Links gelten trotzdem? Im Fenster "Verknüpfung zu Datei" muss ich den Datei-Typ immer von "Office-Dateien" auf Alle Dateien(*.*) umstellen. Kann ich Dateien(*.*) als Standart definieren?

Gruß conny

Antwort 5 von struppi

Hallo Conny
Das Kontrollkästchen findest Du (rechtsklick auf Hyperlink) im Kontexmenü/Hyperlink Bearbeiten.
Relativer Pfad bedeutet das Access den Pfad aus Sicht der eigenen Position benutzt.
Befindet sich die DB und die Dateien im selben Ordner, wird demnach nur der Dateiname als Pfad gesetzt. Obwohl die Datei den absoluten Pfad zB C:\Datenbanken\datei.doc haben kann.
Verschiebst Du jetzt den Ordner der sowohl die DB als auch die Daten umfasst, findet die DB weiterhin die Daten obwohl der absolute Pfad der Dateien jetzt ein ganz anderer ist. Hättest Du den absolute Pfad gesetzt würde die DB jetzt nichts mehr finden.
Der absolute Pfad ist dann geeignet wenn die DB verschoben wird und die Daten immer auf der selben Stelle bleiben. Bei alleinigem Verschieben der Daten ist weder der absolute noch relative Pfad mehr gültig.
Ich habe keine Möglichkeit entdeckt wie das von Access benutzte Dateiauswahlfenster beeinflußt werden kann. Du kannst aber eine ganze Reihe eigene Dateiauswahlfenster per Code aufrufen und auch nach Deinen Wünschen verändern. (Teilweise)
Ich benutze ZB ein shell-Auswahlfenster in Verbindung mit einem Code der den Namen der Datei als Text setzt und den Ordner als Hyperlinkpfad.
Ist ZB gut wenn man per Hyperlink zu einem auf dem Rechner gespeicherten Virus springen will ohne ihn zu aktivieren ;-)
Wenn Du Interesse an anderen Datei-Dialogfenstern hast dann melde Dich nochmal. Dann füge ich hier ein paar Beispiele ein.
gruß struppi


Antwort 6 von conny

tausend dank Struppi,

also im Kontexmenü/Hyperlink Bearbeiten ist bei mir kein Kästchen. Offenbar geht es auch ohne: Wenn ich schreibe
E:\Eigene Dateien E\Fotos\Fotos 2001\P2250008.JPG ist es automatisch der absolute Pfad, bei Wege\Solvatore.doc ist es der relative Pfad. Es wäre nett, wenn du ein paar Beispiele zu Datei-Dialogfenstern geben könntest. Allerdings bin ich bei VBA-Kenntnissen erst im Anfang (gegen den Widerstand zweier Freunde, die meinen, ich solle lieber was vernünftiges lernen, zb Delphi)

meine Grüße conny

Antwort 7 von struppi

Hallo Conny
Hast recht! Das Kontrollkästchen gibts scheinbar nur in A97 In 2002 sieht das Bearbeiten-fenster ganz anders aus.

Hier das erste File-auswahlfenstr:

Function AskFile(dir As String, titel As String, filter As String, Index As Long, Flags As Integer) As String
Dim dialog As Object

Set dialog = CreateObject("MSComDlg.CommonDialog")
If filter = "" Then
filter = "Alle Dateien|*.*"
End If
dialog.filter = filter
dialog.FilterIndex = Index
dialog.Flags = Flags
dialog.MaxFileSize = 260
dialog.CancelError = False
dialog.DialogTitle = titel
dialog.InitDir = dir
dialog.ShowOpen
AskFile = dialog.filename
Flags = dialog.Flags
End Function


Sub Filedialog()
Dim Flags As Integer, dateiname, meldung As String

Flags = 0
dateiname = AskFile("C:\", "Datei aussuchen!", "", 1, Flags)
meldung = "Ausgewählte Datei: " & dateiname & vbCr
MsgBox meldung
Me.Hyperfeld = "connys-" & dateiname & "#" & dateiname & "#"
End Sub

Filter werden nach dem Prinzip gesetzt:
"BeschreibenderText|*.Dateiendung"
(Es sind mehrere Filter möglich)
InitDir :
Ist das Einstiegsverzeichnis.
Mit Flags kannst Du weitere Optionen ändern (zB 512 Mehrfachauswahl)

Hier noch die shell-Variante:

Sub Filedialog2()
On Error Resume Next
Dim wshell, folder, Parent As Object
Dim dateien, daten As Variant
Dim Verzeichis As String
Set wshell = CreateObject("Shell.Application")
Set folder = wshell.browseForFolder(0, "hallo", 16384, "C:\Eigene Dateien\")



Set Parent = folder.ParentFolder
If TypeName(Parent) = "Nothing" Then
MsgBox "Das war wohl nischt!"
Exit Sub
End If
Set dateien = Parent.items
For Each daten In dateien

If daten.Name = folder.Title Then
Verzeichnis = daten.Path

End If

Next


Me.Hyperfeld = "connys-" & Verzeichnis & "#" & Verzeichnis & "#"

End Sub

Hyperfeld ist das Feld in das der Hyperlink eingetragen wird (Mußt Du anpassen) Auch hier können Optionen geändert werden.

Ich denke Du wirst wissen wie Funktionen eingefügt und angesprochen werden. Wenn nicht nochmal melden....

Gruß struppi

Antwort 8 von conny

Hi Doc Struppi, :-))

die Übung ist wohl fürs nächste Jahr, soweit bin ich noch nicht, aber ich kriegs schon raus, - mit copy n paste alles gespeichert -eine Frage der Zeit.

Herzlichen Dank nochmal und gute Nacht

conny

Antwort 9 von conny

Guten Morgen,

also bei mir laufen viele Unterlagen in diversen Dateiformaten auf. Die muss ich irgendwie an die Datenbank binden. Struppis Vorschlag mit einem Hyperlink für die entsprechende Verknüpfung zu sorgen funktioniert prima. Wenn nun aber die Anzahl der Unterlagen (Produktinformationen, - manchmal gescannt, als Word.doc, als pdf, als htm oder sonstewas) auf ein-, zwei-, dreihundert wächst, wird es in dem Ordner unübersichtlich. Sinnvoll lassen sich die Unterlagen auch nicht auf mehrere Ordner verteilen, höchstens vielleicht alphabetisch. Wie verwaltet man solche Unterlagen? Mit OLE oder Hyperlink?

Herzliche Grüße conny


Antwort 10 von struppi

Hi Conny
Du mußt versuchen innerhalb der DB weiter zu thematisieren. Die Dateien dann in Themenordner legen. Und die Dateinamen so wählen das sie schon über den Inhalt informieren oder anhand des Namens thematisch gefiltert werden können.
Du kannst Dir auch Dateilisten in der DB anzeigen lassen und per Auswahl aus einem Listenfeld die gewünschte Datei öffnen.
Sag einfach mal was Deine Idealvorstellung wäre und dann kann man ja mal sehen wie das zu realisieren ist.

Antwort 11 von conny

’n Abend Struppi,

die Dokumente habe ich nun in Ordner E:\Eigene Dateien E\Motor und Unterordner E:\Eigene Dateien E\Motor\01 ... \05 aufgeteilt. Wenn ein Unterordner zu voll wird, beginne ich einfach einen neuen. Die Verbindung zur DB geht mit einem Hyperlink und letztlich ist es schnurz, in welchem Unterordner das betreffende Dokument liegt. Besser wäre, wenn ich logische Gruppen wie Linear-, Asynchron-, Reihenschluss-Motor anlegen könnte. Nur ist nicht absehbar, wieviele Motoren letztendlich zu einer Gruppe gehören werden. Das können schnell ein paar hundert sein. So lässt es sich machen. Nur wenn ich einen Datensatz lösche, bleibt das Dokument bis zur Löschung per Hand im Speicher. Kann ich die Virenwarnmeldung beim Öffnen eines Dokumentes irgendwie ausschalten?

Meine Grüße und gute Nacht

conny


Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: