stefankittel
Goto Top

Excel-Tabelle in Access DB anzeigen und speichern

Hallo,
ein Kunde von uns verwendet ein eigenes Kundensystem auf Basis von Access. Angebot werden mit Excel mit Makros geschrieben.
In Access gibt es verweise auf diese Excel-Dateien. Das funktioniert natürlich nicht mehr, wenn Jemand (der Chef) ein Dokument in Excel öffnet, verändert und danach umbenennt.

Kann man in einem Formular ein richtiges Excel Dokument mit Makros haben? Und kann man dies dann direkt in der Datenbank speichern?
Ich habe per google nichts hilfreiches gefunden.

Danke

Stefan

Content-ID: 132719

Url: https://administrator.de/contentid/132719

Ausgedruckt am: 23.11.2024 um 05:11 Uhr

dog
dog 04.01.2010 um 19:56:32 Uhr
Goto Top
Access hat soweit ich mich erinnere auch ein binäres Datenfeldformat (OLE oder so).
Du könntest also eine Tabelle anlegen in der du die Excel-Dateien abspeicherst und per Makro dann in %TMP% auspackst und öffnest etc.
Das wäre aber schon relativ pervers...

Grüße

Max
KUBLIdata
KUBLIdata 20.01.2010 um 10:28:35 Uhr
Goto Top
Hallo!
Ein Weg, den ich schon öfters pflegte, war folgendermassen:
Die Exceldatei (inkl. allem drum und dran, Makros etc.) kann binär in einer Tabelle gespeichert werden.
Die Backenddatenbank wird allerdings sehr gross wie man annehmen kann.
Die Funktionalitäten zum Speichern in der Tabelle wie auch zum 'entpacken' auf das Filesystem sind bekannt und gut.

Etwas anderes:
Sie müssten einen Weg finden, dass das Excelfile nur per Access gestartet werden kann. Daher sollte ein ausgeblendetes Makro
beim Starten 1) von Excel ausgeführt werden. Dies kontrolliert, ob es von Access gestartet wurde.
1) Beim Start werden Schutzmechanismen entfernt, beim Schliessen wieder gesetzt. Auch sollte von Access her ein Schreibschutz gesetzt werden mit einem
Attribut-Befehl. Unter NTFS lassen sich auch Benutzerberechtigungen setzen, die nachher nur Access "bekannt sind".
Es gibt immer Möglichkeiten. Man sollte die einfachste Lösung nehmen.

Auf das Anzeigen des Excelfiles in einer Access-Form würde ich verzichten, da die Funktionalitäten stark eingeschränkt werden.