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

Erstellen Sie einen Excel-Import-Assistenten, der die Nachteile des eingebauten Assistenten behebt

Techniken

Excel, Spreadsheet-Steuerelement, VBA, DDL, Formulare

Voraussetzungen

Access 2000 und höher

Beispieldateien

ExcelImport.mda

Shortlink

696

Excel-Import-Assistent im Eigenbau

André Minhorst, Duisburg

Der Import-Assistent für Excel-Dateien hat einen entscheidenden Nachteil: Er erlaubt nicht, den zu importierenden Bereich des ausgewählten Tabellenblatts manuell auszuwählen. Diese Aufgabe müssen Sie vorher direkt in Excel erledigen, indem Sie einen sogenannten »benannten Bereich« definieren. Dieser ist dann im Import-Assistenten namentlich verfügbar. Unser Assistent enthält eine solche Funktion, und generell lernt man eine Menge, wenn man sich die Funktionsweise eines Excel-Imports einmal in Ruhe ansieht.

Der eingebaute Import-Assistent unterscheidet prinzipiell zwischen dem Importieren von Daten aus Excel in eine neue und in eine bestehende Tabelle. In technischer Hinsicht ist der Unterschied schnell beschrieben: Beim Erstellen einer neuen Tabelle muss zuvor eine entsprechende SQL-Aktionsabfrage ausgeführt werden, die mit den DDL-Befehlen von SQL eine passende, leere Tabelle erzeugt.

Importieren in eine bestehende Tabelle

Der Import-Assistent von Access 2007, der sich nur in Details von denen vorheriger Access-Versionen unterscheidet, gibt dem Benutzer gleich auf der ersten Dialogseite die Gelegenheit, die gewünschte Quelldatei auszuwählen und anzugeben, ob die Daten in einer bestehenden oder in einer neuen Tabelle landen sollen.

Bei einer bestehenden Tabelle reduzieren sich die folgenden Schritte darauf, die Zieltabelle auszuwählen und das als Quelle zu verwendende Tabellenblatt oder den entsprechenden benannten Bereich auszuwählen - der Rest läuft automatisch ab, und das auch nur, wenn dabei kein Fehler auftritt. Hier gibt es Nachbesserungsbedarf, den unser Assistent liefern soll: Wir möchten zumindest die Möglichkeit bieten, dass der Benutzer für jede Spalte des betroffenen Bereichs der Excel-Tabelle das entsprechende Feld der Zieltabelle zuordnen kann.

Importieren in eine neue Tabelle

Hier bietet der eingebaute Import-Assistent von Access schon deutlich mehr Möglichkeiten:

  • Auswahl des Tabellenblatts oder des benannten Bereichs der Excel-Datei als Datenherkunft
  • Festlegen, ob die erste Zeile der Tabelle Spaltenüberschriften enthält
  • Angeben der Feldnamen der Zielfelder je Spalte der Datenherkunft
  • Festlegen, ob ein Feld indiziert werden soll
  • Zuweisen von Datentypen zu Spalten der Quelltabelle
  • Abwählen von Spalten, die nicht importiert werden sollen
  • Festlegen, ob ein Feld der zu erzeugenden Tabelle als Primärschlüsselfeld definiert werden soll, und falls ja, welches verwendet werden soll

ExcelImport.mda

Der im Rahmen dieses Beitrags erstellte Assistent soll den Import in bestehende und neu erstellte Tabellen ermöglichen. Dabei soll er den Import in bestehende Tabellen insofern erweitern, dass der Benutzer zunächst den Bereich festlegt, aus dem die Daten importiert werden sollen.

Dies soll innerhalb des Formulars des Import-Assistenten geschehen, das (sichtbare) Öffnen einer Excel-Instanz soll unbedingt vermieden werden.

Diese Funktion soll auch in dem Bereich des Assistenten zur Verfügung stehen, der Excel-Daten in neue Tabellen importiert.

Für den Import in bestehende Tabellen soll der neue Assistent es außerdem erlauben, den Spalten der Quelldatei Felder der Zieltabelle zuzuweisen, damit die Daten auch dort landen, wo sie hingehören. Der Aufbau der Zieltabelle muss somit nicht identisch mit dem des Excel-Tabellenblatts sein, aus dem die Daten stammen.

