Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 6/2009.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Zusammenfassung

Bauen Sie ein Steuerelement mit Excel-Funktionen in eigene Formulare ein und füllen Sie dieses mit Daten aus der Datenbank.

Techniken

Formulare, VBA, Excel

Voraussetzungen

Access 2000 und höher

Beispieldateien

Spreadsheet.mdb

Shortlink

694

Tabellen wie unter Excel

André Minhorst, Duisburg

Wer aus der Excel-Welt kommt, fühlt sich beim Umgang mit Access-Tabellen unter Umständen etwas eingeschränkt: Man kann nicht mal eben eine Formel einbauen, Berechnungen ad hoc durchführen oder Felder nach Wunsch formatieren. Das Integrieren von Excel per OLE ist auch nicht das Gelbe vom Ei, aber es gibt noch eine Variante - wenn auch eine aussterbende: Das Spreadsheet-Steuerelement der Office Web Components, die letztmalig mit Office 2003 ausgeliefert wurden, bietet eine gute Gelegenheit, Excel-Funktionalität in Access-Formulare zu integrieren.

Wenn Sie die Office-Spreadsheet-Komponente nutzen möchten, müssen Sie diese unter Umständen erst herunterladen. Den Download für die 2003er-Komponente, die auch mit Access 2007 zusammenarbeitet, finden Sie unter dem Link http://www.microsoft.com/downloads/details.aspx?FamilyId=7287252C-402E-4F72-97A5-E0FD290D4B76&displaylang=en. Die EULA dieses Pakets, die Sie beim Installieren bestätigen müssen, besagt sinngemäß, dass die Komponenten nur zusammen mit der jeweils passenden Office-Version verwendet werden dürfen. Die Beschreibung der in Office 2007 weggefallenen Komponenten unter http://technet.microsoft.com/en-us/library/cc178954.aspx (siehe unter OWC11) ist jedoch weniger restriktiv. Vielleicht liegt die Einschränkung in der EULA einfach daran, dass man zur Zeit der Fertigstellung des Setups noch nicht daran dachte, ob und wie die Office Web Components in Office 2007 integriert würden. Wir beobachteten jedoch, dass auch die Installation von Office 2007 und sogar der Runtime-Version das Steuerelement mit auf den Rechner brachte.

Bei der Beispieldatenbank zu diesem Beitrag könnte es übrigens zu kleineren Problemen mit den Verweisen kommen. Diese lassen sich gegebenenfalls durch Entfernen von als NICHT VORHANDEN gekennzeichneten Verweisen und Löschen und erneutes Einfügen und Umbenennen des Steuerelements in clsSpreadsheet beheben. Wie auch immer: Wenn wir davon ausgehen, dass Sie eine Version der OWC auf dem Rechner haben, können Sie das Spreadsheet-Steuerelement über den Dialog ActiveX-Steuerelement einfügen zu einem Formular hinzufügen (s. Abb. 1). In der Formularansicht verbreitet das Steuerelement dann auch gleich einen Hauch von Excel-Feeling (s. Abb. 2). Natürlich ist dies kein vollwertiges Excel, aber es lassen sich zumindest die Zellen mit Werten füllen - und auch mit Formeln. So funktioniert beispielsweise nicht nur das Eintragen von Formeln mit relativen und absoluten Bezügen zu den übrigen Zellen, sondern relative Formeln werden beim Kopieren und Einfügen auch entsprechend angepasst.

pic001.png

Abb. 1: Einfügen der Spreadsheet-Komponente in ein Access-Formular

pic002.png

Abb. 2: Das Spreadsheet-Steuerelement im Access-Formular

Es gibt keine Anzeige der in der aktuell markierten Zelle enthaltenen Formel in der Kopfzeile des Steuerelements, dafür können Sie aber einen kleinen Dialog einblenden, der alle gewünschten Informationen anzeigt (s. Abb. 3). Damit können Sie auch etwa die Formatierungen der aktuellen Zelle direkt nach ihrer Markierung einsehen und anpassen. Unter uns gesagt: Damit ist man näher am Geschehen als unter Excel selbst, denn dort kann man nicht die Zelle wechseln, während etwa der Dialog zum Einstellen des Zellenformats geöffnet ist.

