Transcription

Leseprobe Stand 13.2.2015Accessund OfficeInteraktIon zwIschen accessund offIce-anwendungen wIeexcel, outlook und wordAndré Minhorst

Leseprobe Stand 13.2.2015

Leseprobe Stand 13.2.2015André MinhorstAccess und OfficeInteraktion zwischenAccess und Office-Anwendungenwie Word, Excel, Outlook und PowerPoint

Leseprobe Stand 13.2.2015André Minhorst – Access und OfficeISBN 978-3-944216-03-4 2015 André Minhorst Verlag,Borkhofer Straße 17, 47137 Duisburg/Deutschland1. Auflage 2015Lektorat André MinhorstCover/Titelbild André MinhorstTypographie, Layout und Satz André MinhorstHerstellung André MinhorstDruck und Bindung Kösel, Krugzell (www.koeselbuch.de)Bibliografische Information der Deutschen NationalbibliothekDie Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen National bib lio graphie. Detaillierte bibliografische Daten finden Sie im Internet unter http://dnb.d-nb.de.Das vorliegende Werk ist in all seinen Teilen urheberrechtlich geschützt. Alle Rechte vorbehalten,insbesondere das Recht der Übersetzung, des Vortrags, der Reproduktion, der Vervielfältigungauf fotomechanischem oder anderen Wegen und der Speicherung in elektronischen Medien.Ungeachtet der Sorgfalt, die auf die Erstellung von Text, Abbildungen und Programmen verwen det wurde, können weder Verlag noch Autor, Herausgeber oder Übersetzer für mögliche Fehlerund deren Folgen eine juristische Verantwortung oder irgendeine Haftung übernehmen.Die in diesem Werk wiedergegebenen Gebrauchsnamen, Handelsnamen, Warenbezeichnungenet cetera können auch ohne besondere Kennzeichnung Marken sein und als solche den gesetz lichen Bestimmungen unterliegen.Die in den Beispielen verwendeten Namen von Firmen, Produkten, Personen oder E-MailAdressen sind frei erfunden, soweit nichts anderes angegeben ist. Jede Ähnlichkeit mit tatsäch lichen Firmen, Produkten, Personen oder E-Mail-Adressen ist rein zufällig.

Leseprobe Stand 13.2.2015Zeit ohne Zeit.

Leseprobe Stand 13.2.2015

InhaltVorwort1Datenaustausch zwischen Access und den 12.2.22.2.32.2.42.32.42.4.12.4.22.4.32.5Export nach ExcelExport-EinstellungenExportschritte speichernExport nach Excel per KontextmenüFormulare nach Excel exportierenBerichte nach Excel exportierenDaten in Excel einbindenExport nach WordExport nach Word: SeriendruckImport von ExcelImport in eine neue TabelleImport in eine bestehende TabelleErstellen einer VerknüpfungExcel-Daten als Abfrage verknüpfenImport von OutlookE-Mails importierenKontakte importierenTermine importierenE-Mails, Kontakte und Termine verknüpfenUnterschiede je nach InstallationDatenaustausch mit VBA-BordmittelnAssistenten port nach ExcelImport von ExcelVerknüpfen von Excel-DatenBereiche importierenDoCmd.TransferTextZugriff per SQLExcel-Tabelle per DAO durchlaufenAktionsabfragen auf Excel-TabellenDaten kopieren per AddNewAccess-Daten als Verknüpfung in Excel 666666666667696970717375767777795