Grundsätzliche Vorgehensweise

Beim neuen Import-Assistenten für Excel-Daten soll der Import in neue und bestehende Tabellen ähnlich aufgebaut sein. Der Benutzer wählt die Excel-Datei und das Tabellenblatt aus, aus dem die Daten importiert werden sollen. Der Assistent zeigt dann das komplette Tabellenblatt an und bietet dem Benutzer die Möglichkeit, den zu importierenden Bereich gleich im Assistenten auszuwählen.

Genau wie im eingebauten Assistenten kann er dabei festlegen, ob die Daten mit oder ohne Spaltenüberschriften importiert werden sollen. Im Anschluss legt der Benutzer für die einzelnen Spalten fest, wie der Feldname in der Zieltabelle heißt.

Beim Import in eine bestehende Tabelle kann er zwischen den vorhandenen Feldern wählen. Soll der Assistent die Daten hingegen in eine neue Tabelle schreiben, gibt der Benutzer die Namen der Felder an, wobei gegebenenfalls die Spaltenüberschriften als Standardwert dienen.

Beim Import in eine neue Tabelle muss der Benutzer außerdem den Datentyp für jedes Zielfeld festlegen und angeben, ob das Feld indiziert werden soll. Zuletzt legt der Benutzer beim Import in eine neue Tabelle noch fest, welches der Felder als Primärschlüsselfeld dienen soll.

Alternativ kann er angeben, dass er gar kein Primärschlüsselfeld wünscht oder dass der Assistent ein von den zu importierenden Daten unabhängiges Primärschlüsselfeld zur Tabelle hinzufügen soll.

Resultat des Assistenten

Ein Ergebnis des Assistenten soll natürlich der erfolgreiche Import der gewünschten Daten in die Zieltabelle sein. Technisch betrachtet steckt die Hauptarbeit auf diesem Wege aber darin, dem Benutzer folgende Arbeiten abzunehmen, die wiederum von der Importart abhängen:

  • Beim Import in eine bestehende Tabelle braucht der Assistent nur die Parameter für den Aufruf einer DoCmd.TransferSpreadsheet-Anweisung zu ermitteln.
  • Beim Import in eine neue Tabelle muss der Assistent zusätzlich zu der DoCmd.TransferSpreadsheet-Anweisung noch eine CREATE TABLE-Abfrage zusammenstellen, welche die neue Tabelle erstellt.

Aufbau des Assistenten-Formulars

Wir wollen den Excel-Import-Assistenten so wie klassische Assistenten aufbauen. Der Benutzer soll damit also mehrere Schritte durchlaufen können und dabei die benötigten Daten zusammenstellen. Um dem Benutzer das Gefühl zu geben, dass er die ganze Zeit mit einem einzigen Formular arbeitet, verwenden wir einfach ein einziges Formular - zumindest als Hauptformular.

Die einzelnen Schritte des Assistenten laufen natürlich in verschiedenen Unterformularen ab, die je nach dem Fortschritt ein- und ausgeblendet werden. Das Hauptformular sieht etwa wie in Abb. 1 aus. Es enthält vier Schaltflächen namens cmdAbbrechen, cmdZurueck, cmdWeiter und cmdFertigstellen sowie ein Unterformularsteuerelement namens sfmExcelImportWizard. Die Beschriftungen beginnen jeweils mit einem Kaufmanns-Und (&), damit der erste Buchstabe unterstrichen dargestellt wird und die Schaltfläche durch die Kombination aus Alt-Schaltfläche und unterstrichenem Buchstaben über die Tastatur angesteuert werden kann.

pic001.png

Abb. 1: Das Grundgerüst des Excel-Import-Assistenten

Desweiteren enthält das Formular ein Unterformular-Steuerelement namens sfmExcelImportWizard, das die eigentlichen Elemente der Benutzeroberfläche des Assistenten liefert.

Die Größe des Hauptformulars und vor allem des Unterformularsteuerelements werden wir sicher in den folgenden Schritten noch anpassen müssen, weil etwa das Formular zur Auswahl des Bereichs der zu importierenden Excel-Datei etwas mehr Platz in Anspruch nehmen wird.

