Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Excel im Formular

Begonnen von Konni, Februar 18, 2024, 18:21:14

⏪ vorheriges - nächstes ⏩

Konni

Hallo zusammen.

Ich hätte mal eine Frage:

Gibt es die Möglichkeit in einem Unterformular eine Excel-Tabelle zu laden und diese zu bearbeiten ???

Wenn ja, wie

Im Voraus schon besten Dank.

MzKlMu

Hallo,
Excel in Access bearbeiten geht nicht, nur Anzeigen. Die Änderung von Daten muss in der Quelle (also Excel) erfolgen.

Zitat von:  Access HilfeDer Inhalt und die Struktur einer verknüpften Tabelle sind in Access jedoch schreibgeschützt.
Gruß
Klaus

ebs17

#2
Da würde ich teilweise widersprechen.
Verknüpfte Excel-Tabellen nicht aktualisierbar

Wenn Du also eine Abfrage wie die folgende als Verknüpfung verwendest, hast Du eine gewisse Bearbeitbarkeit.
SELECT X.* FROM [excel 12.0 xml;imex=0;DATABASE=c:\MeinPfad\Mein.xlsx].[Tabelle1$] AS X;

Der etwas umfangreichere Weg, eine Kopie der Exceltabelle in Access zu bearbeiten und per CopyFromRecordset in das Arbeitsblatt zurückzuschreiben, bleibt dann auch noch.
Herangehen und Lösung werden sich also an der Gesamtaufgabe orientieren müssen. Dabei muss man sich auch ins Bewusstsein führen, dass es für Excel praktisch keine Mehrnutzerfähigkeit gibt.
Mit freundlichem Glück Auf!

Eberhard

PhilS

Zitat von: Konni am Februar 18, 2024, 18:21:14Gibt es die Möglichkeit in einem Unterformular eine Excel-Tabelle zu laden und diese zu bearbeiten
@ebs17, hat die gängigen Möglichkeiten erläutert, jedoch eine weitere Option übersehen, die als Antwort zu dieser Frage ebenfalls eine mögliche Lösung sein könnte.

Du kannst ein "Unbound Object Frame" Steuerelement erstellen und darin deine Excel-Tabelle als Verknüpfung darstellen lassen. Dann wird dir in dem Steuerelement der Inhalt der Excel-Tabelle angezeigt. Das Bearbeiten ist durch Doppelklick möglich; allerdings wird dazu dann Excel gestartet und du bearbeitest dort.
Mit diesem Ansatz bleibt deiner Excel-Tabelle ein unabhängiges Objekt (Datei), das auch ausserhalb deiner Anwendung bearbeitet werden kann. Es besteht hier keine unmittelbare Möglichkeit die Excel-Daten direkt in deiner Access-DB zu referenzieren.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

ebs17

Zitatein "Unbound Object Frame" Steuerelement
Was ist das und wo findet man ein praktikables Beispiel?

Mir ist selbstverständlich noch der DSO Framer (Sonstiges - Tipp: Als Alternative zum Objektfeld - freies OCX zum Anzeigen von Office-Dokumenten) ein Begriff, Sascha Trowitzsch hatte dann auch ein überarbeitetes funktionierendes Beispiel im Thema beigefügt.

Der gigantische Vorteil ist dort, man sieht nicht nur Excel (von dem, was man zulässt), sondern es ist Excel und man kann darin alles machen wie im originalen Excel. Bei einem nachgebauten ActiveX ist man ja oft eingeschränkt.
Der Vorteil wird aber für den Entwickler auch zur Herausforderung, da neben den vielfältigen Techniken in Access (Accessobjekte, SQL, DAO, ADODB, DoCmd-Zeugs u.a.) jene von Excel dazukommen und alles sinnvoll verknüpft werden muss. Da muss man sein Handwerkszeug beherrschen und erste Lernphasen dazu bereits abgeschlossen haben.

Von der wirklichen praktischen Nutzung dieser Gestaltung war aber wenig wahrzunehmen, und ob dieses OCX mit heutigen Versionen von Access, Windows und Bitbreite belastbar zusammenarbeiten kann, ist auch erst einmal fraglich.

Der Wunsch aber, sein Excel direkt in seinem Formular zu sehen und darin wie gewohnt zu arbeiten, dürfte aber ungebrochen groß sein.
Mit freundlichem Glück Auf!

Eberhard

PhilS

Zitat von: ebs17 am Februar 19, 2024, 11:46:59Was ist das und wo findet man ein praktikables Beispiel?
Das Ding heißt auf Deutsch vermutlich "Ungebundenes Objektfeld" und du findest es bei den Formularsteuerelementen.

Ein Beispiel habe ich gerade nicht greifbar, aber das Steuerelement ist weitestgehend selbsterklärend, man muss nur darauf achten, dass man die "Link"-Option aktiviert (OLEType=Linked in den Eigenschaften).
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

ebs17

A ja, diese OLE-Verknüpfungen. Danke.
Diese habe ich selber nie angefasst, die Wahrnehmung auf tatsächliche Nutzung ist auch eher niedrig.
Mit freundlichem Glück Auf!

Eberhard