Inhalt3VBA-Zugriff auf Office854Excel 5.94.5.106Early BindingVorteil: Zugriff per ObjektkatalogVorteil: Nutzung von IntelliSenseVorteil: Nutzung von Konstanten statt von ZahlenwertenVorteil: Ereignisse implementierbarVorteil: PerformanceNachteil: Verschiedene VersionenLate BindingNachteile: Vorteile von Early BindingVorteil: Keine Probleme mit VerweisenStabile Verweise dank ACCDEVon Early Binding zu Late BindingWarum Excel programmieren?Zugriff auf ExcelDas Application-ObjektExcel-Instanz erstellen per Early BindingMehrere InstanzenBestehende Instanz referenzierenFunktion zum Erzeugen einer Excel-InstanzExcel sichtbar machenMit Excel-Dateien arbeitenExcel-Datei erzeugenExcel-Datei öffnenAuf geöffnete Excel-Datei zugreifenFunktion zum einfachen Öffnen einer Excel-DateiSpeichern einer Excel-DateiEin oder mehrere Workbooks?Zugriff auf TabellenblätterAuf ein Sheet zugreifenEin neues Sheet anlegenEin Sheet löschenExcel-Worksheets bearbeitenZellen lesen und beschreibenDie Cells-FunktionDie Range-FunktionExperimentierhilfeRange numerisch aufziehenZahlen statt BuchstabenSpezielle Bereiche mit Range festlegenRange-Bereich ausgebenRange durchlaufenZeilen und Spalten im 14115115117118118119

3Eine Zelle mit einem Wert füllenAlternative Notation für BezügeGefüllte Bereiche ermittelnSpalte mit dem letzten WertZeile mit dem letzten WertFormat des ZelleninhaltsFormatierung von ZellenSchriftartRahmenFormeln in ZellenFormeln mit FunktionenBezüge in FormelnArrays und ExcelArray in Excel-Range schreibenExcel-Range in Array schreibenEinzelne Zeilen in Array l: Berechnung nach Excel 5127128130131131133134135136137140Daten in Excel-Tabellen schreiben141Daten aus Excel-Tabellen lesen167Einfache Tabellen oder Abfrage exportierenDaten datensatzweise übertragenZeilenweises Übertragen mit CopyFromRecordsetDaten über ein Array exportierenArray schneller füllenPerformance-VergleichOptimale SpaltenbreitenHierarchische Daten ausgebenBeispieltabellenAusgabe der DatenGruppieren von DatenAccess-Daten in Excel als Chart darstellenDaten übertragenChart erstellenVerschiedene DiagrammtypenDiagramm direkt aus Access-Daten erstellenWeitere MöglichkeitenKontakte mit Anrede einlesenImport programmierenImport per DAOÄnderung für vorhandene Daten in der 1581601631661671681681737

Inhalt7Word programmieren1758Word-Dokumente mit Daten erweis auf die Word-ObjektbibliothekEine Word-Instanz erstellenMehrere InstanzenBestehende Instanz nutzenWord-Instanz sichtbar machenMit Dokumenten arbeitenWord instanzieren und Dokument erstellenDokument mit Vorlage erstellenWord direkt mit neuem Dokument öffnenWord mit vorhandenem Dokument öffnenGeöffnetes Dokument referenzierenWord-Dokument implizit speichernWord-Dokument explizit speichernMakro-Recorder von Word nutzenWord-Dokument bearbeitenSchnellzugriff auf das aktuelle Word-DokumentKompletten Inhalt überschreibenText vor oder hinter der Markierung einfügenDas Range-ObjektRange-Objekte für einen AbsatzAbsatz ändernAbsätze löschenAbsatz hinzufügenMit Textmarken arbeitenTextmarke über die Benutzeroberfläche einfügenTextmarken anzeigenOffene und geschlossene TextmarkenOffene Textmarke per VBA anlegenText für eine offene Textmarke einfügenOffene Textmarke einlesenGeschlossene Textmarke anlegenInhalt einer geschlossenen Textmarke ändernWord-Ereignisse nutzenDokumente in Anlage-Feldern speichernKontaktliste in Word erstellenPerformanceZeichenformate festlegenMögliche FormatierungenZeichenformate nutzenAbsatzformatvorlagenTabellen in Word erstellenSuchen und 7208209211215217218221221223224225