Stellen Sie für alle Formulare und Unterformulare die Eigenschaften Datensatzmarkierer, Navigationsschaltflächen, Trennlinien und Bildlaufleisten grundsätzlich auf Nein ein. Außerdem soll die Eigenschaft Rahmenart des Unterformulars den Wert Transparent erhalten.

Schritt 1: Auswählen der Quelldatei

Egal, ob der Import in eine vorhandene oder eine neue Tabelle erfolgen soll, muss der Benutzer zunächst die Excel-Datei und dort das Tabellenblatt auswählen, aus dem die Daten für den Import stammen. Dateipfad und -name sollen in einem Textfeld namens txtExcelDatei landen, allerdings nicht durch eine manuelle Eingabe des Benutzers. Vielmehr soll dieser auf eine Schaltfläche rechts neben dem Textfeld mit dem Dateinamen klicken, um einen Datei öffnen-Dialog anzuzeigen und damit die Quelldatei auszuwählen.

Nach Auswahl der Datei zeigt das darunter befindliche Kombinationsfeld cboTabellenblaetter alle in der ausgewählten Excel-Datei enthaltenen Tabellenblätter an. Das Unterformular für diesen ersten Schritt des Assistenten heißt sfmDateiUndBlatt und sieht bislang wie in Abb. 2 aus.

pic002.png

Abb. 2: Auswählen der Quelldatei und des Tabellenblatts

Die Schaltfläche zum Auswählen der Excel-Datei heißt cmdDateiAuswaehlen und ihre Ereigniseigenschaft Beim Klicken löst die Ereignisprozedur aus Listing 1 aus. Diese ruft die bereits oft in Beiträgen von Access im Unternehmen verwendete Funktion zum Anzeigen eines Datei öffnen-Dialogs auf (s. Beispieldatenbank, Modul mdlTools, Funktion OpenFileName) und schreibt das Ergebnis in das Textfeld txtExcelDatei.

Listing 1: Auswählen der Quelldatei und Füllen und Öffnen des Kombinationsfelds zur Auswahl des Tabellenblatts

Private Sub cmdDateiAuswaehlen_Click()

    Me!txtExcel-Datei = OpenFileName(CurrentProject.Path,

    "Excel-Datei auswählen”, "Excel 2002-2003 (*.xls)|

    Excel 2007 (*.xlsx)|Alle Dateien (*.*)”)

    If Len(Me!txtExcel-Date) > 0 Then

        If Len(Dir(Me!txtExcel-Date)) > 0 Then

            With Me!cboTabellenblaetter

            .RowSourceType = "Value List”

            .RowSource = _

            TabellennamenEinlesen(Me!txtExcel-Date)

            .SetFocus

            .Dropdown

            End With

        End If

    End If

    End Sub

Anschließend geschehen noch weitere Aktionen: Zunächst ruft die Prozedur eine Funktion namens TabellennamenEinlesen auf und schreibt das Ergebnis, das etwa in der Form Tabelle1;Tabelle2;Tabelle3; kommt, in die Eigenschaft RowSource des Kombinationsfelds, dessen Herkunftstyp zuvor über die Eigenschaft RowSourceType auf Wertliste eingestellt wurde.

Die vorletzte Anweisung setzt den Fokus auf das Kombinationsfeld, was lediglich eine Voraussetzung für den letzten Befehl ist - und dieser klappt das Kombinationsfeld mit der DropDown-Methode auf. So kann der Benutzer gleich mit einem Mausklick das Quelltabellenblatt festlegen.

Die Funktion TabellennamenEinlesen erwartet den Dateinamen der Excel-Datei als Parameter und liefert die oben beschriebene, durch Semikola getrennte Auflistung zurück. Den Quelltext dieser Funktion finden Sie in Listing 2. Die Funktion greift ohne Umschweife auf ein Objekt namens objWorkbook zu, obwohl dieses zuvor noch gar nicht deklariert oder instanziert und auch nicht per Parameter übergeben wurde.

Listing 3: Die Funktion objWorkbook prüft, ob schon ein Workbook geöffnet ist. Falls nein oder falls dieses nicht das richtige ist, öffnet sie die gewünschte Datei und liefert einen Verweis darauf zurück.

