EDM: DataGrid als Datenblatt

Wer von Access kommt und Datenbankanwendungen mit Visual Studio programmieren möchte, vermisst vermutlich das einfache Datenblatt, das man unter Access mit wenigen Mausklicks zusammenstellen konnte. Dieses zeigt nicht nur die Datensätze der als Datenherkunft verwendeten Tabelle oder Abfrage an, sondern bietet auch die Möglichkeit, die enthaltenen Daten zu ändern, zu löschen oder durch neue Datensätze zu ergänzen. Dies wollen wir in diesem Artikel durch den Einsatz eines entsprechend programmierten DataGrid-Steuerelements nachbauen.

Von Access zu EF: Step by step

Im Artikel »Von Access zu Entity Framework: Datenmodell« zeigen wir, wie Sie von Access aus auf Basis des aktuellen Datenmodells Klassen für ein Entity Data Model erstellen. In »Von Access zu Entity Framework: Daten« zeigen wir, wie Sie noch eine Seed-Anweisung hinzufügen, welche die Daten der Access-Datenbank in die auf Basis des Entity Data Models erstellte Datenbank füllt. Im vorliegenden Artikel nun liefern wir nochmal eine Kurzanleitung, wie Sie die in den Artikeln vorgestellten Techniken Schritt für Schritt nutzen, um ein .NET-Projekt mit Entity Data Model samt Daten aus der Access-Datenbank zu erstellen.

Von Access zu Entity Framework: Daten

Viele Leser dieses Magazins programmieren auch mit Access. Daher haben wir im Artikel »Von Access zu Entity Framework: Datenmodell« bereits gezeigt, wie Sie die meisten Elemente eines Datenmodells in Klassen für ein Entity Data Model überführen, die Sie dann wiederum zum Erstellen einer SQL Server-Datenbank per Code First nutzen können. Was fehlt, sind allerdings noch die Daten in diesen Tabellen. Wie Sie den Code erstellen, um auch die Daten über eine entsprechend Seed-Methode in die Datenbank zu schreiben, erfahren Sie in diesem Artikel.
Viele Leser dieses Magazins programmieren auch mit Access. Der eine oder andere hat vielleicht sogar eigene Anwendungen oder Anwendungen von Kunden auf Access-Basis, die er gern in Form eines WPF- oder ASP.NET-Projekts umsetzen würde. Das Problem: Der Zugriff auf die Access-Datenbank ist unter .NET nur begrenzt möglich, die tolle Datenzugriffstechnologie Entity Framework beispielsweise unterstützt Access-Datenbanken nicht. Dafür unterstützt es allerdings SQL Server-Datenbanken. Wie gehen wir also vor? Wir migrieren die Access-Datenbanken zum SQL Server und bauen dann ein Entity Data Model auf Basis dieser Datenbank. Es geht allerdings auch anders: Sie könnten auch ein paar Routinen in VBA schreiben, die ein Entity Data Model direkt aus Access heraus auf Basis des gewünschten Datenmodells erzeugen. Dieser Artikel zeigt, wie letztere Möglichkeit funktioniert.

Entity Framework: Datenbankmigration

Unter Access hatten Sie ein Problem, wenn Sie eine neue Version einer Datenbank ausliefern wollten, deren Datenmodell sich geändert hat. Dann war Handarbeit angesagt! Das Entity Framework bietet für das Übertragen von Änderungen am Datenmodell die sogenannten Migrationen an. Dieser Artikel zeigt, was es sich damit auf sich hat und wann Sie Migrationen gegenüber Datenbankinitialisierern nutzen sollten.
Wenn Sie mit Code First arbeiten, also Ihre Datenbank auf Basis eines Entity Data Models erstellt wird, können Sie verschiedene Strategien auswählen, um die Datenbank zu erstellen oder anzupassen, wenn Sie die Anwendung an einen anderen Benutzer weitergeben. Dieser Artikel zeigt, welche Möglichkeiten es gibt und wie diese funktionieren.

Von Access zum Entity Framework: Basics

In den vorherigen Ausgaben haben wir bereits verschiedene Techniken erläutert und unter anderem kleine Desktop- und Webanwendungen programmiert. Dabei sind wir ein wenig vom eigentlichen Ziel des Magazins abgewichen – Access-Entwicklern die Möglichkeiten von Visual Studio und den dortigen Technologien für die Migration von Access-Anwendungen in Desktop- oder Webanwendungen aufzuzeigen. Mit diesem Artikel kehren wir dorthin zurück und erklären, wie Sie den Umzug einer Anwendung von Access zu .NET einleiten und welche Techniken wir dazu in Zukunft nutzen wollen.

Kommandozeile per DLL