11.311.3.1Bilder von Access nach WordKatalog aus der Datenbank erstellenAbsatzformatvorlagen erstellenBilder einfügenBeschreibung als Rich-Text einfügenSpeichern als PDF227229234235238240Informationen aus Word-Dokumenten241Word-Vorlage aus Access füllen253Word-Rechnungen279Word-Dokumente auslesenAbsatz für AbsatzAbsatzformat ermittelnBilder aus dem Dokument auslesenBilder per VBA extrahierenBild aus XML-Dokument beziehenTabellen einlesenWord-Vorlage erstellenSeitenränder einstellenBriefkopf hinzufügenAdressblock und Datum hinzufügenEmpfängeradresseTextmarke für den BetreffTextmarke für den InhaltMarkierungslinienSeitenzahlenTextmarken füllenVorlage auswählenAdressen per KombinationsfeldDokument erstellenAdresse zusammenstellenDokument nach dem Anlegen speichernDaten aus einem Rich-Text-Feld chnungsdaten speichernRechnungsempfänger speichernAnreden speichernRechnungspositionen speichernMehrwertsteuersätze speichernEinheiten speichernFormulare der RechnungserstellungUnterformular zur Anzeige der 2812822822822832842849

13Hauptformular zur Anzeige der RechnungenNeue Rechnungen und Rechnungspositionen hinzufügenWord-Rechnung erstellenWord-Vorlage erstellenErstellung der Word-Rechnung auslösenPlatzhalter ersetzenEinfügen der RechnungspositionenDie Prozedur SpaltenbreitenEinstellenDie Prozedur SpalteninhalteAusrichtenDie Prozedur SpaltenueberschriftenEinstellenDie Prozedur RechnungspositionenEintragenDie Prozedur ZwischensummeEintragenDie Prozedur UebertragEintragenDie Prozedur NettosummeEintragenDie Prozedur MehrwertsteuerEintragenDie Prozedur RechnungssummeEintragen12Word-Seriendruck per VBA30713Outlook 10Datenquelle auswählenDatensätze auswählenAuswählen und Anzeige vereinfachenDatensätze nach Status anzeigenSeriendruck-Dokument auswählenBestehendes Dokument öffnenNeues Dokument ohne Vorlage öffnenNeues Dokument mit VorlageDokument bearbeitenPlatzhalter einfügenVerweis auf die Office-BibliothekKlassenmodule ment erstellenSeriendruck startenRestarbeitenVerweis auf die Outlook-BibliothekOutlook-InstanzOutlook-Objekt einfach verfügbar machenNamespace-Objekt einfach verfügbar lderOrdner auswählenAuf Standardordner zugreifenFolder-Objekt per Name 35339339340341342346347349350351

Objekt per Pfad findenOrdner per Pfad oder EntryID ermittelnFolder-Objekt nutzenBestimmten Folder anzeigenAuf Elemente zugreifenAlle Elemente eines Ordners löschenPer GetTable auf Elemente zugreifenFelder des Table-ObjektsTable-Objekt durchlaufenTable durchsuchenTable in Array speichernTable direkt filternFunktion zum Einlesen von Table-ObjektenEinträge ausschließenFolder hinzufügenFolder entfernenInteressante EreignisseEreignisse des Folders-ObjektsEreignisse des Folder-ObjektsMails mit Outlook senden, empfangen und verarbeitenMails verschickenNeue Mail in Outlook öffnenEinfache Mail erstellen und anzeigenEinfache Mail erstellen und direkt sendenAccount zum Versenden von Mails abrufen und einstellenTo, Cc und BccAdressaten hinzufügenMails per Cc:Mails per Bcc:Weitere EigenschaftenAnlagen hinzufügenHTML-DarstellungHTML-Code übergebenRich-TextGesendete Elemente verschiebenÄnderungen nach dem Anzeigen erfassenE-Mails einlesenEine Mail öffnenAnlagen einlesen und speichernSicherheitsabfragenBerichte per Mail ngsmail 9339639639740140240640740941341541641641911