Public Function objWorkbook(strExcel-Datei As String) As Excel.Workbook

    If m_Workbook Is Nothing Then

        Set m_Workbook = objExcel.Workbooks.Open(strExcel-Date)

    Else

        If Not m_Workbook.Path & "\” & m_Workbook.Name = strExcel-Datei Then

            Set m_Workbook = objExcel.Workbooks.Open(strExcel-Date)

        End If

    End If

    Set objWorkbook = m_Workbook

End Function

Da wir im Rahmen des Assistenten möglichst nur eine Excel-Instanz erstellen und auch die Quelldatei für den Import nur einmal öffnen möchten, verwenden wir einige globale Funktionen, welche die benötigten Objekte bei Bedarf erstmalig erzeugen und diese anschließend jederzeit bereitstellen.

All diese finden Sie wie auch die Funktion TabellennamenEinlesen im Modul mdlExcel. Dort sind auch zwei Objektvariablen für die Excel-Instanz und für das Workbook deklariert:

Private m_Excel As Excel.Application

Private m_Workbook As Excel.Workbook

Für den einfachen Zugriff auf das Objektmodell von Excel benötigen wir zunächst einen Verweis auf die entsprechende Objektbibliothek (s. Abb. 3).

pic010.png

Abb. 3: Festlegen eines Verweises auf die Excel-Objektbibliothek

Die Deklaration der Variablen m_Excel und m_Workbook erfolgt privat, weil der Zugriff nur über entsprechende Funktionen möglich sein soll, die gleichzeitig prüfen, ob bereits Instanzen von Excel und der Importdatei bestehen. Die Excel-Instanz liefert die folgende Funktion:

Public Property Get objExcel() _

As Excel.Application

If m_Excel Is Nothing Then

Set m_Excel = New Excel.Application

End If

Set objExcel = m_Excel

End Property

Sie prüft zunächst, ob die private Variable m_Excel bereits einmal mit einer Excel-Instanz gefüllt wurde und holt dies gegebenenfalls nach. Die vorhandene oder neu erstellte Instanz wird dann als Funktionswert zurückgegeben.

Ähnlich arbeitet die Funktion objWorkbook. Sie füllt die zuständige Variable m_Workbook jedoch in zwei Fällen neu - erstens, wenn diese noch komplett leer ist, und zweitens, wenn diese eine andere Datei als die im Parameter angegebene enthält (s. Listing 3).

Listing 4: Füllen des Spreadsheet-Steuerelements mit dem ausgewählten Tabellenblatt

Private Sub cboTabellenblaetter_AfterUpdate()

    Dim objWorksheet As Excel.Worksheet

    If Not IsNull(Me!cboTabellenblaetter) Then

        Set objWorksheet = _

        objWorkbook(Me!txtExcel-Date). _

        Worksheets(CStr(Me!cboTabellenblaetter))

        objWorksheet.Cells.Copy

        objSpreadsheet.Cells.Paste

    End If

    End Sub

Auf diese Weise haben wir gleich mehrere Dinge erledigt: Wir haben eine Excel-Instanz erzeugt und den Verweis darauf gespeichert, und außerdem das Gleiche mit einer potenziellen Importdatei erledigt. Wann immer wir später auf diese beiden Objekte zugreifen wollen - sie sind stets parat.

Nun geht es an die nächste Aufgabe: Das Anzeigen der Tabellenblätter der ausgewählten Excel-Datei.

Hierzu müssen Sie wissen, dass es etwas unbequem ist, mit einer in ein Formular eingebundenen Excel-Instanz umzugehen.

Beim Laden eines Dokuments flackert es ordentlich und auch danach wirkt das Excel-Dokument nicht wirklich integriert.

Eine Alternative ist das Spreadsheet-Steuerelement der Office Web Components, die mit Office bis zur Version 2003 ausgeliefert wurden, für spätere Versionen jedoch ebenfalls zusätzlich heruntergeladen werden können (schlagen Sie zu - wer weiß, wie lange noch!).

Wir widmen diesem Steuerelement einen eigenen, kleinen Beitrag namens Tabellen wie unter Excel (Shortlink 694), in dem Sie weitere Informationen finden.

Falls die Komponente nicht auf Ihrem Rechner installiert ist, können Sie diese unter http://www.microsoft.com/downloads/details.aspx?FamilyId=7287252C-402E-4F72-97A5-E0FD290D4B76&displaylang=en herunterladen (hier in der Version für Office 2003).