Wenn Sie von Access aus Befehle ausführen wollen, die Sie normalerweise über die Kommandozeile beziehungsweise die Eingabeaufforderung eingeben würden, ist das kein Problem – das erledigen Sie ganz einfach über die Shell-Anweisung. Interessanter wird es, wenn Sie die Ausgabe der Anwendung einlesen und verarbeiten wollen, um beispielsweise auszuwerten, ob der Aufruf erfolgreich war oder welches Ergebnis dieser geliefert hat. Mit VBA beziehungsweise API-Funktionen gelingt dies nicht immer zuverlässig. Also schauen wir uns in der .NET-Bibliothek um, ob es dort Alternativen gibt, und machen uns diese über eine DLL unter VBA verfügbar.

VB.NET-DLL für Access programmieren

Visual Studio bietet viel mehr Bibliotheken und Möglichkeiten als Access. Dafür ist es auch viel komplizierter. Zum Glück können wir beide Welten kombinieren, zum Beispiel durch Erstellen einer DLL mit Visual Studio, die Funktionen bereitstellt, die nur unter .NET zur Verfügung stehen, die Sie dann von Access aus per VBA referenzieren und nutzen können. Dieser Beitrag zeigt anhand eines Beispiels, wie das gelingt.

PDF-Dokumente im Griff mit PDFtk

PDFtk ist ein kostenloses bis günstiges Tool, mit dem Sie verschiedene Manipulationen an PDF-Dateien vornehmen können. Damit ist es eine tolle Ergänzung zu Anwendungen, die ihre Dateien wie etwa Rechnungen oder anderen Dokumente per Bericht formatieren und dann als PDF speichern. Vor der Weiterverarbeitung etwa durch das Versenden per E-Mail können Sie die PDFs dann mit PDFtk optimieren, zum Beispiel in dem Sie diese mit einem Kennwort schützen. Dieser Beitrag zeigt, wie Sie PDFtk, das neben der grafischen Benutzeroberfläche auch einen Aufruf per Kommandozeile erlaubt, zum automatisierten Bearbeiten Ihrer PDFs per VBA nutzen.

Access und SQL Server im Web

Wenn Sie die Daten Ihrer Access-Datenbank über das Internet für verschiedene Access-Frontends verfügbar machen wollen, müssen Sie zwei Schritte erledigen: Der erste ist die Migration der Tabellen in eine SQL Server-Datenbank, der zweite die Bereitstellung dieser Datenbank über das Internet. Letzteres gelingt mit den Azure-Diensten von Microsoft. Wie das funktioniert, zeigt der vorliegende Beitrag im Detail.

ODBC-Verknüpfungen in Formularen

Es gibt verschiedene Möglichkeiten, auf die Daten einer SQL Server-Datenbank zuzugreifen. Die einfachste Variante, gerade wenn es um die Migration einer reinen Access-Datenbank in eine Kombination aus Access-Frontend und SQL Server-Backend geht, ist der Einsatz von per ODBC verknüpften Tabellen. Dabei werden die Tabellen einfach nur zum SQL Server migriert und man greift dann über ODBC-Verknüpfungen auf die Tabellen zu. Für den Zugriff auf diese Daten von Formularen aus ergeben sich so gut wie keine Änderungen – und was sich doch ändern kann, erfahren Sie in diesem Beitrag.
1 von 25
Aktuell im Blog
Onlinebanking mit Access

Es ist geschafft: Endlich ist das Buch Onlinebanking mit Access fertiggeschrieben. Das war... [mehr]

Direktzugriff auf Tabellen und Felder

Die IntelliSense-Erweiterung für Tabellen und Felder hat mir soviel Spaß gemacht, dass ich gleich... [mehr]

IntelliSense für Tabellen und Felder

Wenn Sie mit dem VBA-Editor arbeiten und dort gelegentlich SQL-Anweisungen eingeben, müssen Sie... [mehr]

Download Access und SQL Server

Erfahren Sie, welche Schritte zum Download des aktuellen Stands des Buchs "Access und SQL Server"... [mehr]

Bilder in Access 2013

Wer die Bibliothek mdlOGL0710 von Sascha Trowitzsch oder ein ähnliches Modul aus meinen... [mehr]

Dynamische Ribbons

Immer wieder fragen Leser, wie man Ribbon-Elemente wie etwa Schaltflächen in Abhängigkeit... [mehr]

Die Blogmaschine

Einen kleinen Blog zusätzlich zum Shop zu betreiben ist eine tolle Sache. Hier lassen sich... [mehr]

Wegwerfadressen für die Newsletteranmeldung

Die Verwendung von Wegwerf-Adressen für die Nutzung aller möglichen Online-Dienste nimmt... [mehr]

Access und Facebook

Facebook und Access - das ist eine der wenigen Kombinationen, die ich noch nicht in die Mangel... [mehr]

Access und SQL Server - das Projekt

Mein neues Buch Access und SQL Server (gemeinsam mit Bernd Jungbluth) geht in die Endphase. Wer... [mehr]