EDN Admin
Well-known member
DETAILGEGEVENS
Public Class frmDetailsEvenementen
declareren van de publieke variabelen
Public dsevenementen As DataSet
Public daevenemeten As OleDb.OleDbDataAdapter
Public conn As OleDb.OleDbConnection
Public index As Integer
Public eMOEv As Boolean
Public Evteller As Integer
Public ValidatieTel As Short
declareren van de velden apprt omdat het overzichtsfromulier anders een private-fout geeft
Public EvenementenEvNr As String
Public EvenementenNaam As String
Public EvenementenBeschrijving As String
Public EvenmentenStartdag As String
Public EvenmentenEinddag As String
Public EvementenSucces As String
Public EvementenOpmerkingen As String
Private Sub frmDetailsEvenementen_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
de index gelijk aan 0 zetten
index = 0
een iffunctie waaardoor het programma weet vanwaaruit de bedoeling is.
als de teller 1 is dus het formulier wordt gewijzigd
If Evteller = 1 Then
de terug en vooruit knop verbergen
btnTerug.Hide()
btnVooruit.Hide()
de ok en anuleren knop tonen
btnOk.Show()
btnAnnuleren.Show()
de functie gebruiken om de gegevens in het formulier te laden
VulVanOverzicht()
als de teller 2 is dus er wordt een nieuw formulier aangemaakt
ElseIf Evteller = 2 Then
de terug en vooruit knop verbergen
btnTerug.Hide()
btnVooruit.Hide()
de ok en anululeren knop tonen
btnOk.Show()
btnAnnuleren.Show()
als dit geen van beiden is dus nog steeds 0 dan wordt het detailformulier direct opgevraagt
Else
de knop terug en vooruit tonen
btnTerug.Show()
btnVooruit.Show()
de knop ok en annuleren verbergen
btnOk.Hide()
btnAnnuleren.Hide()
alle gegevens oproepen zodaning de gebruiker alles kan overlopen
LaadGegevensOp()
End If
End Sub
Private Sub LaadGegevensOp()
variablen zette
dsevenementen = New DataSet
daevenemeten = New OleDb.OleDbDataAdapter
conn = New OleDb.OleDbConnection
Dim sql As String
gebruik de connectionstring uit de wizard; vppr ons eigen connection object
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|GipDataBaseJohnnie(1)(1).mdb"
maak de sql opdracht aan
sql = "Select * From Evenementen"
koppel de sql opdracht aan de data adaptor
daevenemeten.SelectCommand = New OleDb.OleDbCommand(sql)
koppel de databank verbinding met de data adaptor
daevenemeten.SelectCommand.Connection = conn
daevenemeten.Fill(dsevenementen)
tel de lijnen van de table van de dataste op, als er rijen gevonden zijn vul je de geg, in
If dsevenementen.Tables(0).Rows.Count > 0 Then
vulveldenop()
Else
MsgBox("ErrorToString")
End If
End Sub
Private Sub vulveldenop()
vul de velden op aan de hand van de geslecteerde rij
txtEvNr.Text = dsevenementen.Tables(0).Rows(index).Item("EvNummer").ToString
txtNaam.Text = dsevenementen.Tables(0).Rows(index).Item("EvNaam").ToString
txtBeschrijving.Text = dsevenementen.Tables(0).Rows(index).Item("EvBeschrijving").ToString
dtpStartdag.Text = dsevenementen.Tables(0).Rows(index).Item("EvStartdag").ToString
dtpEinddag.Text = dsevenementen.Tables(0).Rows(index).Item("EvEindag").ToString
ckbSucces.Checked = dsevenementen.Tables(0).Rows(index).Item("EvSucces")
txtOpmerkingen.Text = dsevenementen.Tables(0).Rows(index).Item("EvOpmerkingen").ToString
End Sub
Private Sub btnVooruit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVooruit.Click
Enkel verdergaan met het opladen van de gegevens als er een volgende record bestaat
If index < dsevenementen.Tables(0).Rows.Count - 1 Then
de index plus 1 doen om aan te geven dat je op de volgende record komt
index = index + 1
de gegevens naar het detailformulier laden
LaadGegevensOp()
Else
als er geen volgende record en dus geen volgende gegevens bestaan weergeven aan de gebruiker dat het einde van de tabel is
MsgBox("Einde tabel!", MsgBoxStyle.Critical, "Einde")
End If
End Sub
Private Sub btnTerug_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTerug.Click
Enkel teruggaan met het opladen van de gegevens als er een vorige record bestaat
If index > 0 Then
de index min 1 doen om aan te geven dat je op de vorige record komt
index = index - 1
de gegevens naar het detailformulier laden
LaadGegevensOp()
Else
als er geen volgende record en dus geen volgende gegevens bestaan weergeven aan de gebruiker dat het einde van de tabel is
MsgBox("Begin tabel!", MsgBoxStyle.Critical, "Einde")
End If
End Sub
Private Sub btnOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOk.Click
alvborens de gegevens op te slaan de validatie functie uitvoeren
If eMOEv = False Then
als er een fout is in de validatie is de variabele 1
If ValidatieTel = 1 Then
terugaan naar het formulier
Return
Else
anders aalles in de tabel adapter steken om naar de tabel te plaatsten
EvenementenTableAdapter.Insert(txtNaam.Text, dtpStartdag.Value, dtpEinddag.Value, txtBeschrijving.Text, ckbSucces.Checked, txtOpmerkingen.Text)
het overzicht formulier opvullen
frmOverzichtEvenementen.EvenementenTableAdapter.Fill(frmOverzichtEvenementen._GipDataBaseJohnnie_1__1_DataSet.Evenementen)
het detail formulier afsluiten
Dispose()
End If
Else
wnr je een product wijzigt
declareer de variabelen
Dim ds As New DataSet
Dim da As New OleDb.OleDbDataAdapter
Dim sql As String
Dim conn As New OleDb.OleDbConnection
haal de connectie string op
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|GipDataBaseJohnnie(1)(1).mdb"
controleren of de verbinding dicht of open is
als deze dicht is moet deze geopend worden
If conn.State = ConnectionState.Closed Then
de connectie openen
conn.Open()
End If
de functie oproepen voor het teruggeven van het nummer
HetLevNummerTeruggeven()
het sql commando oppbouwen aan de hand van de volgende code
sql = "Update Evenementen Set " & _
"EvNaam = " & txtNaam.Text & " , " & _
"EvStartdag = " & dtpStartdag.Value.Date & " , " & _
"EvEindag = " & dtpEinddag.Value.Date & " , " & _
"EvBeschrijving = " & txtBeschrijving.Text & " , " & _
"EvSucces = " & ckbSucces.Checked & " , " & _
"EvOpmerkingen = " & txtOpmerkingen.Text & ""
"Where BestNr = " & txtBestNr.Text
de updateopdracht aan de hand van het nummer aanmaken met de table adaptor
deze het het bovenstaande sql commando weergeven
da.UpdateCommand = New OleDb.OleDbCommand(sql)
de connectie instellen die de tableadaptor moet gebruiken voor het verbinden van de database
da.UpdateCommand.Connection = conn
voer de query uit
da.UpdateCommand.ExecuteNonQuery()
de verbinding met de database terug sluiten
conn.Close()
de ververs functie oproepen voor het verversen van de gegevens
frmOverzichtEvenementen.verversgegevens()
Het formulier afsluiten
Dispose()
End If
End Sub
Private Sub btnAnnuleren_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAnnuleren.Click
bij annuleren het venster laten verdwijnen en de variabelen automatisch leegmaken
Me.Dispose()
End Sub
Private Sub VulVanOverzicht()
de velden opvullen aan de hand van de globale variabelen
txtEvNr.Text = EvenementenEvNr
txtNaam.Text = EvenementenNaam
txtBeschrijving.Text = EvenementenBeschrijving
dtpStartdag.Value = EvenmentenStartdag
dtpEinddag.Value = EvenmentenEinddag
ckbSucces.Checked = EvementenSucces
txtOpmerkingen.Text = EvementenOpmerkingen
End Sub
Private Sub Validatie()
een validatie tekst declareren
Dim vdtxt As String
de tekstvelden trimmen om te onderzoeken op foutieve of lege ingave
Trim(txtEvNr.Text)
Trim(txtNaam.Text)
Trim(txtBeschrijving.Text)
Trim(dtpStartdag.Value)
Trim(dtpEinddag.Value)
Trim(ckbSucces.Text)
Trim(txtOpmerkingen.Text)
de validatietekst een vaste waarde toekennnen
als de er iets fout is in de validatie zal dit worden teruggegeven aan de gebruiker
vdtxt = "Gelieve de volgende velden te corrigeren: " & vbNewLine
hieronder daarvoor alle nodige iflussen (kan worden uitgebreid)
If IsNumeric(txtNaam.Text) Then
de fout van de toevoegen aan het fouten venster
vdtxt = vdtxt & "Naam"
een nieuwe lijn beginnen in de fouten lijn
vdtxt = vdtxt & vbNewLine
de variabele de waarde 1 toekennen zodanig deze een fout kan geven bij het uitvoeren
ValidatieTel = 1
End If
als het tekstveld na het trimmen (het verwijderen van alle spaties) deze fout
If txtNaam.Text.Length = 0 Then
de fout van de toevoegen aan het fouten venster
vdtxt = vdtxt & "Naam"
een nieuwe lijn beginnen in de fouten lijn
vdtxt = vdtxt & vbNewLine
de variabele de waarde 1 toekennen zodanig deze een fout kan geven bij het uitvoeren
ValidatieTel = 1
End If
als het tekstveld na het trimmen (het verwijderen van alle spaties) deze fout
If dtpStartdag.Text.Length = 0 Then
de fout van de toevoegen aan het fouten venster
vdtxt = vdtxt & "Startdag"
een nieuwe lijn beginnen in de fouten lijn
vdtxt = vdtxt & vbNewLine
de variabele de waarde 1 toekennen zodanig deze een fout kan geven bij het uitvoeren
ValidatieTel = 1
End If
als het tekstveld na het trimmen (het verwijderen van alle spaties) deze fout
If dtpEinddag.Text.Length = 0 Then
de fout van de toevoegen aan het fouten venster
vdtxt = vdtxt & "Einddag"
een nieuwe lijn beginnen in de fouten lijn
vdtxt = vdtxt & vbNewLine
de variabele de waarde 1 toekennen zodanig deze een fout kan geven bij het uitvoeren
ValidatieTel = 1
End If
de fout tonen aan de gebruiker
If ValidatieTel = 1 Then
MsgBox(vdtxt, MsgBoxStyle.Critical, "Fout!")
End If
End Sub
End Class
EEN TABEL
Public Class frmOverzichtEvenementen
Private Sub frmOverzichtsEvenementen_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
verversgegevens()
End Sub
Private Sub frmEvenementen_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
de functie oproepen op degegevens op te laden bij het laden van dit formulier
HaalGegevensOp()
End Sub
Public Sub HaalGegevensOp()
declareren van de varriablen
de dataset en de data adapter declareren
Dim ds As New DataSet
Dim da As OleDb.OleDbDataAdapter
het sql commando declareren
Dim sql As String
het sql commando een waarde geven
sql = "Select * From Evenementen"
het doorgeven van de commando aan de data adapter
da = New OleDb.OleDbDataAdapter(sql, Me.EvenementenTableAdapter.Connection.ConnectionString)
da.Fill(ds, "Evenementen")
EvenementenDataGridView.DataSource = ds.Tables(0)
EvenementenDataGridView.Refresh()
End Sub
Private Sub btnNieuw_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNieuw.Click
declareren van de variabelen
Dim frm As frmDetailsEvenementen
deze variabelen een waarde geven (het formulier zelf)
frm = New frmDetailsEvenementen
de editmode op false zetten
frm.eMOEv = False
de globale variabele toekennnen (hierdoor wordt het detailformulier beïnvloed)
frm.Evteller = 2
het detailformulier tonen aan de gebruiker
frm.ShowDialog(Me)
End Sub
Public Sub btnWijzigen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnWijzigen.Click
Dim frm As frmDetailsEvenementen
frm = New frmDetailsEvenementen
Dim teller As Integer
teller = Me.EvenementenDataGridView.CurrentRow.Index
frm.Evteller = 1
frm.eMOEv = True
frm.EvenementenEvNr = Me.EvenementenDataGridView.Item(0, teller).Value
frm.EvenementenNaam = Me.EvenementenDataGridView.Item(1, teller).Value
frm.EvenmentenStartdag = Me.EvenementenDataGridView.Item(2, teller).Value
frm.EvenmentenEinddag = Me.EvenementenDataGridView.Item(3, teller).Value
frm.EvenementenBeschrijving = Me.EvenementenDataGridView.Item(4, teller).Value
frm.EvementenSucces = Me.EvenementenDataGridView.Item(5, teller).Value
frm.EvementenOpmerkingen = Me.EvenementenDataGridView.Item(6, teller).Value
frm.ShowDialog(Me)
chronologische comentaar
Het declareren van de variabelen
deze variabelen een waarde geven (het formulier zelf)
een teller declareren
de globale variabele toekennnen (hierdoor wordt het detailformulier beïnvloed)
de teller de waarde toeknennen van de geselecteerde rij
De editmode op true zetten
de waarden in de bijhorende velden opvullen
het detailformulier tonen aan de gebruiker
End Sub
Public Sub verversgegevens()
een functie voor het verversen van de gegevens
eerst de tabeladapter opvullen met de nodige gegevens
Me.EvenementenTableAdapter.Fill(Me._GipDataBaseJohnnie_1__1_DataSet.Evenementen)
de datagrid refreshen
Me.EvenementenDataGridView.Refresh()
omdat bovenstaande code niet 100% correct werkt
HaalGegevensOp()
End Sub
Private Sub btnVerwijderen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVerwijderen.Click
Dim result As DialogResult
ervoor zetten omdat dit anders voor problemen met het eerste nummer in de gegevens
Dim teller As Integer
het nummer zoeken van de geselcteerde rij
teller = EvenementenDataGridView.CurrentRow.Index
result = MsgBox("Bent u zeker dat u wilt verwijderen?", MsgBoxStyle.YesNo, "Waarschuwing")
If result = DialogResult.Yes Then
zoeken naar gerelateerde records waardoor je niet mag verwijderen
Declareer de variabelen die we gaan gebruiken voor het ophalen van de klantEvenementgegevens
Dim ds As New DataSet
Dim dt As DataTable
Dim da As OleDb.OleDbDataAdapter
Dim sql As String
Dim geralteerdegeg As Boolean
initialiseer de check en zet de waarde op onwaar
geralteerdegeg = False
Maak de sql statement aan
sql = "Select * From Klanten Where KlaNummer = " & EvenementenDataGridView.Item(0, teller).Value
Maak de verbinding me de database en geef de sql opdracht mee
da = New OleDb.OleDbDataAdapter(sql, EvenementenTableAdapter.Connection.ConnectionString)
Vul de dataset met de gegevens uit de databank die overeenkomen met de sql opdracht
da.Fill(ds, "Klanten")
De datatabel gelijkstellen aan de tabel klantEvenement uit de dataset
dt = ds.Tables(0)
Als de datatable records bevat, dan is de klant voor dat evenement al ingeschreven
If dt.Rows.Count > 0 Then
Zet de check hier op true
geralteerdegeg = True
End If
If geralteerdegeg = False Then
Verwijder de geselecteerde record
EvenementenTableAdapter.Delete(EvenementenDataGridView.Item(0, teller).Value, EvenementenDataGridView.Item(1, teller).Value, EvenementenDataGridView.Item(2, teller).Value, EvenementenDataGridView.Item(3, teller).Value, EvenementenDataGridView.Item(5, teller).Value)
gegevense verversen in de tabel
EvenementenTableAdapter.Fill(_GipDataBaseJohnnie_1__1_DataSet.Evenementen)
EvenementenDataGridView.Refresh()
Else
MsgBox("Je mag dit niet verwijderen omdat er nog gerelateerde gegevens gelinkt zijn aan deze gegevens die u wilt verwijderen", MsgBoxStyle.Information, "Info")
End If
verversgegevens()
vbT()
End If
End Sub
End Class
EEN-OP-Veel
Public Class frmOverzichtsLeveranciersKosten
Private Sub frmOverzichtsKosten_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
HaalGegevensOp()
End Sub
Private Sub frmOverzichtsKosten_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
de functie oproepen op degegevens op te laden bij het laden van dit formulier
HaalGegevensOp()
End Sub
Private Sub btnWijzigen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnWijzigen.Click
Dim frm As frmDetailsKosten
frm = New frmDetailsKosten
Dim teller As Integer
frm.vulLevLijst()
teller = Me.QREovKostLevDataGridView.CurrentRow.Index
frm.Kostteller = 1
frm.eMOKost = True
frm.KostenKostNummer = Me.QREovKostLevDataGridView.Item(0, teller).Value.ToString
frm.Kostennaam = Me.QREovKostLevDataGridView.Item(1, teller).Value.ToString
frm.KostenPlaats = Me.QREovKostLevDataGridView.Item(2, teller).Value.ToString
frm.KostenTotBedrag = Me.QREovKostLevDataGridView.Item(3, teller).Value.ToString
frm.KostenBedrag = Me.QREovKostLevDataGridView.Item(4, teller).Value.ToString
frm.KostenBtwPercentage = Me.QREovKostLevDataGridView.Item(5, teller).Value.ToString
frm.KostenDatum = Me.QREovKostLevDataGridView.Item(6, teller).Value.ToString
frm.KostenOpmerkingen = Me.QREovKostLevDataGridView.Item(7, teller).Value.ToString
cmb opvullen
frm.leveranciernaam = Me.QREovKostLevDataGridView.Item(10, teller).Value.ToString
frm.ShowDialog(Me)
chronologische comentaar
Het declareren van de variabelen
deze variabelen een waarde geven (het formulier zelf)
een teller declareren
de globale variabele toekennnen (hierdoor wordt het detailformulier beïnvloed)
de teller de waarde toeknennen van de geselecteerde rij
De editmode op true zetten
de waarden in de bijhorende velden opvullen
het detailformulier tonen aan de gebruiker
End Sub
Private Sub HaalGegevensOp()
declareren van de varriablen
de dataset en de data adapter declareren
Dim ds As New DataSet
Dim da As OleDb.OleDbDataAdapter
het sql commando declareren
Dim sql As String
het sql commando een waarde geven
sql = "Select * From QREovKostLev"
het doorgeven van de commando aan de data adapter
da = New OleDb.OleDbDataAdapter(sql, Me.QREovKostLevTableAdapter.Connection.ConnectionString)
da.Fill(ds, "QREovKostLev")
QREovKostLevDataGridView.DataSource = ds.Tables(0)
QREovKostLevDataGridView.Refresh()
End Sub
Private Sub btnNieuw_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNieuw.Click
declareren van de variabelen
Dim frm As frmDetailsKosten
deze variabelen een waarde geven (het formulier zelf)
frm = New frmDetailsKosten
de editmode op false zetten
frm.eMOKost = False
de globale variabele toekennnen (hierdoor wordt het detailformulier beïnvloed)
frm.Kostteller = 2
het detailformulier tonen aan de gebruiker
frm.ShowDialog(Me)
End Sub
Public Sub verversgegevens()
een functie voor het verversen van de gegevens
eerst de tabeladapter opvullen met de nodige gegevens
Me.QREovKostLevTableAdapter.Fill(Me._GipDataBaseJohnnie_1__1_DataSet.QREovKostLev)
de datagrid refreshen
Me.QREovKostLevDataGridView.Refresh()
End Sub
Private Sub btnVerwijderen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVerwijderen.Click
i als een variabele
Dim i As Integer
Haal het nummer van de gesleecteerde record op
i = Me.QREovKostLevDataGridView.CurrentRow.Index
ervoor zetten omdat dit anders voor problemen met het eerste nummer in de gegevens
Dim teller As Integer
het nummer zoeken van de geselcteerde rij
teller = QREovKostLevDataGridView.Item(0, i).Value
Maak de variabelen aan voor de verbinding met de database
Dim ds As New DataSet
Dim da As New OleDb.OleDbDataAdapter
Dim conn As New OleDb.OleDbConnection
Haal de connectionstring op en ken die toe aan het conn object
conn.ConnectionString = Me.QREovKostLevTableAdapter.Connection.ConnectionString
Als de verbinding gesloten is
If conn.State = ConnectionState.Closed Then
Open de verbinding
conn.Open()
End If
Dim i As Integer
Haal het nummer van de gesleecteerde record op
i = Me.QREovATECEvDataGridView.CurrentRow.Index
Dim LevNr As Integer
LevNr = QREovKostLevDataGridView.Item(8, i).Value
Dim sql As String
sql = "Delete from Kosten where KostNummer = " & teller & " And KostLevNummer = " & LevNr
Maak de delete commando aan
da.DeleteCommand = New OleDb.OleDbCommand(sql)
Voeg daar de connectie aan mee
da.DeleteCommand.Connection = conn
Voer de deletequery uit
da.DeleteCommand.ExecuteNonQuery()
We sluiten de connectie naar de database
conn.Close()
Laad alle deelnemers van het evenement opnieuw op
verversgegevens()
End Sub
End Class
View the full article
Public Class frmDetailsEvenementen
declareren van de publieke variabelen
Public dsevenementen As DataSet
Public daevenemeten As OleDb.OleDbDataAdapter
Public conn As OleDb.OleDbConnection
Public index As Integer
Public eMOEv As Boolean
Public Evteller As Integer
Public ValidatieTel As Short
declareren van de velden apprt omdat het overzichtsfromulier anders een private-fout geeft
Public EvenementenEvNr As String
Public EvenementenNaam As String
Public EvenementenBeschrijving As String
Public EvenmentenStartdag As String
Public EvenmentenEinddag As String
Public EvementenSucces As String
Public EvementenOpmerkingen As String
Private Sub frmDetailsEvenementen_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
de index gelijk aan 0 zetten
index = 0
een iffunctie waaardoor het programma weet vanwaaruit de bedoeling is.
als de teller 1 is dus het formulier wordt gewijzigd
If Evteller = 1 Then
de terug en vooruit knop verbergen
btnTerug.Hide()
btnVooruit.Hide()
de ok en anuleren knop tonen
btnOk.Show()
btnAnnuleren.Show()
de functie gebruiken om de gegevens in het formulier te laden
VulVanOverzicht()
als de teller 2 is dus er wordt een nieuw formulier aangemaakt
ElseIf Evteller = 2 Then
de terug en vooruit knop verbergen
btnTerug.Hide()
btnVooruit.Hide()
de ok en anululeren knop tonen
btnOk.Show()
btnAnnuleren.Show()
als dit geen van beiden is dus nog steeds 0 dan wordt het detailformulier direct opgevraagt
Else
de knop terug en vooruit tonen
btnTerug.Show()
btnVooruit.Show()
de knop ok en annuleren verbergen
btnOk.Hide()
btnAnnuleren.Hide()
alle gegevens oproepen zodaning de gebruiker alles kan overlopen
LaadGegevensOp()
End If
End Sub
Private Sub LaadGegevensOp()
variablen zette
dsevenementen = New DataSet
daevenemeten = New OleDb.OleDbDataAdapter
conn = New OleDb.OleDbConnection
Dim sql As String
gebruik de connectionstring uit de wizard; vppr ons eigen connection object
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|GipDataBaseJohnnie(1)(1).mdb"
maak de sql opdracht aan
sql = "Select * From Evenementen"
koppel de sql opdracht aan de data adaptor
daevenemeten.SelectCommand = New OleDb.OleDbCommand(sql)
koppel de databank verbinding met de data adaptor
daevenemeten.SelectCommand.Connection = conn
daevenemeten.Fill(dsevenementen)
tel de lijnen van de table van de dataste op, als er rijen gevonden zijn vul je de geg, in
If dsevenementen.Tables(0).Rows.Count > 0 Then
vulveldenop()
Else
MsgBox("ErrorToString")
End If
End Sub
Private Sub vulveldenop()
vul de velden op aan de hand van de geslecteerde rij
txtEvNr.Text = dsevenementen.Tables(0).Rows(index).Item("EvNummer").ToString
txtNaam.Text = dsevenementen.Tables(0).Rows(index).Item("EvNaam").ToString
txtBeschrijving.Text = dsevenementen.Tables(0).Rows(index).Item("EvBeschrijving").ToString
dtpStartdag.Text = dsevenementen.Tables(0).Rows(index).Item("EvStartdag").ToString
dtpEinddag.Text = dsevenementen.Tables(0).Rows(index).Item("EvEindag").ToString
ckbSucces.Checked = dsevenementen.Tables(0).Rows(index).Item("EvSucces")
txtOpmerkingen.Text = dsevenementen.Tables(0).Rows(index).Item("EvOpmerkingen").ToString
End Sub
Private Sub btnVooruit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVooruit.Click
Enkel verdergaan met het opladen van de gegevens als er een volgende record bestaat
If index < dsevenementen.Tables(0).Rows.Count - 1 Then
de index plus 1 doen om aan te geven dat je op de volgende record komt
index = index + 1
de gegevens naar het detailformulier laden
LaadGegevensOp()
Else
als er geen volgende record en dus geen volgende gegevens bestaan weergeven aan de gebruiker dat het einde van de tabel is
MsgBox("Einde tabel!", MsgBoxStyle.Critical, "Einde")
End If
End Sub
Private Sub btnTerug_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTerug.Click
Enkel teruggaan met het opladen van de gegevens als er een vorige record bestaat
If index > 0 Then
de index min 1 doen om aan te geven dat je op de vorige record komt
index = index - 1
de gegevens naar het detailformulier laden
LaadGegevensOp()
Else
als er geen volgende record en dus geen volgende gegevens bestaan weergeven aan de gebruiker dat het einde van de tabel is
MsgBox("Begin tabel!", MsgBoxStyle.Critical, "Einde")
End If
End Sub
Private Sub btnOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOk.Click
alvborens de gegevens op te slaan de validatie functie uitvoeren
If eMOEv = False Then
als er een fout is in de validatie is de variabele 1
If ValidatieTel = 1 Then
terugaan naar het formulier
Return
Else
anders aalles in de tabel adapter steken om naar de tabel te plaatsten
EvenementenTableAdapter.Insert(txtNaam.Text, dtpStartdag.Value, dtpEinddag.Value, txtBeschrijving.Text, ckbSucces.Checked, txtOpmerkingen.Text)
het overzicht formulier opvullen
frmOverzichtEvenementen.EvenementenTableAdapter.Fill(frmOverzichtEvenementen._GipDataBaseJohnnie_1__1_DataSet.Evenementen)
het detail formulier afsluiten
Dispose()
End If
Else
wnr je een product wijzigt
declareer de variabelen
Dim ds As New DataSet
Dim da As New OleDb.OleDbDataAdapter
Dim sql As String
Dim conn As New OleDb.OleDbConnection
haal de connectie string op
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|GipDataBaseJohnnie(1)(1).mdb"
controleren of de verbinding dicht of open is
als deze dicht is moet deze geopend worden
If conn.State = ConnectionState.Closed Then
de connectie openen
conn.Open()
End If
de functie oproepen voor het teruggeven van het nummer
HetLevNummerTeruggeven()
het sql commando oppbouwen aan de hand van de volgende code
sql = "Update Evenementen Set " & _
"EvNaam = " & txtNaam.Text & " , " & _
"EvStartdag = " & dtpStartdag.Value.Date & " , " & _
"EvEindag = " & dtpEinddag.Value.Date & " , " & _
"EvBeschrijving = " & txtBeschrijving.Text & " , " & _
"EvSucces = " & ckbSucces.Checked & " , " & _
"EvOpmerkingen = " & txtOpmerkingen.Text & ""
"Where BestNr = " & txtBestNr.Text
de updateopdracht aan de hand van het nummer aanmaken met de table adaptor
deze het het bovenstaande sql commando weergeven
da.UpdateCommand = New OleDb.OleDbCommand(sql)
de connectie instellen die de tableadaptor moet gebruiken voor het verbinden van de database
da.UpdateCommand.Connection = conn
voer de query uit
da.UpdateCommand.ExecuteNonQuery()
de verbinding met de database terug sluiten
conn.Close()
de ververs functie oproepen voor het verversen van de gegevens
frmOverzichtEvenementen.verversgegevens()
Het formulier afsluiten
Dispose()
End If
End Sub
Private Sub btnAnnuleren_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAnnuleren.Click
bij annuleren het venster laten verdwijnen en de variabelen automatisch leegmaken
Me.Dispose()
End Sub
Private Sub VulVanOverzicht()
de velden opvullen aan de hand van de globale variabelen
txtEvNr.Text = EvenementenEvNr
txtNaam.Text = EvenementenNaam
txtBeschrijving.Text = EvenementenBeschrijving
dtpStartdag.Value = EvenmentenStartdag
dtpEinddag.Value = EvenmentenEinddag
ckbSucces.Checked = EvementenSucces
txtOpmerkingen.Text = EvementenOpmerkingen
End Sub
Private Sub Validatie()
een validatie tekst declareren
Dim vdtxt As String
de tekstvelden trimmen om te onderzoeken op foutieve of lege ingave
Trim(txtEvNr.Text)
Trim(txtNaam.Text)
Trim(txtBeschrijving.Text)
Trim(dtpStartdag.Value)
Trim(dtpEinddag.Value)
Trim(ckbSucces.Text)
Trim(txtOpmerkingen.Text)
de validatietekst een vaste waarde toekennnen
als de er iets fout is in de validatie zal dit worden teruggegeven aan de gebruiker
vdtxt = "Gelieve de volgende velden te corrigeren: " & vbNewLine
hieronder daarvoor alle nodige iflussen (kan worden uitgebreid)
If IsNumeric(txtNaam.Text) Then
de fout van de toevoegen aan het fouten venster
vdtxt = vdtxt & "Naam"
een nieuwe lijn beginnen in de fouten lijn
vdtxt = vdtxt & vbNewLine
de variabele de waarde 1 toekennen zodanig deze een fout kan geven bij het uitvoeren
ValidatieTel = 1
End If
als het tekstveld na het trimmen (het verwijderen van alle spaties) deze fout
If txtNaam.Text.Length = 0 Then
de fout van de toevoegen aan het fouten venster
vdtxt = vdtxt & "Naam"
een nieuwe lijn beginnen in de fouten lijn
vdtxt = vdtxt & vbNewLine
de variabele de waarde 1 toekennen zodanig deze een fout kan geven bij het uitvoeren
ValidatieTel = 1
End If
als het tekstveld na het trimmen (het verwijderen van alle spaties) deze fout
If dtpStartdag.Text.Length = 0 Then
de fout van de toevoegen aan het fouten venster
vdtxt = vdtxt & "Startdag"
een nieuwe lijn beginnen in de fouten lijn
vdtxt = vdtxt & vbNewLine
de variabele de waarde 1 toekennen zodanig deze een fout kan geven bij het uitvoeren
ValidatieTel = 1
End If
als het tekstveld na het trimmen (het verwijderen van alle spaties) deze fout
If dtpEinddag.Text.Length = 0 Then
de fout van de toevoegen aan het fouten venster
vdtxt = vdtxt & "Einddag"
een nieuwe lijn beginnen in de fouten lijn
vdtxt = vdtxt & vbNewLine
de variabele de waarde 1 toekennen zodanig deze een fout kan geven bij het uitvoeren
ValidatieTel = 1
End If
de fout tonen aan de gebruiker
If ValidatieTel = 1 Then
MsgBox(vdtxt, MsgBoxStyle.Critical, "Fout!")
End If
End Sub
End Class
EEN TABEL
Public Class frmOverzichtEvenementen
Private Sub frmOverzichtsEvenementen_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
verversgegevens()
End Sub
Private Sub frmEvenementen_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
de functie oproepen op degegevens op te laden bij het laden van dit formulier
HaalGegevensOp()
End Sub
Public Sub HaalGegevensOp()
declareren van de varriablen
de dataset en de data adapter declareren
Dim ds As New DataSet
Dim da As OleDb.OleDbDataAdapter
het sql commando declareren
Dim sql As String
het sql commando een waarde geven
sql = "Select * From Evenementen"
het doorgeven van de commando aan de data adapter
da = New OleDb.OleDbDataAdapter(sql, Me.EvenementenTableAdapter.Connection.ConnectionString)
da.Fill(ds, "Evenementen")
EvenementenDataGridView.DataSource = ds.Tables(0)
EvenementenDataGridView.Refresh()
End Sub
Private Sub btnNieuw_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNieuw.Click
declareren van de variabelen
Dim frm As frmDetailsEvenementen
deze variabelen een waarde geven (het formulier zelf)
frm = New frmDetailsEvenementen
de editmode op false zetten
frm.eMOEv = False
de globale variabele toekennnen (hierdoor wordt het detailformulier beïnvloed)
frm.Evteller = 2
het detailformulier tonen aan de gebruiker
frm.ShowDialog(Me)
End Sub
Public Sub btnWijzigen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnWijzigen.Click
Dim frm As frmDetailsEvenementen
frm = New frmDetailsEvenementen
Dim teller As Integer
teller = Me.EvenementenDataGridView.CurrentRow.Index
frm.Evteller = 1
frm.eMOEv = True
frm.EvenementenEvNr = Me.EvenementenDataGridView.Item(0, teller).Value
frm.EvenementenNaam = Me.EvenementenDataGridView.Item(1, teller).Value
frm.EvenmentenStartdag = Me.EvenementenDataGridView.Item(2, teller).Value
frm.EvenmentenEinddag = Me.EvenementenDataGridView.Item(3, teller).Value
frm.EvenementenBeschrijving = Me.EvenementenDataGridView.Item(4, teller).Value
frm.EvementenSucces = Me.EvenementenDataGridView.Item(5, teller).Value
frm.EvementenOpmerkingen = Me.EvenementenDataGridView.Item(6, teller).Value
frm.ShowDialog(Me)
chronologische comentaar
Het declareren van de variabelen
deze variabelen een waarde geven (het formulier zelf)
een teller declareren
de globale variabele toekennnen (hierdoor wordt het detailformulier beïnvloed)
de teller de waarde toeknennen van de geselecteerde rij
De editmode op true zetten
de waarden in de bijhorende velden opvullen
het detailformulier tonen aan de gebruiker
End Sub
Public Sub verversgegevens()
een functie voor het verversen van de gegevens
eerst de tabeladapter opvullen met de nodige gegevens
Me.EvenementenTableAdapter.Fill(Me._GipDataBaseJohnnie_1__1_DataSet.Evenementen)
de datagrid refreshen
Me.EvenementenDataGridView.Refresh()
omdat bovenstaande code niet 100% correct werkt
HaalGegevensOp()
End Sub
Private Sub btnVerwijderen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVerwijderen.Click
Dim result As DialogResult
ervoor zetten omdat dit anders voor problemen met het eerste nummer in de gegevens
Dim teller As Integer
het nummer zoeken van de geselcteerde rij
teller = EvenementenDataGridView.CurrentRow.Index
result = MsgBox("Bent u zeker dat u wilt verwijderen?", MsgBoxStyle.YesNo, "Waarschuwing")
If result = DialogResult.Yes Then
zoeken naar gerelateerde records waardoor je niet mag verwijderen
Declareer de variabelen die we gaan gebruiken voor het ophalen van de klantEvenementgegevens
Dim ds As New DataSet
Dim dt As DataTable
Dim da As OleDb.OleDbDataAdapter
Dim sql As String
Dim geralteerdegeg As Boolean
initialiseer de check en zet de waarde op onwaar
geralteerdegeg = False
Maak de sql statement aan
sql = "Select * From Klanten Where KlaNummer = " & EvenementenDataGridView.Item(0, teller).Value
Maak de verbinding me de database en geef de sql opdracht mee
da = New OleDb.OleDbDataAdapter(sql, EvenementenTableAdapter.Connection.ConnectionString)
Vul de dataset met de gegevens uit de databank die overeenkomen met de sql opdracht
da.Fill(ds, "Klanten")
De datatabel gelijkstellen aan de tabel klantEvenement uit de dataset
dt = ds.Tables(0)
Als de datatable records bevat, dan is de klant voor dat evenement al ingeschreven
If dt.Rows.Count > 0 Then
Zet de check hier op true
geralteerdegeg = True
End If
If geralteerdegeg = False Then
Verwijder de geselecteerde record
EvenementenTableAdapter.Delete(EvenementenDataGridView.Item(0, teller).Value, EvenementenDataGridView.Item(1, teller).Value, EvenementenDataGridView.Item(2, teller).Value, EvenementenDataGridView.Item(3, teller).Value, EvenementenDataGridView.Item(5, teller).Value)
gegevense verversen in de tabel
EvenementenTableAdapter.Fill(_GipDataBaseJohnnie_1__1_DataSet.Evenementen)
EvenementenDataGridView.Refresh()
Else
MsgBox("Je mag dit niet verwijderen omdat er nog gerelateerde gegevens gelinkt zijn aan deze gegevens die u wilt verwijderen", MsgBoxStyle.Information, "Info")
End If
verversgegevens()
vbT()
End If
End Sub
End Class
EEN-OP-Veel
Public Class frmOverzichtsLeveranciersKosten
Private Sub frmOverzichtsKosten_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
HaalGegevensOp()
End Sub
Private Sub frmOverzichtsKosten_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
de functie oproepen op degegevens op te laden bij het laden van dit formulier
HaalGegevensOp()
End Sub
Private Sub btnWijzigen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnWijzigen.Click
Dim frm As frmDetailsKosten
frm = New frmDetailsKosten
Dim teller As Integer
frm.vulLevLijst()
teller = Me.QREovKostLevDataGridView.CurrentRow.Index
frm.Kostteller = 1
frm.eMOKost = True
frm.KostenKostNummer = Me.QREovKostLevDataGridView.Item(0, teller).Value.ToString
frm.Kostennaam = Me.QREovKostLevDataGridView.Item(1, teller).Value.ToString
frm.KostenPlaats = Me.QREovKostLevDataGridView.Item(2, teller).Value.ToString
frm.KostenTotBedrag = Me.QREovKostLevDataGridView.Item(3, teller).Value.ToString
frm.KostenBedrag = Me.QREovKostLevDataGridView.Item(4, teller).Value.ToString
frm.KostenBtwPercentage = Me.QREovKostLevDataGridView.Item(5, teller).Value.ToString
frm.KostenDatum = Me.QREovKostLevDataGridView.Item(6, teller).Value.ToString
frm.KostenOpmerkingen = Me.QREovKostLevDataGridView.Item(7, teller).Value.ToString
cmb opvullen
frm.leveranciernaam = Me.QREovKostLevDataGridView.Item(10, teller).Value.ToString
frm.ShowDialog(Me)
chronologische comentaar
Het declareren van de variabelen
deze variabelen een waarde geven (het formulier zelf)
een teller declareren
de globale variabele toekennnen (hierdoor wordt het detailformulier beïnvloed)
de teller de waarde toeknennen van de geselecteerde rij
De editmode op true zetten
de waarden in de bijhorende velden opvullen
het detailformulier tonen aan de gebruiker
End Sub
Private Sub HaalGegevensOp()
declareren van de varriablen
de dataset en de data adapter declareren
Dim ds As New DataSet
Dim da As OleDb.OleDbDataAdapter
het sql commando declareren
Dim sql As String
het sql commando een waarde geven
sql = "Select * From QREovKostLev"
het doorgeven van de commando aan de data adapter
da = New OleDb.OleDbDataAdapter(sql, Me.QREovKostLevTableAdapter.Connection.ConnectionString)
da.Fill(ds, "QREovKostLev")
QREovKostLevDataGridView.DataSource = ds.Tables(0)
QREovKostLevDataGridView.Refresh()
End Sub
Private Sub btnNieuw_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNieuw.Click
declareren van de variabelen
Dim frm As frmDetailsKosten
deze variabelen een waarde geven (het formulier zelf)
frm = New frmDetailsKosten
de editmode op false zetten
frm.eMOKost = False
de globale variabele toekennnen (hierdoor wordt het detailformulier beïnvloed)
frm.Kostteller = 2
het detailformulier tonen aan de gebruiker
frm.ShowDialog(Me)
End Sub
Public Sub verversgegevens()
een functie voor het verversen van de gegevens
eerst de tabeladapter opvullen met de nodige gegevens
Me.QREovKostLevTableAdapter.Fill(Me._GipDataBaseJohnnie_1__1_DataSet.QREovKostLev)
de datagrid refreshen
Me.QREovKostLevDataGridView.Refresh()
End Sub
Private Sub btnVerwijderen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVerwijderen.Click
i als een variabele
Dim i As Integer
Haal het nummer van de gesleecteerde record op
i = Me.QREovKostLevDataGridView.CurrentRow.Index
ervoor zetten omdat dit anders voor problemen met het eerste nummer in de gegevens
Dim teller As Integer
het nummer zoeken van de geselcteerde rij
teller = QREovKostLevDataGridView.Item(0, i).Value
Maak de variabelen aan voor de verbinding met de database
Dim ds As New DataSet
Dim da As New OleDb.OleDbDataAdapter
Dim conn As New OleDb.OleDbConnection
Haal de connectionstring op en ken die toe aan het conn object
conn.ConnectionString = Me.QREovKostLevTableAdapter.Connection.ConnectionString
Als de verbinding gesloten is
If conn.State = ConnectionState.Closed Then
Open de verbinding
conn.Open()
End If
Dim i As Integer
Haal het nummer van de gesleecteerde record op
i = Me.QREovATECEvDataGridView.CurrentRow.Index
Dim LevNr As Integer
LevNr = QREovKostLevDataGridView.Item(8, i).Value
Dim sql As String
sql = "Delete from Kosten where KostNummer = " & teller & " And KostLevNummer = " & LevNr
Maak de delete commando aan
da.DeleteCommand = New OleDb.OleDbCommand(sql)
Voeg daar de connectie aan mee
da.DeleteCommand.Connection = conn
Voer de deletequery uit
da.DeleteCommand.ExecuteNonQuery()
We sluiten de connectie naar de database
conn.Close()
Laad alle deelnemers van het evenement opnieuw op
verversgegevens()
End Sub
End Class
View the full article