pic003.png

Abb. 3: Anzeige der Formel eines Feldes

Der nächste Clou ist, dass Sie problemlos komplette Bereiche aus einer in Excel geöffneten Excel-Datei in das Spreadsheet-Steuerelement kopieren können und umgekehrt. Das bedeutet auch, dass alle Formeln und Formatierungen mit kopiert werden (s. Abb. 4).

pic004.png

Abb. 4: Das Hin- und Herkopieren von Bereichen zwischen Excel und des in einem Formular eingebettetem Spreadsheet-Steuerelement ist kein Problem.

Wenn Sie im Dialog Befehle und Optionen die Optionen Horizontale Bildlaufleiste, Vertikale Bildlaufleiste, Blattregisterkarten und Symbolleiste deaktivieren, sieht das Steuerelement fast wie ein Unterformular in der Datenblattansicht aus - mit dem kleinen Unterschied, dass die Spalten- und Zeilenköpfe doch an Excel erinnern (s. Abb. 5). Wenn Sie die Symbolleiste ausgeblendet haben, können Sie den Dialog Befehle und Optionen übrigens über das Kontextmenü des Spreadsheet-Steuerelements wieder einblenden.

pic005.png

Abb. 5: Das nackte Spreadsheet-Steuerelement

Die Zeilen- und Spaltenüberschriften sowie die Gitternetzlinien können Sie übrigens auch ein- und ausblenden, und zwar mit den entsprechenden Optionen auf der Registerseite Blatt. Auf der gleichen Registerseite des Dialogs können Sie einzelne Tabellenblätter ausblenden oder hinzufügen und auch ihre Reihenfolge ändern (hier findet sich übrigens auch die einzige Möglichkeit, zwischen den Tabellenblättern zu wechseln - mit Ausnahme der wenig bekannten Tastenkombination Strg + Bild auf/Bild ab).

Mehr Optionen in der Entwurfsansicht

Eines unterscheidet das Spreadsheet-Steuerelement von fast allen übrigen Steuerelementen, mit denen Sie bislang gearbeitet haben: Sie können auch in der Entwurfsansicht damit arbeiten. Und noch besser: Dort stehen noch mehr Optionen als in der Formularansicht bereit.

Zellen schützen

Mit der Option Aktuelles Blatt schützen können Sie das komplette Blatt vor Änderungen schützen (s. Abb. 6). Typischerweise soll der Benutzer aber mit den Daten arbeiten, zumindest aber Zugriff auf einen Teil der Zellen haben. Dies können Sie festlegen, indem Sie Aktives Blatt schützen deaktivieren und dann die Zellen beziehungsweise Bereiche, die nicht geschützt werden sollen, markieren und für diese auf der Registerkarte Format die Option Zellen sperren/Zellsperrung aufheben aktivieren beziehungsweise deaktivieren (s. Abb. 7). Die Sperrung der nicht so behandelten Zellen aktivieren Sie dann wieder auf der Registerkarte Schutz durch Aktivieren der Option Aktives Blatt schützen.

pic006.png

Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

Sind Sie Abonnent?Jetzt einloggen ...
 

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Verwandte Beiträge:

Excel-Daten importieren mit TransferSpreadsheet

Excel automatisieren

Excel-Import-Assistent im Eigenbau

Verweise - ActiveX-Steuerelemente

Tilgen mit Access und Excel

Word, Excel und Co. im Griff

Importieren von Textdateien

Ereignisse im Eigenbau

Ereignisprozeduren

Ereignisprozeduren implantieren

Defekte Verweise: Ursachen und Lösungen

Verweise mit VBA manipulieren

Verweise: Late und Early Binding

Indizierung mit Access

Drag and Drop in der Datenblattansicht

© 2003-2015 André Minhorst Alle Rechte vorbehalten.