{"id":55000694,"date":"2009-12-01T00:00:00","date_gmt":"2020-05-22T22:18:53","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=694"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Tabellen_wie_unter_Excel","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Tabellen_wie_unter_Excel\/","title":{"rendered":"Tabellen wie unter Excel"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg02.met.vgwort.de\/na\/c071cc176e5b48dea3550d40a6659c37\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Wer aus der Excel-Welt kommt, f&uuml;hlt sich beim Umgang mit Access-Tabellen unter Umst&auml;nden etwas eingeschr&auml;nkt: Man kann nicht mal eben eine Formel einbauen, Berechnungen ad hoc durchf&uuml;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 &#8211; wenn auch eine aussterbende: Das Spreadsheet-Steuerelement der Office Web Components, die letztmalig mit Office 2003 ausgeliefert wurden, bietet eine gute Gelegenheit, Excel-Funktionalit&auml;t in Access-Formulare zu integrieren.<\/b><\/p>\n<p>Wenn Sie die Office-Spreadsheet-Komponente nutzen m&ouml;chten, m&uuml;ssen Sie diese unter Umst&auml;nden erst herunterladen. Den Download f&uuml;r die 2003er-Komponente, die auch mit Access 2007 zusammenarbeitet, finden Sie unter dem Link <b>http:\/\/www.microsoft.com\/downloads\/details.aspxFamilyId=7287252C-402E-4F72-97A5-E0FD290D4B76&amp;displaylang=en<\/b>. Die EULA dieses Pakets, die Sie beim Installieren best&auml;tigen m&uuml;ssen, besagt sinngem&auml;&szlig;, dass die Komponenten nur zusammen mit der jeweils passenden Office-Version verwendet werden d&uuml;rfen. Die Beschreibung der in Office 2007 weggefallenen Komponenten unter <b>http:\/\/technet.microsoft.com\/en-us\/library\/cc178954.aspx <\/b>(siehe unter <b>OWC11<\/b>) ist jedoch weniger restriktiv. Vielleicht liegt die Einschr&auml;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&uuml;rden. Wir beobachteten jedoch, dass auch die Installation von Office 2007 und sogar der Runtime-Version das Steuerelement mit auf den Rechner brachte.<\/p>\n<p>Bei der Beispieldatenbank zu diesem Beitrag k&ouml;nnte es &uuml;brigens zu kleineren Problemen mit den Verweisen kommen. Diese lassen sich gegebenenfalls durch Entfernen von als <b>NICHT VORHANDEN <\/b>gekennzeichneten Verweisen und L&ouml;schen und erneutes Einf&uuml;gen und Umbenennen des Steuerelements in <b>clsSpreadsheet <\/b>beheben. Wie auch immer: Wenn wir davon ausgehen, dass Sie eine Version der OWC auf dem Rechner haben, k&ouml;nnen Sie das Spreadsheet-Steuerelement &uuml;ber den Dialog <b>ActiveX-Steuerelement einf&uuml;gen <\/b>zu einem Formular hinzuf&uuml;gen (siehe Bild 1). In der Formularansicht verbreitet das Steuerelement dann auch gleich einen Hauch von Excel-Feeling (siehe Bild 2). Nat&uuml;rlich ist dies kein vollwertiges Excel, aber es lassen sich zumindest die Zellen mit Werten f&uuml;llen &#8211; und auch mit Formeln. So funktioniert beispielsweise nicht nur das Eintragen von Formeln mit relativen und absoluten Bez&uuml;gen zu den &uuml;brigen Zellen, sondern relative Formeln werden beim Kopieren und Einf&uuml;gen auch entsprechend angepasst.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_06\/Spreadsheets-web-images\/pic001_opt.jpeg\" alt=\"pic001.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1: Einf&uuml;gen der Spreadsheet-Komponente in ein Access-Formular<\/span><\/b><\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_06\/Spreadsheets-web-images\/pic002_opt.jpeg\" alt=\"pic002.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2: Das Spreadsheet-Steuerelement im Access-Formular<\/span><\/b><\/p>\n<p>Es gibt keine Anzeige der in der aktuell markierten Zelle enthaltenen Formel in der Kopfzeile des Steuerelements, daf&uuml;r k&ouml;nnen Sie aber einen kleinen Dialog einblenden, der alle gew&uuml;nschten Informationen anzeigt (siehe Bild 3). Damit k&ouml;nnen Sie auch etwa die Formatierungen der aktuellen Zelle direkt nach ihrer Markierung einsehen und anpassen. Unter uns gesagt: Damit ist man n&auml;her am Geschehen als unter Excel selbst, denn dort kann man nicht die Zelle wechseln, w&auml;hrend etwa der Dialog zum Einstellen des Zellenformats ge&ouml;ffnet ist.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_06\/Spreadsheets-web-images\/pic003_opt.jpeg\" alt=\"pic003.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3: Anzeige der Formel eines Feldes<\/span><\/b><\/p>\n<p>Der n&auml;chste Clou ist, dass Sie problemlos komplette Bereiche aus einer in Excel ge&ouml;ffneten Excel-Datei in das Spreadsheet-Steuerelement kopieren k&ouml;nnen und umgekehrt. Das bedeutet auch, dass alle Formeln und Formatierungen mit kopiert werden (siehe Bild 4). <\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_06\/Spreadsheets-web-images\/pic004_opt.jpeg\" alt=\"pic004.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 4: Das Hin- und Herkopieren von Bereichen zwischen Excel und des in einem Formular eingebettetem Spreadsheet-Steuerelement ist kein Problem.<\/span><\/b><\/p>\n<p>Wenn Sie im Dialog <b>Befehle und Optionen <\/b>die Optionen <b>Horizontale Bildlaufleiste<\/b>, <b>Vertikale Bildlaufleiste<\/b>, <b>Blattregisterkarten <\/b>und <b>Symbolleiste <\/b>deaktivieren, sieht das Steuerelement fast wie ein Unterformular in der Datenblattansicht aus &#8211; mit dem kleinen Unterschied, dass die Spalten- und Zeilenk&ouml;pfe doch an Excel erinnern (siehe Bild 5). Wenn Sie die Symbolleiste ausgeblendet haben, k&ouml;nnen Sie den Dialog <b>Befehle und Optionen <\/b>&uuml;brigens &uuml;ber das Kontextmen&uuml; des Spreadsheet-Steuerelements wieder einblenden.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_06\/Spreadsheets-web-images\/pic005_opt.jpeg\" alt=\"pic005.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 5: Das nackte Spreadsheet-Steuerelement<\/span><\/b><\/p>\n<p>Die Zeilen- und Spalten&uuml;berschriften sowie die Gitternetzlinien k&ouml;nnen Sie &uuml;brigens auch ein- und ausblenden, und zwar mit den entsprechenden Optionen auf der Registerseite <b>Blatt<\/b>. Auf der gleichen Registerseite des Dialogs k&ouml;nnen Sie einzelne Tabellenbl&auml;tter ausblenden oder hinzuf&uuml;gen und auch ihre Reihenfolge &auml;ndern (hier findet sich &uuml;brigens auch die einzige M&ouml;glichkeit, zwischen den Tabellenbl&auml;ttern zu wechseln &#8211; mit Ausnahme der wenig bekannten Tastenkombination <b>Strg + Bild auf<\/b>\/<b>Bild ab<\/b>).<\/p>\n<p><b>Mehr Optionen in der Entwurfsansicht<\/b><\/p>\n<p>Eines unterscheidet das Spreadsheet-Steuerelement von fast allen &uuml;brigen Steuerelementen, mit denen Sie bislang gearbeitet haben: Sie k&ouml;nnen auch in der Entwurfsansicht damit arbeiten. Und noch besser: Dort stehen noch mehr Optionen als in der Formularansicht bereit.<\/p>\n<p><!--30percent--><\/p>\n<p><b>Zellen sch&uuml;tzen<\/b><\/p>\n<p>Mit der Option <b>Aktuelles Blatt sch&uuml;tzen <\/b>k&ouml;nnen Sie das komplette Blatt vor &auml;nderungen sch&uuml;tzen (siehe Bild 6). Typischerweise soll der Benutzer aber mit den Daten arbeiten, zumindest aber Zugriff auf einen Teil der Zellen haben. Dies k&ouml;nnen Sie festlegen, indem Sie <b>Aktives Blatt sch&uuml;tzen <\/b>deaktivieren und dann die Zellen beziehungsweise Bereiche, die nicht gesch&uuml;tzt werden sollen, markieren und f&uuml;r diese auf der Registerkarte <b>Format<\/b> die Option <b>Zellen sperren<\/b>\/<b>Zellsperrung aufheben <\/b>aktivieren beziehungsweise deaktivieren (siehe Bild 7). Die Sperrung der nicht so behandelten Zellen aktivieren Sie dann wieder auf der Registerkarte <b>Schutz <\/b>durch Aktivieren der Option <b>Aktives Blatt sch&uuml;tzen<\/b>.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_06\/Spreadsheets-web-images\/pic006_opt.jpeg\" alt=\"pic006.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 6: Einstellen des Blattschutzes<\/span><\/b><\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_06\/Spreadsheets-web-images\/pic007_opt.jpeg\" alt=\"pic007.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 7: Mit dieser Option schlie&szlig;en Sie einzelne Zellbereiche vom Blattschutz aus.<\/span><\/b><\/p>\n<p><b>Einstellungen per Code festlegen<\/b><\/p>\n<p>Wenn Sie einige Einstellungen wie etwa den Zellenschutz vornehmen oder Daten eingeben und Zellen formatieren und anschlie&szlig;end das Formular schlie&szlig;en und wieder &ouml;ffnen, werden Sie feststellen, dass die Einstellungen und Inhalte nur teilweise &uuml;bernommen werden. Der Zellschutz beispielsweise bleibt bestehen, die Inhalte und Formatierungen einzelner Zellen, Spalten oder Zeilen hingegen werden zur&uuml;ckgesetzt. Gleiches gilt f&uuml;r das Ein- und Ausblenden der Symbolleiste, der Spalten- und Zeilenk&ouml;pfe und so weiter. Sie werden also nicht umhin kommen, die Eigenschaften des Spreadsheets per Code beim Laden des Formulars nach Ihren W&uuml;nschen einzustellen. Es folgen einige Beispiele.<\/p>\n<p>Titelleiste ein-\/ausblenden:<\/p>\n<pre>objSpreadsheet.TitleBar.Visible = True\/False<\/pre>\n<p>oder<\/p>\n<pre>objSpreadsheet.DisplayTitleBar = True\/False<\/pre>\n<p>Titel einstellen:<\/p>\n<pre>objSpreadsheet.TitleBar.Caption = &quot;Beispieltitel&quot;<\/pre>\n<p>Eigenschaften des Titels wie Schriftgr&ouml;&szlig;e einstellen (weitere Eigenschaften siehe Objektkatalog oder IntelliSense):<\/p>\n<pre>objSpreadsheet.TitleBar.Font.Size = 24<\/pre>\n<p>Office-Logo ausblenden:<\/p>\n<pre>objSpreadsheet.DisplayOfficeLogo = False<\/pre>\n<p>Symbolleiste ausblenden:<\/p>\n<pre>objSpreadsheet.DisplayToolbar = False<\/pre>\n<p>Zellschutz einstellen &#8211; hier durch Deaktivieren des Schutzes f&uuml;r die komplette Tabelle, Entsperren der ersten zehn Zellen der ersten Spalte und anschlie&szlig;endes Aktivieren des Schutzes:<\/p>\n<pre>With objSpreadsheet\r\n.ActiveSheet.Protection.Enabled = False\r\n.ActiveSheet.Range(&quot;A1:A10&quot;).Locked = False\r\n.ActiveSheet.Protection.Enabled = True\r\nEnd With<\/pre>\n<p>Fenster fixieren &#8211; durch Festlegen der Zelle, die im zu scrollenden Bereich links oben liegt, hier etwa f&uuml;r die komplette zweite Zeile:<\/p>\n<pre>With objSpreadsheet\r\n.ActiveSheet.Range(&quot;A2&quot;).Activate\r\n.ActiveWindow.FreezePanes = True\r\nEnd With<\/pre>\n<p>&Uuml;ber weitere Einstellm&ouml;glichkeiten wie etwa das F&uuml;llen und Formatieren von Zellen und Bereichen erfahren Sie mehr im Beitrag <b>Excel automatisieren <\/b>(Shortlink 693).<\/p>\n<p><b>Spreadsheet mit Daten f&uuml;llen<\/b><\/p>\n<p>Der wichtigste Punkt beim Umgang mit dem Spreadsheet-Steuerelement ist f&uuml;r uns sicher der folgende: Wie bekomme ich den Inhalt von Tabellen oder Abfragen in das Spreadsheet-Steuerelement, und vor allem: Wie speichere ich dort an den Daten vorgenommene &auml;nderungen wieder in der zugrunde liegenden Tabelle All dies werden wir uns in den folgenden Abschnitten ansehen.<\/p>\n<p>Es scheint klar, dass wir hier nicht ohne Programmierung auskommen &#8211; k&ouml;nnte man das Spreadsheet-Control anders an eine Datenherkunft binden, w&auml;re es sicher bereits das Lieblingssteuerelement vieler Access-Entwickler und nicht mit Office 2007 (zumindest offiziell) aus dem Kader geflogen.<\/p>\n<p>Um komfortabel per VBA auf das Steuerelement zugreifen zu k&ouml;nnen, geben wir ihm zun&auml;chst einen griffigen Namen, n&auml;mlich <b>ctlSpreadsheet<\/b>.<\/p>\n<p>Um das Steuerelement zu deklarieren und zu instanzieren, legen wir eine Ereignisprozedur f&uuml;r die Ereigniseigenschaft <b>Beim Laden <\/b>des Formulars an, die wie folgt aussieht:<\/p>\n<pre>Private Sub Form_Load()\r\n    Set objSpreadsheet = Me!ctlSpreadsheet.Object\r\n    End Sub<\/pre>\n<p>Die hier verwendete Objektvariable <b>objSpreadsheet <\/b>deklarieren wir im Modulkopf, damit sie auch von anderen Prozeduren aus ansprechbar ist:<\/p>\n<pre>Dim objSpreadsheet As OWC11.Spreadsheet<\/pre>\n<p><b>Spreadsheet aus Tabelle f&uuml;llen<\/b><\/p>\n<p>F&uuml;r Testzwecke verwenden wir nun eine Tabelle namens <b>tblPersonen <\/b>mit den drei Feldern <b>PersonID <\/b>(Prim&auml;rschl&uuml;sselfeld), <b>Vorname <\/b>und <b>Nachname <\/b>(beides Textfelder), der wir ein paar Beispieldatens&auml;tze hinzuf&uuml;gen.<\/p>\n<p>F&uuml;r das F&uuml;llen von Excel-Tabellen und somit auch f&uuml;r das OWC-Spreadsheet-Steuerelement gibt es die <b>CopyFromRecordset<\/b>-Methode, die einen vorgegebenen Bereich des Tabellenblatts mit Daten aus dem als Parameter angegebenen Recordset f&uuml;llt.<\/p>\n<p>Wie bei datensensitiven und f&uuml;r VB6 beziehungsweise das Web entwickelten Steuerelementen von Microsoft &uuml;blich, k&ouml;nnen Sie diese nur mit ADO f&uuml;llen. Dazu ben&ouml;tigen Sie einen Verweis auf die Bibliothek <b>Microsoft Active Data Objects x.x<\/b>, den Sie in Bild 8 erkennen k&ouml;nnen.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_06\/Spreadsheets-web-images\/pic008_opt.jpeg\" alt=\"pic008.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 8: F&uuml;r den fehlerfreien Einsatz der CopyFromRecordset-Methode brauchen Sie ein ADO-Recordset, das Sie mit diesem Verweis verf&uuml;gbar machen.<\/span><\/b><\/p>\n<p>Die erste Variante sieht wie folgt aus:<\/p>\n<pre>Private Sub Form_Load()\r\n    Dim cnn As ADODB.Connection\r\n    Dim rst As ADODB.Recordset\r\n    Set cnn = CurrentProject.Connection\r\n    Set rst = New ADODB.Recordset\r\n    rst.Open \"SELECT * FROM tblPersonen\", cnn\r\n    Set objSpreadsheet = Me.ctlSpreadsheet.Object\r\n    objSpreadsheet.Range(\"A1:C3\") _\r\n    CopyFromRecordset rst\r\n    End Sub<\/pre>\n<p>Das Ergebnis liefert Abb. 9. Wie dort zu erkennen ist, kopiert <b>CopyFromRecordset <\/b>auch die Feldnamen und f&uuml;gt diese als Spalten&uuml;berschriften in das Spreadsheet ein.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_06\/Spreadsheets-web-images\/pic009_opt.jpeg\" alt=\"pic009.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 9: Das Spreadsheet-Steuerelement mit frisch eingef&uuml;gten Daten aus einem ADO-Recordset<\/span><\/b><\/p>\n<p>Wichtig ist in diesem Zusammenhang, dass Sie vor dem Einlesen ermitteln m&uuml;ssen, wie viele Spalten und Zeilen die Daten aus dem Recordset f&uuml;llen werden. <b>CopyFromRecordset <\/b>f&uuml;llt n&auml;mlich immer nur den angegebenen Bereich und nimmt sich nicht etwa den Platz, der f&uuml;r das komplette Recordset n&ouml;tig w&auml;re.<\/p>\n<p>Eine alternative Variante ist diese hier:<\/p>\n<pre>Private Sub Form_Load()\r\n    Dim cnn As ADODB.Connection\r\n    Set cnn = CurrentProject.Connection\r\n    Set objSpreadsheet = Me!ctlSpreadsheet.Object\r\n    With objSpreadsheet\r\n    .ActiveSheet.ConnectionString = _\r\n    cnn.ConnectionString\r\n    .ActiveSheet.CommandText = _\r\n    &quot;SELECT * FROM tblPersonen&quot;\r\n    .Refresh\r\n    End With\r\n    End Sub<\/pre>\n<p><b>Finetuning<\/b><\/p>\n<p>Versehen wir die Prozedur zum F&uuml;llen des Spreadsheet-Steuerelements noch mit ein wenig Finetuning: Dazu sorgen wir beispielsweise daf&uuml;r, dass die Datenherkunft in der Titelzeile des Spreadsheets angezeigt wird und dass die Symbolleiste, die Spalten- und Zeilen&uuml;berschriften verschwinden.<\/p>\n<p>Au&szlig;erdem soll die erste Zeile, also die mit den Feld&uuml;berschriften, gesperrt und fixiert werden, sodass der Benutzer deren Inhalt nicht &auml;ndern kann und diese Zeile beim Scrollen nicht oben herausrutscht. Schlie&szlig;lich sollen die Spaltenbreiten an die eingelesenen Daten angepasst werden.<\/p>\n<p>Eines ist in diesem Zusammenhang ganz wichtig und kann Ihnen helfen, unn&ouml;tige Fehlerrecherchen zu umgehen: Sie k&ouml;nnen nat&uuml;rlich keine Daten in einen Bereich f&uuml;llen, in dem auch nur ein einziges Feld gesperrt ist. Daher sollten Sie vor dem Einsatz von <b>CopyFromRecordset <\/b>oder anderen Varianten zum F&uuml;llen von Zellen mit Daten immer den Schutz des Arbeitsblatts aufheben.<\/p>\n<pre>Private Sub Form_Load()\r\n    Dim cnn As ADODB.Connection\r\n    Dim rst As ADODB.Recordset\r\n    Set cnn = CurrentProject.Connection\r\n    Set rst = New ADODB.Recordset\r\n    rst.Open &quot;SELECT * FROM tblPersonen&quot;, cnn\r\n    Set objSpreadsheet = Me!ctlSpreadsheet.Object\r\n    With objSpreadsheet\r\n    .DisplayTitleBar = True\r\n    .ActiveWindow.DisplayColumnHeadings = _\r\n    False\r\n    .ActiveWindow.DisplayRowHeadings = False\r\n    .TitleBar.Caption = rst.Source\r\n    .ActiveSheet.Protection.Enabled = False\r\n    .ActiveSheet.Cells.Locked = False\r\n    .ActiveSheet.Rows(1).Locked = True\r\n    .Range(&quot;A2&quot;).Activate\r\n    .ActiveWindow.FreezePanes = True\r\n    .DisplayToolbar = False\r\n    .Cells.CopyFromRecordset rst\r\n    .Cells.AutoFit\r\n    .ActiveSheet.Protection.Enabled = True\r\n    End With\r\n    End Sub<\/pre>\n<p class=\"zwischen-berschrift-oberer-spaltenrand\">Zur&uuml;ckschreiben der Daten in die Tabelle<\/p>\n<p>Wir raten nicht an, das Spreadsheet-Steuerelement zum Bearbeiten von Daten aus Tabellen zu verwenden. Daher gehen wir nicht im Detail darauf ein, wie Sie per <b>CopyFromRecordset<\/b> in das Spreadsheet eingelesene Daten nach dem &auml;ndern wieder zur&uuml;ck in die entsprechenden Tabellen schreiben.<\/p>\n<p>Es gibt zwar M&ouml;glichkeiten, Daten aus Tabellen direkt &uuml;ber das Spreadsheet zu &auml;ndern, dies w&uuml;rde jedoch an diese Stelle den Rahmen sprengen.<\/p>\n<p><b>Zusammenfassung und Ausblick<\/b><\/p>\n<p>Wozu nun k&ouml;nnen wir das Spreadsheet-Steuerelement verwenden Nun: Beispielsweise der Import von Daten aus einer Excel-Tabelle k&ouml;nnte so vereinfacht werden.<\/p>\n<p>Normalerweise hilft einem der Import-Assistent dabei recht ordentlich (vor allem seit Access 2007), aber einen Nachteil hat er doch: Wenn Sie nur einen Bereich eines Excel-Tabellenblatts einlesen m&ouml;chten, m&uuml;ssen Sie diesen zuvor in Excel selbst definieren und als benannten Bereich speichern.<\/p>\n<p>Wie w&auml;re es denn, wenn wir den Inhalt eines Excel-Sheets komplett in das Spreadsheet-Steuerelement einlesen k&ouml;nnten und dann innerhalb von Access festlegen, welchen Bereich wir importieren m&ouml;chten &#8211; ganz ohne Excel &ouml;ffnen zu m&uuml;ssen<\/p>\n<p>Wie dies funktioniert, schauen wir uns in einem weiteren Beitrag namens <b>Excel-Importassistent im Eigenbau <\/b>(Shortlink 696) an. Dort lernen Sie noch weitere Techniken in Zusammenhang mit dem Spreadsheet-Steuerelement kennen.<\/p>\n<p>Grunds&auml;tzlich sehen wir das Spreadsheet-Steuerelement jedoch als einfache M&ouml;glichkeit, ein Tabellenblatt zum Durchf&uuml;hren von Kalkulation in die gewohnte Access-Umgebung zu integrieren &#8211; das Einbetten eines Excel-Objekts per OLE liefert zwar das &#8222;echte&#8220; Excel, wirkt aber bei weitem nicht so integriert wie das Spreadsheet-Steuerelement.<\/p>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>Spreadsheets.mdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/{C3D4FE51-AD26-4B01-89B4-9180F17511A6}\/aiu_694.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wer aus der Excel-Welt kommt, f&uuml;hlt sich beim Umgang mit Access-Tabellen unter Umst&auml;nden etwas eingeschr&auml;nkt: Man kann nicht mal eben eine Formel einbauen, Berechnungen ad hoc durchf&uuml;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 &#8211; wenn auch eine aussterbende: Das Spreadsheet-Steuerelement der Office Web Components, die letztmalig mit Office 2003 ausgeliefert wurden, bietet eine gute Gelegenheit, Excel-Funktionalit&auml;t in Access-Formulare zu integrieren.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[662009,66062009,44000026],"tags":[],"class_list":["post-55000694","post","type-post","status-publish","format-standard","hentry","category-662009","category-66062009","category-Interaktiv"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Tabellen wie unter Excel - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/Tabellen_wie_unter_Excel\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tabellen wie unter Excel\" \/>\n<meta property=\"og:description\" content=\"Wer aus der Excel-Welt kommt, f&uuml;hlt sich beim Umgang mit Access-Tabellen unter Umst&auml;nden etwas eingeschr&auml;nkt: Man kann nicht mal eben eine Formel einbauen, Berechnungen ad hoc durchf&uuml;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&auml;t in Access-Formulare zu integrieren.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Tabellen_wie_unter_Excel\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-22T22:18:53+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg02.met.vgwort.de\/na\/c071cc176e5b48dea3550d40a6659c37\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"11\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_wie_unter_Excel\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_wie_unter_Excel\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Tabellen wie unter Excel\",\"datePublished\":\"2020-05-22T22:18:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_wie_unter_Excel\\\/\"},\"wordCount\":2021,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_wie_unter_Excel\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/c071cc176e5b48dea3550d40a6659c37\",\"articleSection\":[\"2009\",\"6\\\/2009\",\"Interaktiv\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_wie_unter_Excel\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_wie_unter_Excel\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_wie_unter_Excel\\\/\",\"name\":\"Tabellen wie unter Excel - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_wie_unter_Excel\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_wie_unter_Excel\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/c071cc176e5b48dea3550d40a6659c37\",\"datePublished\":\"2020-05-22T22:18:53+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_wie_unter_Excel\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_wie_unter_Excel\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_wie_unter_Excel\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/c071cc176e5b48dea3550d40a6659c37\",\"contentUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/c071cc176e5b48dea3550d40a6659c37\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Tabellen_wie_unter_Excel\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tabellen wie unter Excel\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Tabellen wie unter Excel - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/Tabellen_wie_unter_Excel\/","og_locale":"de_DE","og_type":"article","og_title":"Tabellen wie unter Excel","og_description":"Wer aus der Excel-Welt kommt, f&uuml;hlt sich beim Umgang mit Access-Tabellen unter Umst&auml;nden etwas eingeschr&auml;nkt: Man kann nicht mal eben eine Formel einbauen, Berechnungen ad hoc durchf&uuml;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&auml;t in Access-Formulare zu integrieren.","og_url":"https:\/\/access-im-unternehmen.de\/Tabellen_wie_unter_Excel\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-22T22:18:53+00:00","og_image":[{"url":"http:\/\/vg02.met.vgwort.de\/na\/c071cc176e5b48dea3550d40a6659c37","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"11\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Tabellen_wie_unter_Excel\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Tabellen_wie_unter_Excel\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Tabellen wie unter Excel","datePublished":"2020-05-22T22:18:53+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Tabellen_wie_unter_Excel\/"},"wordCount":2021,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Tabellen_wie_unter_Excel\/#primaryimage"},"thumbnailUrl":"http:\/\/vg02.met.vgwort.de\/na\/c071cc176e5b48dea3550d40a6659c37","articleSection":["2009","6\/2009","Interaktiv"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Tabellen_wie_unter_Excel\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Tabellen_wie_unter_Excel\/","url":"https:\/\/access-im-unternehmen.de\/Tabellen_wie_unter_Excel\/","name":"Tabellen wie unter Excel - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Tabellen_wie_unter_Excel\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Tabellen_wie_unter_Excel\/#primaryimage"},"thumbnailUrl":"http:\/\/vg02.met.vgwort.de\/na\/c071cc176e5b48dea3550d40a6659c37","datePublished":"2020-05-22T22:18:53+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Tabellen_wie_unter_Excel\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Tabellen_wie_unter_Excel\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Tabellen_wie_unter_Excel\/#primaryimage","url":"http:\/\/vg02.met.vgwort.de\/na\/c071cc176e5b48dea3550d40a6659c37","contentUrl":"http:\/\/vg02.met.vgwort.de\/na\/c071cc176e5b48dea3550d40a6659c37"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Tabellen_wie_unter_Excel\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Tabellen wie unter Excel"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000694","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55000694"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000694\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000694"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000694"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000694"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}