Inhalt14.1214.1314.14SerienmailsWord-Dokument per Mail verschickenMail beim Senden direkt in Access speichern15Outlook-Kontakte im- und exportieren42516Mit Outlook-Terminen arbeiten45117PowerPoint 17.217.312Die EntryIDStruktur eines KontaktsDatenmodell für die KontakteOutlook-Kontakte einlesenKontakt einlesenDatenmodell für die KontakteBasisdaten schreibenKommunikationsdaten schreibenBild einlesenEntryID schon vorhanden?Outlook-Kontakte schreibenKontakte aus der Datenbank nach OutlookAutomatisierter ImportSynchronisieren von Kontakten, die auf beiden Seiten vorhanden sindAbgleich von Outlook nach AccessAbgleich von Access nach OutlookKonflikte auf Basis gleicher DatenTermine auslesenAktuellste Termine einlesenTermine nach Datum filternFiltern per RestrictTermine in eine Tabelle importierenTermine in die Tabelle schreibenPerformance-OptimierungSerientermine auslesenTerminserien unter VBASerieneigenschaften importierenFormular zum Bearbeiten der TerminserienTermin in Outlook anlegenTermin in Outlook anzeigenGeburtstageAutomatischer SerienterminGeburtstage anlegenGeburtstag von Access aus anlegenVorbereitungenAufbau von PowerPoint-DokumentenPowerPoint 466470473475476476477477481481483

18.4.218.4.318.4.418.4.518.5PowerPoint startenPräsentation erstellenZugriff auf geöffnete PräsentationNeue Folie einfügenDesign-Elemente ansprechenShape-Elemente füllenShape-Element mit Text füllenBilder hinzufügenKatalog erstellenQuelldatenFormular zum Erstellen der PräsentationNeues Layout definierenVorlage auswählenErstellung der PräsentationErstellen des Presentation-ObjektsSpeichern der Bilder auf der FestplatteOffice-Dokumente im Access-FormularDSOFramer-Steuerelement installierenDSOFramer zum Formular hinzufügenDSOFramer programmierenEigenschaften des DSOFramer-ObjektsGröße an das Formular anpassenMenübefehle nachbildenNeues Dokument erstellenDokument öffnenDokument mit vorgegebenem Pfad ladenSeite einrichtenDrucken eines DokumentsAnzeigen der Eigenschaften eines DokumentsDatei speichernManuell druckenDokument schließenDruckvorschau anzeigenEreignisse des DSOFramer-SteuerelementsBeim Öffnen eines DokumentsVor dem Schließen eines DokumentsNach dem Schließen eines DokumentsBei Datei-BefehlBeim Beenden der 51351451451551551651751851851851951952052152152113

Inhalt14

Leseprobe Stand 13.2.20151 Datenaustausch zwischen Access und denOffice-AnwendungenDie meisten Kapitel dieses Buchs werden sich mit der Programmierung von Lösungen für denDatenaustausch zwischen Access und den Office-Anwendungen sowie mit der Fernsteuerungder Office-Anwendungen für verschiedene Zwecke beschäftigen. Oftmals ist aber gar kein VBAEinsatz nötig: Access bietet einige Möglichkeiten, um Daten an andere Anwendungen zu schickenund umgekehrt. Auch die Office-Anwendungen erlauben es, Daten einer Access-Anwendung zunutzen. Dieses Kapitel kümmert sich um diese Möglichkeiten, also quasi um die Bordmittel.Die meisten Befehle für den Import und Export von Daten finden Sie im Ribbon-Tab ExterneDaten (siehe Abbildung 1.1). Die meisten Elemente der Gruppe Exportieren sind standardmä ßig ausgeblendet und werden erst aktiviert, wenn Sie im Navigationsbereich eine Tabelle oderAbfrage, teilweise aber auch ein Formular oder einen Bericht markieren.Abbildung 1.1: Ribbon-Tab für den Import und Export von DatenIn den folgenden Abschnitten schauen wir uns zuerst die Export-Möglichkeiten an, also die imrechten Bereich des Ribbons, also unter Externe Daten Export. Danach folgen die verschiede nen Import-Möglichkeiten der Gruppe Externe Daten Import.1.1 Export nach ExcelDen Export des Inhalts einer Tabelle oder Abfrage nach Excel starten Sie mit dem Ribbon-EintragExterne Daten Exportieren Excel. Diese Befehl öffnet den Dialog Exportieren - Excel-Tabelle ausAbbildung 1.2.1.1.1 Export-EinstellungenHier wählen Sie zunächst die Zieldatei für den Export aus. Dies erledigen Sie über die SchaltflächeDurchsuchen rechts neben dem Feld zur Eingabe des Pfades zur Zieldatei. Sie können bereits vor her mit dem darunter befindlichen Kombinationsfeld das Dateiformat festlegen, dass dann beimÖffnen des Datei speichern-Dialogs übernommen wird. Mit dem Datei speichern-Dialog wählen19

