OLE Objekte per VBA in Access speichern

Hallo!
Genau diese Frage wurde hier schon mal gestellt:

„ich suche nach einer Möglichkeit per VBA OLE-Objekte in einer
Access-Tabelle zu speichern.“
ANTWORT: diese Möglichkeit gibt es
(Link: /t/ole-objekte-per-vba-in-access-speichern/4766430

Leider habe ich trotz stundenlanger Suche immer noch nicht gefunden, wie das dann in der Praxis aussehen muss.
Bei mir geht es konkret um Folgendes:
Ich habe ein ungebundenes Formular, darin befindet sich ein Objektfeld in welches manuell ein OLE-Objekt (Worddatei) kopiert werden kann. Aus diesem Feld heraus möchte ich das Objekt dann per VBA in eine Tabelle schreiben.

Mit jedem anderen Datentyp würde das so funktionieren:

rstT.Fields(1).Value = Me.txtOLE.Value

Bin wirklich sehr verzweifelt - wie die meisten Fragensteller… :wink: :-/ - und sage schon mal DANKE!!!

Hallo,

„ich suche nach einer Möglichkeit per VBA OLE-Objekte in einer
Access-Tabelle zu speichern.“
ANTWORT: diese Möglichkeit gibt es
(Link:
/t/ole-objekte-per-vba-in-access-speichern/4766430

Leider habe ich trotz stundenlanger Suche immer noch nicht
gefunden, wie das dann in der Praxis aussehen muss.
Bei mir geht es konkret um Folgendes:
Ich habe ein ungebundenes Formular, darin befindet sich ein
Objektfeld in welches manuell ein OLE-Objekt (Worddatei)
kopiert werden kann. Aus diesem Feld heraus möchte ich das
Objekt dann per VBA in eine Tabelle schreiben.

Mit jedem anderen Datentyp würde das so funktionieren:

rstT.Fields(1).Value = Me.txtOLE.Value

aber halt nicht mit OLE-Feldern…

Warum nimmst Du nicht ein GEBUNDENES Form und ein GEBUNDENES OLE-Feld?

– OLE-Felder sind in einer Datenbank fehl am Platz, es hat ja auch einen Grund, warum es keine ausführlichen Rezepte für die OLE-Manipulationen gibt.

– die Frage stellt sich, warum überhaupt ein ungebundenes OLE-Feld benutzt werden muß, umd ein Word-Doc dorthin zu kopieren und dann in irgendeine Tabelle zu speichern…

– Ein Lösungsweg wäre (neben dem gebundenen Form), den OLE-Inhalt zunächst mittels der OLE-Methoden in eine Datei zu schreiben und dann per Getchunk/Appendchunk-Methoden in das Binary-Tabellenfeld zu verfrachten (Hab ich im referenzierten Link auch erwähnt).

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Guten Tag,

Hallo Franz,

erst mal vielen Dank für die schnelle Antwort.

Ich kenne die Nachteile der ganzen Sache (Speicherplatz usw.), aber für diese spezielle Anwendung (Verwaltung von einzelnen Textmarken aus Word-Dateien, welche in Access zu Dokumenten zusammengestellt werden) wäre das halt nicht schlecht gewesen.
UNGEBUNDEN u.a. deshalb, weil Änderungen evtl. rückgängig gemacht werden können sollten. Das geht in dem eingebundenen Word-Dokument aber nicht mehr. Ich wollte also den „Ausgangszustand“ erst mal zwischenspeichern und falls der Anwender auf „abbrechen“ drückt, den alten Stand wieder herstellen.

Es gibt wohl auch keine Möglichkeit, einen bestehenden Datensatz mit einem OLE-Feld einfach so zu kopieren oder stehe ich da irgendwie auf dem Schlauch?

Danke nochmals und Grüße von gar nicht soo weit weg (Hallertau), Sepp

Hallo,

aber für diese spezielle Anwendung (Verwaltung von einzelnen
Textmarken aus Word-Dateien, welche in Access zu Dokumenten
zusammengestellt werden) wäre das halt nicht schlecht gewesen.

?? über OLE? warum nimmst du nicht einfach AC 2007 und Memofelder?

UNGEBUNDEN u.a. deshalb, weil Änderungen evtl. rückgängig
gemacht werden können sollten.

so hat man das früher mal gemacht, heutzutage kein Problem!

Das geht in dem eingebundenen Word-Dokument aber nicht mehr.

ein Word - Dokument einbinden ist da auch imho der falsche Weg.
Einfach den Text in ein Memofeld packen (AC2007 unterstützt RTF!!)

Ich wollte also den
„Ausgangszustand“ erst mal zwischenspeichern und falls der
Anwender auf „abbrechen“ drückt, den alten Stand wieder
herstellen.

nö, eigentlich überflüssig

Es gibt wohl auch keine Möglichkeit, einen bestehenden
Datensatz mit einem OLE-Feld einfach so zu kopieren oder stehe
ich da irgendwie auf dem Schlauch?

ja, kopieren ist kein Problem

Grüße aus Rostock
Wolfgang
(Netwolf)

Guten Tag,

Danke für die Informationen.

RTF scheidet leider aus, weil
1.) Acccess 2003 (noch) im Einsatz ist und da steht das ausgerechnet nicht zur Verfügung (kenne die Umwege, ist aber aus Sicherheitsgründen nicht möglich).
2.) Die Texte zum Teil auch in Form von Tabellen (wegen der Gestaltungsmöglichkeiten) vorliegen und das liesse sich so auch mit RTF nicht umsetzen.

Wenn es einfache Texte gewesen wären, dann hätte ich mir diesen ganzen Ärger natürlich ersparen können.

Schade, dass der komplette Ansatz nur daran scheitert, dass dieses eine OLE-Datenfeld nicht in per VBA in einem Recordset verarbeitet werden kann. Hätte ich nicht gedacht…

Danke nochmal für die Hilfe und falls es doch noch irgendwelche Neuigkeiten gibt, dann schreibe ich das hier wieder rein.

P.S.: Ich wollte mich schon an Microsoft wenden. Die würden 299 € verlangen und das wäre es mir auch wert. Die Frage ist nur, ob das IMMER fällig wird, also auch dann, wenn sie einem nur sagen können, dass es keine Lösung gibt. Hat da zufällig jemand Erfahrung?