Es ist doch etwas nervig, wenn man mal eben ein paar LINQ-Abfragen testen möchte oder auch C#- oder VB-Code. Immer wieder den Code anpassen, kompilieren, starten, feststellen, dass es noch nicht wie gewünscht klappt und wieder von vorn. Unter Access/VBA ging das irgendwie einfacher: Prozedur schreiben, F5 drücken, fertig. Das Tool LINQPad erleichtert die Sache stark: Damit können Sie prima üben, ohne zum Testen immer gleich die Anwendung kompilieren zu müssen.
Wer bisher mit C# gearbeitet hat und zu VB wechseln möchte, sieht sich bei der Entwicklung von WPF-Anwendungen einigen Änderungen gegenüber. Dieser Artikel fasst die wichtigsten Elemente der Sprache Visual Basic 2015 für den Entwickler in Bezug auf die bisher in diesem Magazin unter C# durchgeführten Programmierungen zusammen. Zum Experimentieren mit den Beispielen nutzen wir das Tool LINQPad 5. Außerdem schauen wir uns in diesem Artikel die Grundlagen der Sprache an, die wir im Artikel »Von VBA zu C#: Erste Anwendung und Variablen« betrachtet haben.

Bubbling und Tunneling: Routed Events

Im Vergleich zu VBA, wo jedes Ereignis für das Steuer­element behandelt wurde, welches es auch ausgelöst hat, gibt es unter WPF einige Erweiterungen. Es gibt dort auch solche Ereignisse, aber in vielen Fällen werden Ereignisse an übergeordnete Elemente weitergeleitet. Das hört sich erstmal so an, als ob man es nicht unbedingt benötigt. Dennoch wollen wir das Prinzip anhand eines Beispiels erläutern, damit Sie mitunter auftretendes unerwartetes Verhalten von Code interpretieren können.

Bestellverwaltung á la Visual Basic

In einer Umfrage haben uns viele Leser bescheinigt, dass Sie viel besser mit Visual Basic-Code arbeiten würden anstatt den großen Schritt von VBA auf C# zu wagen. Also wollen wir uns in diesem Artikel einmal ansehen, wie es aussieht, wenn wir unsere in den bisherigen Ausgaben entwickelte Beispielanwendung auf VB umstellen. Eines vorweg: Wir müssen nicht den kompletten Code anfassen, denn die Benutzeroberfläche haben wir ja vollständig mit XAML beschrieben. Aber auch der Rest liefert noch eine Menge Arbeit, wie die folgenden Seiten zeigen werden ...

Excel-Export mit Spreadsheet Light

Das Thema Reporting haben wir im DATENBANKENTWICKLER noch gar nicht behandelt. Das liegt auch daran, dass es unter C#/WPF keine so einfach einsetzbare Reporting-Funktion wie etwa die Berichte und Access gibt. Also wollen wir uns einmal verschiedene Möglichkeiten ansehen, um die Daten einer Datenbank aus einer C#-Anwendung zu exportieren, um diese etwa in einer anderen Anwendung zu öffnen und auszudrucken. Den Start machen wir mit Microsoft Excel.

Drag and Drop mit ListBox-Elementen

Im Artikel Drag and Drop-Grundlagen haben wir uns die grundlegenden Techniken für die Implementierung von Drag and Drop-Funktionen in WPF-Benutzeroberflächen angesehen. Nun gehen wir einen Schritt weiter und wollen Drag and Drop für das Fenster namens Versendungen unserer Beispielanwendung Bestellverwaltung umsetzen. Hier geht es dann nicht nur um einfaches Bewegen von Elementen per Maus, sondern auch um die Anpassung der dahinter stehenden Daten beziehungsweise Tabellen.

Property-Elemente am Beispiel Content

Unter Access konnten Sie beispielsweise in einer Schaltfläche lediglich einen Text als Inhalt unterbringen. In neueren Versionen kamen dann noch einige Features zur Gestaltung von Rand, Hintergrund, Bildern et cetera hinzu. Unter WPF sieht das ganz anders aus. Eine Schaltfläche bringt zwar mit der Content-Eigenschaft die Möglichkeit mit, einfache Texte einzugeben und liefert auch noch einige weitere Attribute, mit denen sich andere gängige Eigenschaften wie Rahmen, Hintergrund und so weiter einstellen lassen. Aber die Content-Eigenschaft nimmt nicht nur reine Texte, sondern nahezu beliebige Inhalte entgegen und zeigt diese innerhalb des Buttons an. Der Button ist dabei übrigens nur ein Beispiel – es gibt noch weitere Steuerelemente, welche die Content-Eigenschaft anbieten.

Drag and Drop-Grundlagen

Unter Access fehlen einige Features, die in anderen Programmiersprachen und Entwicklungsumgebungen zum guten Ton gehören. Eines davon ist die Drag and Drop-Funktionalität, die sich nur aufwendig abbilden ließ – und auch nur mit bestimmten ActiveX-Steuerelementen. Die eingebauten Steuer­elemente wie Textfelder oder Listenfelder ließen leider kein natives Drag and Drop zu. Unter WPF und den .NET-Programmiersprachen sieht das ganz anders aus. Dieser Artikel liefert Grundlagen zu Drag and Drop.

Unterdatenblätter in Formularen

Unterdatenblätter in Tabellen oder Abfragen kennen Sie sicherlich bereits. Das sind die Bereiche einer Datenblattansicht, die aufklappen, wenn Sie das Plus-Zeichen vor einem Datensatz anklicken. Wenn Sie eine Tabelle, für die eine solche Unterdatenblatt-Funktion eingerichtet ist, jedoch in der Datenblattansicht in einem Formular oder Unterformular anzeigen wollen, verschwinden die praktischen Plus-Zeichen und Sie schauen in die Röhre. Doch das ist nicht das Ende der Fahnenstange: Access sieht durchaus den Einsatz von Unterdatenblättern in Formularen vor – und damit lässt sich eine Menge anstellen!

EDM: Backend ändern

Unsere aktuellen Beispieldatenbanken haben ein WPF/C#-Frontend, ein SQLite-Backend und das Entity Data Model als Zwischenschicht. Was geschieht nun, wenn wir einmal die Datenbank ändern wollen – etwa, weil wir neue Tabellen oder neue Felder in bestehenden Tabellen benötigen? Wie ist die genaue Vorgehensweise, die auch berücksichtigt, dass der Benutzer eine neue Version installieren möchte, ohne die bereits im vorhandenen Backend gespeicherten Daten zu verlieren? Wie dies gelingt, zeigt der vorliegende Artikel.

EDM: SQLite aktuell halten

SQLite erscheint regelmäßig in neuen Versionen. Das betrifft sowohl die NuGet-Pakete als auch die Komponenten, die für die Arbeit in Visual Studio wichtig sind. Wenn Sie nicht beide auf dem gleichen Stand halten, sind Probleme vorprogrammiert. Dieser Artikel beschreibt, welche Schritte zu beachten sind.
LINQ to Entities ist die Abfragesprache für den Zugriff auf Daten in den Entitäten eines Entity Data Models. Im vorliegenden Artikel sehen wir uns einige Beispiele für den Zugriff per LINQ auf die Daten unserer Beispielanwendung »Bestellverwaltung« an. Dabei verwenden wir in diesem Artikel die Methoden-Syntax von LINQ.
1 von 21
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]