Leseprobe Stand 13.2.2015Kapitel 1 Datenaustausch zwischen Access und den Office-AnwendungenSie das Verzeichnis aus und geben den Namen der Zieldatei ein. Der Dialog schlägt bereits einenNamen für die Datei vor, der aus dem Namen der Quelle (also der Abfrage oder Tabelle) sowieder entsprechenden Dateiendung besteht (also .xls oder .xlsx, je nach gewählten Dateiformat).Abbildung 1.2: Einstellungen für den Export einer Tabelle oder Abfrage nach ExcelDer Dialog Exportieren - Excel-Tabelle bietet noch weitere Optionen, die wir uns gleich imAnschluss anschauen:»» Exportieren von Daten mit Formatierung und Layout»» Öffnen der Zieldatei nach Abschluss des Exportvorgangs»» Exportieren der ausgewählten DatensätzeExportieren von Daten mit Formatierung und LayoutWenn Sie diese Option nicht aktivieren, exportiert Access die Daten einfach in eine neue Tabellehinein und passt weder die Spaltenbreiten an noch markiert es die Überschriftenzeile (sieheAbbildung 1.3).20

Leseprobe Stand 13.2.2015Export nach ExcelAbbildung 1.3: Export nach Excel ohne FormatierungAktivieren Sie diese Option hingegen, ermittelt Access beim Export die optimale Spaltenbreitefür jede Spalte – das heißt, dass alle Inhalt vollständig sichtbar sind, ohne dass der Benutzer dieSpalten nachträglich ändern muss. Außerdem markiert Access die Spaltenüberschriften wie inAbbildung 1.4 mit einer alternativen Hintergrundfarbe und in fetter Schrift.Abbildung 1.4: Export nach Excel mit Formatierung21

Leseprobe Stand 13.2.2015Kapitel 1 Datenaustausch zwischen Access und den Office-AnwendungenÖffnen der Zieldatei nach Abschluss des ExportvorgangsDiese Option sorgt schlicht und einfach dafür, dass die erstellte Excel-Datei nach dem Exportgeöffnet wird.Exportieren der ausgewählten DatensätzeWenn Sie die zu exportierende Tabelle oder Abfrage zuvor öffnen und nur bestimmte Datensätzenach Excel übertragen wollen, wählen Sie diese Option. Allerdings müssen Sie die betroffenenDatensätze zuvor auch in Access markieren – siehe Abbildung 1.5.Dies gelingt leider nur bei zusammenhängenden Datensätzen.Abbildung 1.5: Markieren der zu exportierenden DatensätzeWenn Sie also nur eine bestimmte Auswahl von Artikeln exportieren möchten, haben Sie zumBeispiel die folgenden Möglichkeiten:»» Filtern Sie die Datensätze der Tabelle mit den dafür vorgesehenen Elementen, die etwa überdie Spaltenköpfe verfügbar sind, markieren Sie alle Datensätze des Ergebnisses und expor tieren Sie dann die Auswahl.»» Oder erstellen Sie eine Abfrage, welche nur die zu exportierenden Datensätze enthält, undexportieren diese.1.1.2 Exportschritte speichernNach dem Export erscheint noch ein weiterer Dialog, der die Möglichkeit bietet, die Exportschrittezu speichern (siehe Abbildung 1.6).22

Leseprobe Stand 13.2.2015Export nach ExcelAbbildung 1.6: Option zum Speichern der ExportschritteAktivieren Sie diese Option, erscheint eine Reihe weiterer Einstellungen (siehe Abbildung 1.7).Abbildung 1.7: Weitere Optionen zum Speichern der Exportschritte23