Die Komponente fügen Sie nun über den Dialog zum Einfügen von ActiveX-Steuerelementen in das Formular sfmDateiUndBlatt ein, sodass dieses wie in Abb. 4 aussieht. Weisen Sie der Komponente den Namen ctlSpreadsheet zu.

pic003.png

Abb. 4: Das Spreadsheet-Steuerelement im Unterformular für den ersten Schritt des Assistenten

Fügen Sie dann dem Formular sfmDateiUndBlatt eine Ereignisprozedur für das Ereignis Beim Laden hinzu, die wie folgt aussieht:

Private Sub Form_Load()

    Set objSpreadsheet = _

    Me!ctlSpreadsheet.Object

    End Sub

Die hier verwendete Objektvariable objSpreadsheet deklarieren Sie im Kopf des gleichen Moduls:

Dim objSpreadsheet As OWC11.Spreadsheet

Und jetzt kommt‘s: Das Unterformular soll nun nach der Auswahl einer Excel-Datei und des gewünschten Tabellenblatts den Inhalt genau dieses Tabellenblatts im Spreadsheet-Steuerelement anzeigen.

Dies geschieht genau nach der Auswahl eines Eintrags im Kombinationsfeld, wodurch das Ereignis Nach Aktualisierung dieses Steuerelements ausgelöst wird.

Die passende Ereignisprozedur finden Sie in Listing 4. Sie prüft zunächst, ob das Kombinationsfeld überhaupt einen Wert enthält. Falls ja, füllt sie das Objekt objWorksheet mit einem Verweis auf das angegebene Tabellenblatt der Importdatei. Dazu referenziert sie wiederum die weiter oben beschriebene Funktion objWorkbook mit dem angegebenen Dateinamen als Parameter und verwendet die Auflistung Worksheets, um an das gewünschte Tabellenblatt heranzukommen. Sie sehen hier bereits einen der Vorteile der Funktion objWorkbook: Sie brauchen (und sollen) das Ergebnis nicht erst einer Variablen zuzuweisen, sondern greifen gleich über die Punkt-Syntax auf die Eigenschaften und Methoden des zurückgelieferten Objekts zu.

Listing 5: Diese Prozedur steuert den Ablauf des Assistenten und lädt die Unterformulare für die einzelnen Schritte.

Private Sub DoStep()

    Select Case intStep

    Case 1 ‘Datei und Tabelle festlegen

    Me!sfmExcelImportWizard.SourceObject = "sfmDateiUndBlatt”

    Me!cmdAbbrechen.Enabled = True

    Me!cmdWeiter.SetFocus

    Me!cmdZurueck.Enabled = False

    Me!cmdWeiter.Enabled = True

    Me!cmdFertigstellen.Enabled = False

    Case 2 ‘Bereich auswählen

    Me!sfmExcelImportWizard.SourceObject = "sfmBereichAuswaehlen”

    Me!cmdAbbrechen.Enabled = True

    Me!cmdZurueck.Enabled = True

    Me!cmdWeiter.Enabled = True

    Me!cmdFertigstellen.Enabled = False

    Case 3 ‘Zieltabelle festlegen

    Me!sfmExcelImportWizard.SourceObject = "sfmZieltabelleFestlegen”

    Me!cmdAbbrechen.Enabled = True

    Me!cmdZurueck.Enabled = True

    Me!cmdWeiter.Enabled = True

    Me!cmdFertigstellen.Enabled = False

    Case 4 ‘Felder zuweisen (bei bestehender Tabelle) oder Felder definieren (bei neuer Tabelle)

    Select Case bolNeueTabelle

    Case True

    Me!sfmExcelImportWizard.SourceObject = "sfmFelderDefinieren”

    Case False

    Me!sfmExcelImportWizard.SourceObject = "sfmFelderZuweisen”

    End Select

    Me!cmdAbbrechen.Enabled = True

    Me!cmdZurueck.Enabled = True

    Me!cmdWeiter.Enabled = True

    Me!cmdFertigstellen.Enabled = False

    Case 5 ‘Primärschlüssel festlegen, Importieren/Fertigstellen

    Me!sfmExcelImportWizard.SourceObject = "sfmFertigstellen”

    Me!cmdAbbrechen.Enabled = True

    Me!cmdZurueck.Enabled = True

    Me!cmdFertigstellen.Enabled = True

    Me!cmdFertigstellen.SetFocus

    Me!cmdWeiter.Enabled = False

    End Select

    End Sub

