Exemplarische Vorgehensweise: Komplexe Datenbindung in Projekten auf Dokumentebene
Diese exemplarische Vorgehensweise veranschaulicht die Grundlagen der komplexen Datenbindung in einem Projekt auf Dokumentebene. In einem Microsoft Office Excel-Arbeitsblatt können mehrere Zellen an Felder der SQL Server-Datenbank Northwind gebunden werden.
Betrifft: Die Informationen in diesem Thema betreffen Projekte auf Dokumentebene für Excel 2007 und Excel 2010. Weitere Informationen finden Sie unter Verfügbare Funktionen nach Office-Anwendung und Projekttyp.
In dieser exemplarischen Vorgehensweise werden die folgenden Aufgaben veranschaulicht:
Hinzufügen einer Datenquelle zum Arbeitsmappenprojekt
Hinzufügen datengebundener Steuerelemente zu einem Arbeitsblatt
Speichern von Datenänderungen in der Datenbank
Tipp
Ihr Computer zeigt möglicherweise für einige der Elemente der Visual Studio-Benutzeroberfläche in der folgenden Anleitung andere Namen oder Standorte an. Diese Elemente sind von der jeweiligen Visual Studio-Version und den verwendeten Einstellungen abhängig. Weitere Informationen finden Sie unter Visual Studio-Einstellungen.
Vorbereitungsmaßnahmen
Zum Durchführen dieser exemplarischen Vorgehensweise benötigen Sie die folgenden Komponenten:
-
Eine Version von Visual Studio 2010, die die Microsoft Office-Entwicklungstools einschließt. Weitere Informationen finden Sie unter [Konfigurieren eines Computers zum Entwickeln von Office-Lösungen](bb398242\(v=vs.100\).md).
Excel 2007 oder Excel 2010
Zugriff auf einen Server mit der SQL Server-Beispieldatenbank Northwind.
Lese- und Schreibberechtigungen für die SQL Server-Datenbank.
Erstellen eines neuen Projekts
Zunächst müssen Sie ein Excel-Arbeitsmappenprojekt erstellen.
So erstellen Sie ein neues Projekt
Erstellen Sie ein Excel-Arbeitsmappenprojekt mit dem Namen My Complex Data Binding. Wählen Sie im Assistenten Neues Dokument erstellen aus.
Weitere Informationen hierzu finden Sie unter Gewusst wie: Erstellen von Office-Projekten in Visual Studio.
Visual Studio öffnet die neue Excel-Arbeitsmappe im Designer und fügt dem Projektmappen-Explorer das Projekt "My Complex Data Binding" hinzu.
Erstellen der Datenquelle
Verwenden Sie das Datenquellenfenster, um dem Projekt ein typisiertes Dataset hinzuzufügen.
So erstellen Sie die Datenquelle
Wenn das Fenster Datenquellen nicht sichtbar ist, klicken Sie im Menü Daten auf Datenquellen anzeigen.
Tipp
Wenn der Menüpunkt Datenquellen anzeigen nicht verfügbar ist, klicken Sie in die Excel-Arbeitsmappe, und versuchen Sie es dann erneut.
Klicken Sie auf Neue Datenquelle hinzufügen , um den Assistenten zum Konfigurieren von Datenquellen zu starten.
Wählen Sie Datenbank aus, und klicken Sie auf Weiter.
Wählen Sie eine Datenverbindung zur Northwind SQL Server-Beispieldatenbank aus, oder fügen Sie mithilfe der Schaltfläche Neue Verbindung eine neue Verbindung hinzu.
Klicken Sie nach dem Auswählen oder Erstellen einer Verbindung auf Weiter.
Deaktivieren Sie ggf. die Option zum Speichern der Verbindung, und klicken Sie dann auf Weiter.
Erweitern Sie im Fenster Datenbankobjekte den Knoten Tabellen.
Aktivieren Sie das Kontrollkästchen neben der Tabelle Employees.
Klicken Sie auf Fertig stellen.
Der Assistent fügt dem Datenquellen die Tabelle Employees hinzu. Dem Projekt wird außerdem ein typisiertes Dataset hinzugefügt, das im Projektmappen-Explorer sichtbar ist.
Hinzufügen von Steuerelementen zum Arbeitsblatt
Beim Öffnen einer Arbeitsmappe wird darin die Tabelle Employees angezeigt. Benutzer können auch die Daten ändern und anschließend die Änderungen durch Klicken auf eine Schaltfläche in der Datenbank speichern.
Soll die Arbeitsmappe automatisch an die Tabelle gebunden werden, kann der Arbeitsmappe im Fenster Datenquellen ein ListObject-Steuerelement hinzugefügt werden. Fügen Sie aus der Toolbox ein Button-Steuerelement hinzu, um dem Benutzer das Speichern von Änderungen zu ermöglichen.
So fügen Sie ein Listenobjekt hinzu
Stellen Sie sicher, dass die Arbeitsmappe My Complex Data Binding.xls in Visual Studio-Designer geöffnet ist und Sheet1 angezeigt wird.
Öffnen Sie das Fenster Datenquellen, und wählen Sie den Knoten Employees aus.
Klicken Sie auf den Dropdownpfeil, der angezeigt wird.
Wählen Sie in der Dropdownliste ListObject aus.
Ziehen Sie die Tabelle Employees zur Zelle A6.
Ein ListObject-Steuerelement mit Namen EmployeesListObject wird in der Zelle A6 erstellt. Gleichzeitig werden dem Projekt eine BindingSource mit Namen EmployeesBindingSource, ein Tabellenadapter und eine DataSet-Instanz hinzugefügt. Das Steuerelement ist an die BindingSource gebunden, die wiederum an die DataSet-Instanz gebunden ist.
So fügen Sie eine Schaltfläche hinzu
- Klicken Sie in der Toolbox auf die Registerkarte Allgemeine Steuerelemente, und fügen Sie von dort aus der Zelle A4 des Arbeitsblatts ein Button-Steuerelement hinzu.
Der nächste Schritt besteht darin, der Schaltfläche Text hinzuzufügen, wenn das Arbeitsblatt geöffnet wird.
Initialisieren des Steuerelements
Fügen Sie der Schaltfläche den Text im Startup-Ereignishandler hinzu.
So initialisieren Sie das Steuerelement
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Sheet1.vb oder Sheet1.cs, und klicken Sie dann im Kontextmenü auf Code anzeigen.
Fügen Sie der Sheet1_Startup-Methode den folgenden Code hinzu, um den Text für button festzulegen.
Me.Button1.Text = "Save"
this.button1.Text = "Save";
Nur in C#: Fügen Sie einen Ereignishandler für das Click-Ereignis zur Sheet1_Startup-Methode hinzu.
this.button1.Click += new EventHandler(button1_Click);
Fügen Sie nun Code hinzu, um das Click-Ereignis der Schaltfläche zu behandeln.
Speichern von Änderungen in der Datenbank
Alle vorgenommenen Datenänderungen sind nur im lokalen Dataset vorhanden, solange sie nicht explizit in der Datenbank gespeichert werden.
So speichern Sie Änderungen in der Datenbank
Fügen Sie für das Click-Ereignis von button einen Ereignishandler hinzu. Um alle am Dataset vorgenommenen Änderungen in die Datenbank zu übernehmen, fügen Sie folgenden Code hinzu.
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Button1.Click Try Me.EmployeesTableAdapter.Update(Me.NorthwindDataSet.Employees) Catch ex As System.Data.DataException MessageBox.Show(ex.Message) End Try End Sub
private void button1_Click(object sender, EventArgs e) { try { this.employeesTableAdapter.Update(this.northwindDataSet.Employees); } catch (System.Data.DataException ex) { MessageBox.Show(ex.Message); } }
Testen der Anwendung
Sie können die Arbeitsmappe jetzt testen, um zu überprüfen, ob die Daten wie erwartet angezeigt werden und Sie die Daten im Listenobjekt bearbeiten können.
So testen Sie die Datenbindung
Drücken Sie F5.
Stellen Sie sicher, dass das Listenobjekt beim Öffnen der Arbeitsmappe mit Daten aus der Tabelle Employees gefüllt wird.
So ändern Sie Daten
Klicken Sie auf die Zelle B7, die den Namen Davolio enthalten sollte.
Geben Sie den Namen Anderson ein, und drücken Sie die EINGABETASTE.
So ändern Sie einen Spaltenheader
Klicken Sie auf die Zelle, die den Spaltenheader LastName enthält.
Geben Sie "Last Name" mit einem Leerzeichen zwischen den beiden Wörtern ein, und drücken Sie die EINGABETASTE.
So speichern Sie Daten
Klicken Sie im Arbeitsblatt auf Speichern.
Beenden Sie Excel. Klicken Sie auf Nein, wenn Sie zum Speichern der vorgenommenen Änderungen aufgefordert werden.
Drücken Sie F5, um das Projekt erneut auszuführen.
Das Listenobjekt wird mit Daten aus der Tabelle Employees aufgefüllt.
Beachten Sie, dass in Zelle B7 immer noch der Name "Anderson" steht. Dabei handelt es sich um die Datenänderung, die Sie vorgenommen haben und die jetzt in der Datenbank gespeichert ist. Der Spaltenheader LastName hat wieder seine ursprüngliche Schreibweise ohne Leerzeichen angenommen, weil der Spaltenheader nicht an die Datenbank gebunden ist, und Sie die im Arbeitsblatt vorgenommenen Änderungen nicht abgespeichert haben.
So fügen Sie neue Zeilen hinzu
Wählen Sie im Listenobjekt eine Zelle aus.
Am unteren Rand der Liste wird eine neue Reihe mit einem Sternchen (*) in der ersten Zelle angezeigt.
Fügen Sie der leeren Zeile folgende Informationen hinzu:
EmployeeID
LastName
FirstName
Titel
10
Ito
Shu
Sales Manager
So löschen Sie Zeilen
- Klicken Sie mit der rechten Maustaste ganz links auf der Arbeitsmappe auf die Nummer 16 (Zeile 16), und klicken Sie anschließend auf Löschen.
So sortieren Sie die Zeilen in der Liste
Wählen Sie in der Liste eine Zelle aus.
Pfeilschaltflächen werden in den einzelnen Spaltenheadern angezeigt.
Klicken Sie im Spaltenheader Last Name auf die Pfeilschaltfläche.
Klicken Sie auf Aufsteigend sortieren.
Die Zeilen werden alphabetisch nach Nachnamen sortiert.
So filtern Sie Informationen
Wählen Sie in der Liste eine Zelle aus.
Klicken Sie im Spaltenheader Title auf die Pfeilschaltfläche.
Klicken Sie auf Sales Representative.
Die Liste zeigt nur die Zeilen an, bei denen in der Spalte Title der Eintrag Sales Representative steht.
Klicken Sie im Spaltenheader Title erneut auf die Pfeilschaltfläche.
Klicken Sie auf (All).
Der Filter wird entfernt, und es werden alle Zeilen angezeigt.
Nächste Schritte
In dieser exemplarischen Vorgehensweise werden die Grundlagen für das Binden einer Tabelle in einer Datenbank an ein Listenobjekt veranschaulicht. Die folgenden Aufgaben könnten sich daran anschließen:
Zwischenspeichern der Daten, damit diese offline verwendet werden können. Weitere Informationen finden Sie unter Gewusst wie: Zwischenspeichern von Daten zur Offlineverwendung oder zur Verwendung auf einem Server.
Bereitstellen der Projektmappe. Weitere Informationen finden Sie unter Bereitstellen von Office-Projektmappen.
Erstellen einer Master/Detail-Beziehung zwischen einem Feld und einer Tabelle. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Erstellen einer Master/Detail-Beziehung mithilfe eines zwischengespeicherten Datasets.
Siehe auch
Aufgaben
Exemplarische Vorgehensweise: Einfache Datenbindung in Projekten auf Dokumentebene