Leseprobe Stand 13.2.2015Kapitel 1 Datenaustausch zwischen Access und den Office-AnwendungenHier können Sie etwa einen Namen festlegen, unter dem der Export gespeichert werden solloder eine Beschreibung. Außerdem können Sie für diesen Export eine Outlook-Aufgabe erstel len.Outlook-Aufgabe erstellenWenn Sie diese Option gewählt haben, erscheint nach der Bestätigung mit Export speichern eineneue Outlook-Aufgabe. Diese sieht wie in Abbildung 1.8 aus.Abbildung 1.8: Outlook-Aufgabe mit der Möglichkeit, einen Export zu startenDie Aufgabe können Sie nun terminieren und mit einer Erinnerung versehen. Der Clou die ser Aufgabe ist aber, dass diese in der Ribbon-Leiste rechts den Eintrag Aufgabe MicrosoftAccess Export ausführen enthält. Bevor der Export nach dem Anklicken dieses Befehls ausge führt wird, erscheint noch eine Meldung mit einer Rückfrage, ob dies auch wirklich geschehensoll (siehe Abbildung 1.9).24

Leseprobe Stand 13.2.2015Export nach ExcelAbbildung 1.9: Rückfrage vor der Ausführung eines ExportsDie Bestätigung mit OK brachte jedoch nicht das gewünschte Ergebnis, sondern die Feh ler mel dung aus Abbildung 1.10. Die erste Vermutung, dass die möglicherweise bereits existierendeExport-Datei den Fehler verursacht, weil diese nicht einfach überschrieben werden konnte,bestätigte sich nicht – auch nach dem Löschen der Zieldatei gleichen Namens erschien dieFehlermeldung noch.Abbildung 1.10: Fehler beim Ausführen des Exports per Outlook-AufgabeSpeicherort der Export-SpezifikationNun stellt sich noch die Frage, wo Access diese Spezifikation überhaupt gespeichert hat undwie wir diese von Access aus erneut aufrufen können, wenn dies von Outlook aus offensichtlichschon nicht funktioniert.Dieser Ort ist schnell gefunden: Sie können die gespeicherten Exporte über den Ribbon-EintragExterne Daten Exportieren Gespeicherte Exporte aufrufen (siehe Abbildung 1.11).Abbildung 1.11: Aufruf der gespeicherten Exporte25

Leseprobe Stand 13.2.2015Kapitel 1 Datenaustausch zwischen Access und den Office-AnwendungenKlicken Sie diesen Befehl an, erscheint auch gleich der Dialog aus Abbildung 1.12 mit der soebengespeicherten Exportspezifikation.Abbildung 1.12: Dialog zur Verwaltung der gespeicherten Importe und ExporteHier ergeben sich wiederum verschiedene Möglichkeiten: Sie können den Export erneut ausfüh ren, erneut die soeben bereits angelegte Outlook-Aufgabe erstellen oder den Export löschen.Ein Bearbeiten des Vorgangs ist allerdings nicht möglich. Immerhin: Im Gegensatz zum Aufrufvon Outlook aus klappt der erneute Export über die Schaltfläche Ausführen reibungslos – beibereits vorhandener Datei übrigens mir der Rückfrage, ob diese überschrieben werden soll.1.1.3 Export nach Excel per KontextmenüEs gibt noch eine Alternative zum Aufruf des Export-Assistenten über das Ribbon. Wenn Siemit der rechten Maustaste auf das zu exportierende Element klicken und dort den EintragExportieren Excel auswählen, erscheint der gleiche Dialog und bietet die Möglichkeit zumExportieren des Objekts nach Excel an (siehe Abbildung 1.13).26