Ist das Tabellenblatt erst einmal in Form der Objektvariablen objWorksheet referenziert, geht der Rest ganz schnell: Wir kopieren den kompletten Inhalt, den wir mit der Cells-Eigenschaft erfassen, mit der Copy-Methode und schreiben alles mit der Paste-Methode in unser Spreadsheet-Steuerelement. Das Ergebnis kann sich sehen lassen: Die Kopie des Excel-Tabellenblatts wird im Formular des Assistenten angezeigt und Sie können mit der Maus Bereiche markieren, ohne dass es wie bei einer per OLE eingeblendeten Excel-Instanz flackert (s. Abb. 5).

pic004.png

Abb. 5: Der erste Schritt des Assistenten ist vollendet.

Schritt für Schritt

Nach diesem Schritt widmen wir uns ein wenig dem Ablauf des Assistenten und seiner Steuerung. Im aktuellen Zustand sind beispielsweise alle Schaltflächen beim Anzeigen des ersten Schritts aktiviert, was zumindest für die Zurück-Schaltfläche keinen Sinn macht, aber auch nicht für die Fertigstellen-Schaltfläche.

Betrachten wir zunächst, wie viele und welche Schritte wir überhaupt benötigen:

  • Schritt 1: Auswählen der Datei und des Tabellenblatts (bereits erledigt)
  • Schritt 2: Auswählen des zu importierenden Bereichs aus diesem Tabellenblatt
  • Schritt 3: Festlegen, ob der Bereich in eine neue oder eine bestehende Tabelle importiert werden soll
  • Schritt 4a: Falls in Schritt 3 der Import in eine neue Tabelle ausgewählt wurde, werden hier die Felder der Tabelle definiert.
  • Schritt 4b: Falls in Schritt 3 der Import in eine bestehende Tabelle ausgewählt wurde, werden hier die zu importierenden Spalten den Feldern zugewiesen.
  • Schritt 5: Festlegen, ob ein Primärschlüsselfeld verwendet werden soll und welches dies ist beziehungsweise ob ein neues Primärschlüsselfeld angelegt werden soll. Dies ist gleichzeitig der letzte Schritt.

Für die so definierten Schritte brauchen wir zunächst einige Unterformulare, die Sie gleich in Form von Kopien des ersten Unterformulars sfmDateiUndBlatt erstellen können - wir sparen uns so das wiederholte Hinzufügen des Spreadsheet-Steuerelements, das wir noch in weiteren Unterformularen benötigen. Die neuen Unterformulare sollen die folgenden Bezeichnungen erhalten:

  • sfmBereichAuswaehlen
  • sfmZieltabelleFestlegen
  • sfmFelderDefinieren
  • sfmFelderZuweisen
  • sfmFertigstellen

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

Ferngesteuerter Seriendruck mit Access und Word

Excel automatisieren

Importieren von Textdateien

Access-Add-Ins

Der DBMS-Connection-Wizard

Tabellen wie unter Excel

Outlook und Access - Import und Export von Access-Daten

Formular-Assistenten

Ereignisprozeduren

Ereignisprozeduren implantieren

Suchformularassistent

Datenaustausch zwischen Excel und Access

Tilgen mit Access und Excel

Unterformulare: Daten anlegen und löschen

Word, Excel und Co. im Griff

Formularposition speichern und wiederherstellen

Access 2007: Bilder und Schaltflächen

Listenfeldbeschriftung per Assistent

Ereignisse im Eigenbau

Automatisierter Import von Excel-Tabellen

Assistenten und Add-Ins selbst gebaut

Zugriff auf Formulare

Formulare im Blickpunkt

Modale Dialoge mal anders

Projektzeitmanager

COM-Add-Ins mit Visual Basic 2008 Express Edition

Erweitern des VBA-Editors

Add-Ins für den VBA-Editor installieren

Fahrtenbuch mit Import- und Stornierungsfunktion

Verwaltung von Projekten des Handwerks

Termine in Berichten darstellen

© 2003-2015 André Minhorst Alle Rechte vorbehalten.