Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Ole-Objekt-Feld ändern oder Worddatei in Formularfeld anzeigen

Begonnen von THK, Februar 20, 2014, 14:36:04

⏪ vorheriges - nächstes ⏩

THK

Hallo Zusammen!

Ich möchte eine Datenbank errichten, die im Prinzip ein Worddokument anzeigt, welches auch von dort aus geändert oder (unter Verwendung spezieller Vorlagen) angelegt werden kann.
Dabei habe ich zunächst diese Datei in eine OLE-Objekt-Feld gespeichert. Da gehen schließlich auch komplex gestaltete Dokumente oder auch Excel-Tabelle rein!
Das geht zwar über dan Kontext-Menu mit "Objekt einfügen" schon recht einfach, allerdings kann ich die gewünschte Word-Vorlage hier irgendwie nicht vorgeben.
Zwischenzeitlich habe ich einen Code erstellen können, mit dem ich aus Access heraus ein  neues Worddokument unter Verwendung einer Vorlage öffnen kann. Nur bekomme ich diese nicht im mein OLE-Objekt-Feld!

Public Sub WdOeffnen()
Dim wdAnw As Word.Application
Dim wdDok As Word.Document, wdDocDummy As Word.Document
Dim tDoc As String
tDoc = "d:\eigene_Dateien\Vorlagen\QMS-Vorlage.DOT"
Set wdAnw = CreateObject("Word.Application")
wdAnw.Visible = False
wdAnw.WindowState = wdWindowStateNormal
Set wdDok = wdAnw.Documents.Add(Template:=tDoc)
End Sub 

Nach ausdauernd langem "googeln" habe ich hierzu keine Hilfe gefunden. Allenfalls den Tipp, hier doch besser kein OLE-Objekt zu speichern, sondern nur den Link zur Datei.
Das kriege ich sicherlich ebenso hin, allerdings sind diese Tipps dann erschöpft, wenn es um die Frage der Darstellung des Datei-Inhaltes zum Link in einem Formular geht.
Schließlich will man ja nicht erst Word aufrufen, um zu sehen was drin steht.

Weiß also gemand aus der Access-Gemeinde, wie ich ein geöffneten Word-Dokument in die Access-DB als OLE-Objekt speichern kann (vermutlich nur über Code in der Word-Vorlage?)
oder
kennt jemand eine vernüftige Methode um Worddatei-Inhalte gemäß gespeicherter Links im Formular anzuzeigen?

DF6GL

Hallo,

siehe:
http://www.access-im-unternehmen.de/index1.php?id=300&BeitragID=772
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

THK

Den Beitrag mit dem DSO-Framer habe ich schon durch. Leider funzt das unter Win7 nicht immer so.
Die Registrierung des ActiveX ist übrdies aufwendig (für weitere DB-Nutzer) und eine Alternative ist in dem Beitrag nicht zuerkennen.

Kann denn ein OLE-Objekt überhaupt geändert werden?
Und, da der Framer doch sicherstellen soll, das z.B. das Objekt in einem eigenen Word geöffnet wird, ist er zur Anzeige von Dateien, die als Link in der DB gespeichert sind, nicht nutzbar?!?


DF6GL

Hallo,


mhmm, was willst Du nun eigentlich machen?

Der Hinweis zum Speichern nur von DateiPfadnamen als Text in der DB und Öffnen dieser Dateien mit dem dazu gehörenden Programm ist der einzig vernünftige...Was macht's, wenn das eigentlich Programm gestartet wird? Es gibt auch reine Viewer für die einzelnen Programme.

Das Anzeigen des Dateiinhaltes (z. B. eines Word-Doks) direkt im Formular ist eher unzulänglich.


Zitatdie als Link in der DB gespeichert sind

Was meinst Du damit?
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

THK

Hallo DF6GL,

ich versuche mal konkret zu erklären, was ich will. Vielleicht kommt dieser Beitrag dann einem möglichen allgemeinen Interesse der Access-Gemeinschaft ja näher. Auffällig ist allerdings, dass dieser Lösungswunsch irgendwie nicht im Netz zu finden ist.

Meine Access-DB soll die Beschreibung einzelner Prozesse aufnehmen (QMS-Handbuch).
Ein Prozess besteht bei mir aus
-einem Prozess-Kopf (Nummer, Name, Version...)
-eine Freigabetabelle
-einer groben Beschreibung (Zweck, Kunden u. Lieferanten des Prozesses...)
-einem flexiblen Flowchart.

Die einzelne Prozessbeschreibung soll in einem Formular erfasst bzw. bearbeitet werden und später ausgegeben werden.

Bis auf das Flowchart habe ich alles bereits realisiert.
Dies würde ich gerne in Excel oder Word erstellen, da dort die Flowcharts frei gestaltet und kommentiert werden können (ging möglicherweise besser in Visio, habe ich aber nicht).
Gedacht war, ein OLE-Objekt im Formular anzuklicken oder auch über ein Command-Button ein neues Excel-oder Word-Objekt zu öffnen, was sich an eine Vorlage orientiert.
Natürlich könnte die Datenbank mit so vielen OLE-Objekte sehr groß werden.
Daher wäre auch eine Verweis auf eine Excel- oder Worddatei denkbar.
Mit meinem o.a. Code kann ich also eine Word-Datei in Word öffnen, dabei eine Vorlage verwenden und mein Flowchart darin erzeugen.

Aber wie soll ich dann aber entweder eine OLE-Objekt füllen oder den Datei-Link in die DB abspeichern (Benötigt die Vorlage ggf. Code um die Access-DB zu füllen?)?

Dann stellt sich die Frage, wie ich die Inhalte des OLE-Objektes bzw. des Word-oder Excel-Dokumentes über meinen Report ausgegeben bekomme (mit 'nem Viewer?).

Ist meine Bastelei wirklich so aussergewöhnlich? Irgendwie glaube ich das nicht!

Vielen Dank schon jetzt


DF6GL

Hallo,

was Du beschreibst und haben willst, ist so etwas Ähnliches wie ein Dokumenten-Management-System. Neben dem korrekten Aufbau der Tabellen (--> Normalisierung) könnten folgende Methoden in Betracht gezogen werden:

1)  Bearbeiten (Erstellen, (Daten eingeben manuell in entspr. Programm), Speichern als Datei ) per Automation der einzelnen Programme (Word, Excel, Visio, etc.) und Speichern der Pfad-Dateinamen als Text in einem Tabellenfeld. Anzeige und Drucken solcher Dokumente (mit z. B. Shellexecute oder auch per Automation) als separater Printjob in Verbindung mit  dem Ausdruck eines Access-Berichtes

2) Wie 1), nur erfolgt die Speicherung des Datei-Inhaltes (!) binär in einem OLE-Feld (oder auch Memofeld).  Die Datei (z. B. ein Word-Doc) kann danach von der HD gelöscht werden. Soll die Datei, die akt. als Binäres Objekt in einer Tabelle gespeichert ist, wieder angezeigt, bzw. bearbeitet werden, so ist der Inhalt zunächst in eine "normale" Datei auf der HD zu speichern und dann mit dem entspr. Programm zu bearbeiten.

Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access