Van Access naar DOT.NET

11
Van Access naar DOT.NET Ynte Jan Kuindersma, BIRD Automation Nationale Officedag 2009 EDE, 14 Oktober 2009

description

Van Access naar DOT.NET. Ynte Jan Kuindersma, BIRD Automation Nationale Officedag 2009 EDE, 14 Oktober 2009. Dit gaan we maken. DOT.NET. Disconnected data Gegevens en Programma zijn strikt gescheiden Tabellen en queries beheren in Access/SQL server Formulieren zijn Winforms - PowerPoint PPT Presentation

Transcript of Van Access naar DOT.NET

Page 1: Van Access naar DOT.NET

Van Access naar DOT.NET

Ynte Jan Kuindersma,BIRD Automation

Nationale Officedag 2009EDE, 14 Oktober 2009

Page 2: Van Access naar DOT.NET

Dit gaan we maken

Page 3: Van Access naar DOT.NET

DOT.NET

Disconnected data Gegevens en Programma zijn strikt

gescheidenTabellen en queries beheren in Access/SQL

serverFormulieren zijn WinformsRapporten zijn Reporting Tool reports (RDLC)

Echte Windowstoepassing (EXE)

Page 4: Van Access naar DOT.NET

Dataset

Representatie van de databasestructuur, zonder data = tabellen en hun relaties

Bevat tabeladapters die op aanvraag de toegang tot de database regelen en de gegevens echt ophalen

Tabeladapter bevat SQL en de eventuele parameters

Page 5: Van Access naar DOT.NET

Dataset

Page 6: Van Access naar DOT.NET

Formulier met Klanten

Voeg nieuw Windowsform toe en sleep tabel customers uit dataset (Datasources) naar pagina als Details

5 objecten op pagina: Tableadaptermanager, Tableadapter, Dataset, Bindingsource en Navigator

Achter de schermen wordt code gemaakt om tableadapter de dataset te laten vullen

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Me.CustomersTableAdapter.Fill(Me.NorthwindDataSet.Customers)End Sub

Page 7: Van Access naar DOT.NET

Orders per klant in een gridview Sleep Orders naar Pagina als DataGridView

Gemakkelijkst is de gekoppelde orders slepen dan gaat koppeling hoofd-subformulier automatisch goed

Als je wilt coderen, sleep dan de niet gekoppelde tabel orders naar het formulier

Kleuren even rijen in DataGridView via DataGridViewCellStyle Verander kolom ProductID van textbox naar Combobox en edit

databinding. Voeg eventueel code toe aan bindingsource (alleen nodig als je

hierboven de niet gekoppelde tabel hebt gesleept)Private Sub CustomersBindingSource_CurrentItemChanged(ByVal sender

As Object, ByVal e As System.EventArgs) Handles CustomersBindingSource.CurrentItemChanged

Dim taOrders As New NorthwindDataSetTableAdapters.OrdersTableAdapter

Dim dtOrder As NorthwindDataSet.OrdersDataTable = taOrders.GetDataBy(Me.CustomerIDTextBox.Text)

Me.OrdersDataGridView.DataSource = dtOrderEnd Sub

Page 8: Van Access naar DOT.NET

Rapport maken

Voeg rapport toe Voeg Report-tabel toe Sleep velden uit dataset naar rijen Voeg Parameter ORDERID toe aan rapport

(integer) Voeg aan tabel filter toe (=Fields!

OrderID.Value=Parameters!ORDERID.Value)

Page 9: Van Access naar DOT.NET

Rapport op Pagina

Reportviewer control Report kiezen als reportsource Code toevoegen aan DataGridView Private Sub OrdersDataGridView_RowLeave(ByVal sender As

System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles OrdersDataGridView.RowLeave

Dim params(0) As Microsoft.Reporting.WinForms.ReportParameter

params(0) = New Microsoft.Reporting.WinForms.ReportParameter("ORDERID", Me.OrdersDataGridView.CurrentRow.Cells(0).Value.ToString)

ReportViewer1.LocalReport.SetParameters(params) Me.ReportViewer1.RefreshReport()End Sub

Page 10: Van Access naar DOT.NET

Hyperlinks

Visual Basic Express editiehttp://www.microsoft.com/express/download Inclusief SQL-server express

Visual Basic Express editiehttp://www.microsoft.com/express/download Inclusief SQL-server express

Visual Basic Home (Learn/downloads)http://msdn.microsoft.com/en-us/vbasic/defaul

t.aspx

Page 11: Van Access naar DOT.NET

Public Class Form1 Private Sub CustomersBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

CustomersBindingNavigatorSaveItem.Click Me.Validate() Me.CustomersBindingSource.EndEdit() Me.TableAdapterManager.UpdateAll(Me.NorthwindDataSet) End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.dsFacturenTableAdapter.Fill(Me.NorthwindDataSet.dsFacturen) Me.EmployeesTableAdapter.Fill(Me.NorthwindDataSet.Employees) Me.OrdersTableAdapter.Fill(Me.NorthwindDataSet.Orders) Me.CustomersTableAdapter.Fill(Me.NorthwindDataSet.Customers) Me.ReportViewer1.RefreshReport() End Sub Sub updatelijst() Dim taOrders As New NorthwindDataSetTableAdapters.OrdersTableAdapter Dim dtOrder As NorthwindDataSet.OrdersDataTable = taOrders.GetDataBy(Me.CustomerIDTextBox.Text) Me.OrdersDataGridView.DataSource = dtOrder End Sub Private Sub CustomersBindingSource_CurrentItemChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles

CustomersBindingSource.CurrentItemChanged Call updatelijst() End Sub Private Sub Form1_Shown(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Shown Call updatelijst() End Sub

Private Sub OrdersDataGridView_RowLeave(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles OrdersDataGridView.RowLeave

Dim params(0) As Microsoft.Reporting.WinForms.ReportParameter params(0) = New Microsoft.Reporting.WinForms.ReportParameter("ORDERID",

Me.OrdersDataGridView.CurrentRow.Cells(0).Value.ToString) ReportViewer1.LocalReport.SetParameters(params) Me.ReportViewer1.RefreshReport() End SubEnd Class