Leseprobe Stand 13.2.2015Export nach ExcelAbbildung 1.13: Export eines Objekts per Kontextmenü1.1.4 Formulare nach Excel exportierenWenn Sie ein Formular nach Excel exportieren, erzeugt Access eine ähnliche Excel-Tabelle wiebeim Export einer Tabelle oder einer Abfrage. Es landen jedoch lediglich die Felder in der ExcelTabelle, die auch im Formular in Form gebundener Steuerelemente angelegt wurden.Der Export etwa eines Formulars samt Unterformular zur Anzeige von Daten in einer 1:n-Bezie hung liefert ebenfalls nur die Daten des Hauptformulars.1.1.5 Berichte nach Excel exportierenWenn Sie Daten strukturiert nach Excel ausgeben möchten, müssen Sie einen Bericht anlegen.Strukturiert bedeutet dabei, dass Sie etwa die Bestellungen samt Bestellpositionen in einerExcel-Tabelle anzeigen möchten – oder Artikelkategorien und die dazu gehörenden Artikel. AlsBeispiel haben wir einen Bericht erstellt, der in der Datenherkunft die beiden Tabellen tblArtikelund tblKategorien enthält. Diesem haben wir eine Gruppierung über das Feld KategorieID hin 27

Leseprobe Stand 13.2.2015Kapitel 1 Datenaustausch zwischen Access und den Office-Anwendungenzufügt. Der Kopfbereich für diese Kategorie nimmt die Felder KategorieID und Kategorienameauf, einige Felder der Tabelle tblArtikel landen im Detailbereich.Der Bericht sieht in der Seitenansicht wie in Abbildung 1.14 aus.Abbildung 1.14: Bericht als Vorlage für einen strukturierten Export zweier Tabellen nach ExcelWenn Sie für diesen Bericht den Kontextmenübefehl Export Excel auswählen und die Zieldateiangegeben haben, arbeitet Access den Bericht offenbar seitenweise ab. Darauf deutet zumin dest das nun erscheinende Fenster hin (siehe Abbildung 1.15).28

Leseprobe Stand 13.2.2015Export nach ExcelAbbildung 1.15: Fortschrittsanzeige beim Export eines etwas umfangreicheren BerichtsDas Ergebnis sieht interessant aus: Die erste Zeile enthält die Bestelldaten, die folgenden dieeinzelnen Bestellpositionen – danach folgen weitere Bestellungen mit den entsprechendenPositionen. Praktisch ist, dass man die Ebene mit den Bestellpositionen minimieren kann.Für eine einzelne Ebene gelingt dies mit den Plus/Minus-Zeichen am linken Rand, wie es inAbbildung 1.16 etwa in Zeile 6 und 9 der Fall ist.Abbildung 1.16: Ergebnis des Exports eines Berichts mit einer GruppierungsebeneMit einem Klick auf die kleine Schaltfläche mit der Nummer 1 am linken oberen Rand des Ta bel len blatts können Sie sogar alle untergeordneten Ebenen ausblenden, mit einem Klick auf die 2blenden Sie alle Ebenen wieder ein (siehe Abbildung 1.17).29

Leseprobe Stand 13.2.2015Kapitel 1 Datenaustausch zwischen Access und den Office-AnwendungenAbbildung 1.17: Minimieren aller untergeordneten Ebenen1.1.6 Daten in Excel einbindenRelativ unbekannt ist die Möglichkeit, Daten von Access in eine Excel-Datei zu übertragen unddabei eine Verknüpfung aufrecht zu erhalten – also so, dass die Daten der Access-Tabelle inExcel verfügbar sind, um beispielsweise Auswertungen über diese Daten durchzuführen. Dabeiwerden die Daten in der Excel-Datei jedoch bei Änderungen der zugrunde liegenden Daten inder Access-Datenbank aktualisiert. Dies gelingt jedoch über die Benutzeroberfläche nur vonExcel aus – schauen wir uns an, wie es funktioniert.Dazu erstellen wir zunächst eine neue, leere Excel-Datei namens VerknuepfungMitAccess.xlsx. Dann rufen Sie den Ribbon-Befehl Daten Externe Daten abrufen Aus Access auf (sieheAbbildung 1.18).30

Leseprobe Stand 13.2.2015Export nach ExcelAbbildung 1.18: Externe Daten aus Access abrufenDies öffnet einen Datei öffnen-Dialog, mit dem Sie die Access-Datenbank auswählen, welche dieDaten liefern soll. Nach der Auswahl der Access-Datenbank erscheint ein weiterer Dialog, mitdem Sie die Tabelle oder Abfrage auswählen können (siehe Abbildung 1.19). Dieser Dialog bietetaußerdem die Möglichkeit, die Option Auswahl mehrerer Tabelle aktivieren zu setzen.Abbildung 1.19: Auswahl der Datenquelle(n)Wir wählen zunächst die Abfrage qryKundenMitAnreden aus. Nach einem Klick auf OK erscheintein weiterer Dialog, mit dem Sie weitere Optionen einstellen können (siehe Abbildung 1.20).Hier können Sie beispielsweise angeben, ob die Daten in einer einfachen Tabelle angezeigt wer den sollen, als PivotTable-Bericht oder als Pivot-Chart.31

Leseprobe Stand 13.2.2015Kapitel 1 Datenaustausch zwischen Access und den Office-AnwendungenAbbildung 1.20: Einstellungen für den Import der DatenDessen Einstellungen behalten wir zunächst bei und klicken auf OK, um den Import der Datendurchzuführen. Das Ergebnis sieht zumindest schon mal hübsch aus (siehe Abbildung 1.21).Abbildung 1.21: Mit Access verknüpfte DatenNun wollen wir natürlich wissen, was es mit der Aktualisierung der Daten auf sich hat. Werdendie Daten nur von einer in die andere Richtung synchronisiert oder sogar in beide Richtungen?Also ändern wir den Vornamen des ersten Datensatzes. Das Schließen und erneute Öffnen derExcel-Datei liefert den geänderten Vornamen. In der Access-Datenbank liegt hingegen noch deralte Wert vor. Eine Aktualisierung von Excel in Richtung Access scheint also nicht zu funktionie ren. Aber warum zeigt Excel nach dem Schließen und Öffnen der Tabelle nicht wieder den tat 32

Leseprobe Stand 13.2.2015Export nach Excelsächlich in der verknüpften Tabelle der Datenbank enthaltenen Wert an, sondern den manuellgeänderten Wert? Anscheinend müssen wir das mit den aktuellen Einstellungen selbst anstoßen.Dazu verwenden Sie den Ribbon-Eintrag Daten Verbindungen Alle aktualisieren Aktualisieren(siehe Abbildung 1.22). Dies liefert dann wieder den Wert aus der Access-Tabelle.Abbildung 1.22: Aktualisieren der DatenWie aber können wir die Aktualisierung beeinflussen? Auf den ersten Blick finden wir denRibbon-Eintrag Daten Verbindungen Eigenschaften. Dieser öffnet den Dialog Externe Da ten ei gen schaften (siehe Abbildung 1.23).Abbildung 1.23: Externe DateneigenschaftenMit der Option Zeilennummer einschließen können Sie beispielsweise festlegen, dass die ersteSpalte der Excel-Tabelle noch einen 0-basierten Index für die Zeilen anzeigt. Das Ak tu ali sie rungs intervall und ähnliche Einstellungen lassen sich hier allerdings nicht vornehmen.Dies gelingt im Dialog Ver bin dungs ei gen schaften. Diesen hätten Sie soeben beim Durchführendes Imports im Dialog Daten importieren öffnen können, aber auch mit einem Klick auf dieSchaltfläche Verbindungseigenschaften im Dialog Externe Dateneigenschaften. Sie können das33

Leseprobe Stand 13.2.2015Kapitel 1 Datenaustausch zwischen Access und den Office-Anwendungenaber auch nachträglich erledigen, und zwar mit dem Ribbon-Befehl Daten Verbindungen Alleaktualisieren Verbindungseigenschaften.Der Dialog Verbindungseigenschaften bietet auf der ersten Registerseite einen Bereich namensAktulisierungssteuerung an, mit dem Sie beispielsweise das Aktualisierungsintervall für eine au tomatische Aktualisierung einstellen

5.3 Access-Daten in Excel als Chart darstellen 156 5.3.1 Daten übertragen 157 5.3.2 Chart erstellen 158 5.3.3 Verschiedene Diagrammtypen 160 5.3.4 Diagramm direkt aus Access-Daten erstellen 163 5.3.5 Weitere Möglichkeiten 166 6 Daten aus Excel-Tabellen lesen 167 6.1 Kontakte mit Anrede einlesen 167 6.1.1 Import programmieren 168