Scan2Swim Technisch ontwerp
-
Upload
informaticabeheer-kaoudenaarde -
Category
Documents
-
view
228 -
download
5
description
Transcript of Scan2Swim Technisch ontwerp
Robin Tillie
Schooljaar : 2009 – 2010
Opdrachtgevers:
Mevr. Ann Van Landuyt
Mevr. Natacha Bauwens
Dhr. Michaël De Schutter
Robin Tillie 2
Robin Tillie 3
Dankwoord
Graag zou ik mijn begeleidster, Mevr. Van Landuyt willen bedanken voor de verbeteringen,
opmerkingen en hulp die zij mij gegeven heeft. Mede door haar goede raad heeft ze mij op het
goede spoor gezet.
Mevr. Bauwens, Dhr. De Schutter wil ik bedanken voor hun suggesties en deskundig advies bij dit
eindwerk.
Hierbij zou ik ook mijn dank willen betuigen aan mijn medestudenten voor hun grote steun en vooral
aan Milan Tocan, voor de steun, suggesties en uitleg bij bepaalde kwesties.
Robin Tillie, Leerling 6e jaar Informaticabeheer
Mei 2010
Robin Tillie 4
Inhoudsopgave
ERD .................................................................................................................................. 6
Data dictionary ................................................................................................................. 8
Tabel : Tbl_Leden ................................................................................................................................................ 8
Concrete inhoud van de Tabel : Tbl_Leden : .................................................................................................. 9
Tabel : Tbl_Groepen ......................................................................................................................................... 10
Concrete inhoud van de Tabel : Tbl_Groepen : ............................................................................................ 10
Tabel : Tbl_Graad .............................................................................................................................................. 11
Concrete inhoud van de Tabel : Tbl_Graad : ................................................................................................ 11
Tabel : Tbl_ Categorieën ................................................................................................................................... 12
Concrete inhoud van de Tabel : Tbl_Categoriën : ........................................................................................ 12
Tabel : Tbl_Functies .......................................................................................................................................... 13
Concrete inhoud van de Tabel : Tbl_Functies : ............................................................................................ 13
Tabel : Tbl_Bestuursfuncties............................................................................................................................. 14
Concrete inhoud van de Tabel : Tbl_Bestuursfuncties : ............................................................................... 14
Tabel : Tbl_Barcodes ......................................................................................................................................... 15
Concrete inhoud van de Tabel : Tbl_Barcodes : ........................................................................................... 15
Tabel : Tbl_Aanwezigheden .............................................................................................................................. 16
Concrete inhoud van de Tabel : Tbl_Aanwezigheden : ................................................................................ 16
Tabel : Tbl_Trainingsgegevens .......................................................................................................................... 17
Concrete inhoud van de Tabel : Tbl_ Trainingsgegevens : .......................................................................... 18
Tabel : Tbl_Soorten ........................................................................................................................................... 19
Concrete inhoud van de Tabel : Tbl_ Soorten : ........................................................................................... 19
Tabel : Tbl_Uren ............................................................................................................................................... 20
Concrete inhoud van de Tabel : Tbl_ Uren : ................................................................................................ 20
Schermen ....................................................................................................................... 22
Ledenbeheer ..................................................................................................................................................... 24
Ledenlijst ........................................................................................................................................................... 25
Ledengegevens ................................................................................................................................................. 28
Ledenonderhoud .............................................................................................................................................. 32
Aanwezigheidsregistratie ................................................................................................................................. 34
Aanwezigheidslijst ............................................................................................................................................ 36
Robin Tillie 5
ERD
Robin Tillie
ERD
6
Robin Tillie 7
Data dictionary
Robin Tillie 8
Data dictionary
Tabel : Tbl_Leden
Veldnaam Omschrijving Voorbeeld Veldtype Veldlengte Bijzondere eigenschappen
Licentienummer Uniek licentienummer voor elk lid OZEKA/987/85 Tekst 255 • Primaire sleutel
Naam Familienaam van het lid De Brabandere Tekst 40 • Index met duplicaten
Voornaam Voornaam van het lid Camille Tekst 40 -
Geboortedatum Geboortedatum van het lid 19/05/1998 Datum/tijd - -
Geslacht Geslacht van het lid V Tekst 1 -
Telefoonnummer Telefoonnummer van het lid 0497/87.36.21 Tekst 13 • Index met duplicaten
E-mail E-mail adres van het lid [email protected] Tekst 40 • Index met duplicaten
Groep Relatie naar tabel Groepen
Groep van de zwemmer
1,2,3,… Numeriek Lange
integer
• Verwijssleutel naar
tbl_Groepen
Graad Relatie naar tabel Graad
Graad van de zwemmer
1,2,3,… Numeriek Lange
integer
• Verwijssleutel naar
tbl_Graad
Categorie Relatie naar tabel Categoriën
Categorie van de zwemmer.
1,2,3,… Numeriek Lange
integer
• Verwijssleutel naar
tbl_Categorieën
Robin Tillie 9
Functie Relatie naar tabel Functies
Functie van het lid.
1,2,3,… Numeriek Lange
integer
• Verwijssleutel naar
tbl_Functies
Bestuursfunctie Relatie naar tabel Bestuursfuncties
Bestuursfunctie van het lid.
1,2,3,.. Numeriek Lange
integer
• Verwijssleutel naar
tbl_Bestuursfuncties
Foto Foto van het lid.
OLE-object - -
Betaald Status betaling lidgeld. of Ja/Nee - -
Update Status of er al een update gebeurt is. of Ja/Nee - -
Concrete inhoud van de Tabel : Tbl_Leden :
Robin Tillie 10
Tabel : Tbl_Groepen
Veldnaam Omschrijving Voorbeeld Veldtype Veldlengte Bijzondere eigenschappen
GroepID Uniek nummer voor elke groep 1,2,3,.. Numeriek Lange
integer
• Primaire sleutel
• Autonumeriek
• Index zonder
duplicaten
Groepsnaam Groepsnaam Groep 1, groep 2, groep 3,
Oranje, groen, roze, blauw, rood
Tekst 40 -
Concrete inhoud van de Tabel : Tbl_Groepen :
Robin Tillie 11
Tabel : Tbl_Graad
Veldnaam Omschrijving Voorbeeld Veldtype Veldlengte Bijzondere eigenschappen
GraadID Uniek nummer voor elke graad 1,2,3,... Numeriek Lange
integer
• Primaire sleutel
• Autonumeriek
• Index zonder
duplicaten
Graad Naam van de graad A,B,C,Jonge Haai Tekst 40 -
Concrete inhoud van de Tabel : Tbl_Graad :
Robin Tillie 12
Tabel : Tbl_ Categorieën
Veldnaam Omschrijving Voorbeeld Veldtype Veldlengte Bijzondere eigenschappen
CategorieID Uniek nummer voor elke categorie 1,2,3,… Numeriek Lange
integer
• Primaire sleutel
• Autonumeriek
• Index zonder
duplicaten
Categorie Naam van de categorie Eendje, benjamin, miniem, … Tekst 40 -
Concrete inhoud van de Tabel : Tbl_Categorieën :
Robin Tillie 13
Tabel : Tbl_Functies
Veldnaam Omschrijving Voorbeeld Veldtype Veldlengte Bijzondere eigenschappen
FunctieID Uniek nummer voor elke functie 1,2,3,… Numeriek Lange
integer
• Primaire sleutel
• Autonumeriek
• Index zonder
duplicaten
Functie Naam van de functie Zwemmer, zwemschool, trainer, … Tekst 40 -
Concrete inhoud van de Tabel : Tbl_Functies :
Robin Tillie 14
Tabel : Tbl_Bestuursfuncties
Veldnaam Omschrijving Voorbeeld Veldtype Veldlengte Bijzondere
eigenschappen
BestuursfunctieID Uniek nummer voor elke
bestuursfunctie
1,2,3,… Numeriek Lange
integer
• Primaire sleutel
• Autonumeriek
• Index zonder
duplicaten
Bestuursfunctie Naam van de bestuursfunctie Voorzitter, ondervoorzitter,
penningmeester, webmaster, …
Tekst 40 -
Concrete inhoud van de Tabel : Tbl_Bestuursfuncties :
Robin Tillie 15
Tabel : Tbl_Barcodes
Veldnaam Omschrijving Voorbeeld Veldtype Veldlengte Bijzondere eigenschappen
Barcode Het licentienummer voor elk lid geld
ook als barcode
OZEKA/987/85 Tekst 255 • Primaire sleutel
• Verwijssleutel naar
Tbl_Leden
• Een-op-een Relatie
Concrete inhoud van de Tabel : Tbl_Barcodes :
Robin Tillie 16
Tabel : Tbl_Aanwezigheden
Veldnaam Omschrijving Voorbeeld Veldtype Veldlengte Bijzondere eigenschappen
Aanwezigheidsnummer Uniek nummer voor elke
aanwezigheid
1,2,3,… Numeriek Lange
integer
• Primaire sleutel
• Autonumeriek
• Index zonder
Duplicaten
Licentienummer Persoonlijk licentienummer van
het lid
OZEKA/987/96 Tekst 255 • Verwijssleutel naar
tbl_Leden • Index met duplicaten
Datum De systeemdatum van het
moment van registreren
14/05/2010 Datum/tijd - -
Uur_van_aankomst De systeemtijd van het
moment van registreren
16:46:24 Datum/tijd - -
Concrete inhoud van de Tabel : Tbl_Aanwezigheden :
Robin Tillie 17
Tabel : Tbl_Trainingsgegevens
Veldnaam Omschrijving Voorbeeld Veldtype Veldlengte Bijzondere eigenschappen
Trainingsnummer Uniek nummer voor elke
training
1,2,3,.. Numeriek Lange
integer
• Primaire sleutel
• Autonumeriek
Trainingsgroep_1 Relatie naar tabel Groepen.
De groep waarvoor de training
gepland staat.
1,2,3,… Numeriek Lange
integer
• Verwijssleutel naar
tbl_Groepen
Trainingsgroep_2 Relatie naar tabel Groepen .
De groep waarvoor de training
gepland staat.
1,2,3,… Numeriek Lange
integer
• Verwijssleutel naar
tbl_Groepen
Trainingsgroep_3 Relatie naar tabel Groepen .
De groep waarvoor de training
gepland staat.
1,2,3,… Numeriek Lange
integer
• Verwijssleutel naar
tbl_Groepen
Trainingsgroep_4 Relatie naar tabel Groepen .
De groep waarvoor de training
gepland staat.
1,2,3,… Numeriek Lange
integer
• Verwijssleutel naar
tbl_Groepen
Datum Datum van de training 06/12/2009 Datum/tijd - -
Uur Relatie naar tabel Uren.
Uur van de geplande training
1,2,3,… Numeriek Lange
integer
• Verwijssleutel naar
tbl_Uren
Robin Tillie 18
Soort Relatie naar tabel Soorten.
De soort van training
1,2,3,… Numeriek Lange
integer
• Verwijssleutel naar
tbl_Soorten
Aantal_Km Het aantal kilometers dat er zal 3.2 Numeriek Dubbele
precisie
-
Concrete inhoud van de Tabel : Tbl_ Trainingsgegevens :
Robin Tillie 19
Tabel : Tbl_Soorten
Veldnaam Omschrijving Voorbeeld Veldtype Veldlengte Bijzondere eigenschappen
SoortID Uniek nummer voor elke soort
training
1,2,3,.. Numeriek Lange
integer
• Primaire sleutel
Omschrijving Naam van de soort van de
training
Techniek, lange afstand, sprint,… Tekst 40 -
Concrete inhoud van de Tabel : Tbl_ Soorten :
Robin Tillie 20
Tabel : Tbl_Uren
Veldnaam Omschrijving Voorbeeld Veldtype Veldlengte Bijzondere eigenschappen
UurID Uniek nummer voor elk uur 1,2,3,.. Numeriek Lange
integer
• Primaire sleutel
• Autonumeriek
Uren Naam elk uur 20u-21u Tekst 40 -
Concrete inhoud van de Tabel : Tbl_ Uren :
Robin Tillie 21
Schermen
Robin Tillie
Schermen
Startscherm
Omschrijving :
Dit is het startscherm van het programma.
van het project
• Leden
• Registratie
• Aanwezigheden
• Trainingen
Dit is het startscherm van het programma. Hier kan je een keuze maken tussen één van de 4 delen
22
keuze maken tussen één van de 4 delen
Robin Tillie 23
Code/procedures : Public Class cmdLeden
• Private Sub pcbLeden_Click()
• Private Sub pcbScan_Click()
• Private Sub pcbTrainingen_Click()
• Private Sub pcbAanwezigheden_Click()
Bestandsnaam : Startscherm.vb
Robin Tillie
Ledenbeheer
Omschrijving :
Hier kan je een keuze maken tussen één van de 2
• Ledenlijst
• Onderhoud
Code/procedures : Public Class Ledenbeheer
• Private Sub pcbOnderhoud_Click()
• Private Sub pcbLedenlijst_Click()
Bestandsnaam:
Ledenbeheer.vb
keuze maken tussen één van de 2 onderdelen van het ledenbeheer.
pcbOnderhoud_Click()
pcbLedenlijst_Click()
24
delen van het ledenbeheer.
Robin Tillie
Ledenlijst
Omschrijving:
Dit is het ledenlijst scherm. Hier
• Zoeken
• Gevevens opvragen
• Ledenlijst printen
• Barcodes printen
Beschrijving:
De datagridview wordt opgevuld met gegevens uit de tabel Leden uit de database bij het laden van
de pagina. Je kan op naam, voornaam, groepsnaam zoeken door in het tekstvak de criteria te typen
en op “Zoeken” te klikken. Hierna krijg je enkel de gefilterde weergave van de datagridview
Dit is het ledenlijst scherm. Hier kan de volgende actie’s uitvoeren:
datagridview wordt opgevuld met gegevens uit de tabel Leden uit de database bij het laden van
. Je kan op naam, voornaam, groepsnaam zoeken door in het tekstvak de criteria te typen
ikken. Hierna krijg je enkel de gefilterde weergave van de datagridview
25
datagridview wordt opgevuld met gegevens uit de tabel Leden uit de database bij het laden van
. Je kan op naam, voornaam, groepsnaam zoeken door in het tekstvak de criteria te typen
ikken. Hierna krijg je enkel de gefilterde weergave van de datagridview te zien.
Robin Tillie 26
Code/procedures :
Public Sub leden()
'SQL Code om de datagrid op te vullen :
rstLeden.Open("Select licentienummer, naam, voornaam, groepsnaam From
Leden, Groepen WHERE leden.groep = groepen.groepID and ( voornaam like '%"
& txtzoek.Text & "%' or naam like '%" & txtzoek.Text & "%' or groepsnaam
like '%" & txtzoek.Text & "%') order by groepsnaam, naam, voornaam",
cnScan_2_Swim, ADODB.CursorTypeEnum.adOpenDynamic)
• Private Sub Ledenlijst_Load()
• Private Sub zoek_Click()
Beschrijving:
Hierna krijg je de selectie te zien en kan je van deze selectie de barcodes printen door op de knop
“Barcodes printen” te klikken. Hierbij wordt een Word document op de achtergrond geopend. In het
document wordt er gebruik gemaakt van een tabel die opgevuld wordt met de waarden uit de
(gefilterde) datagridview. Het barcodelettertype word lokaal opgehaald van op de computer.
Code/procedures :
Public Class Ledenlijst
• Private Sub pcbPrintBarcodesleden_Click()
Dim objWord As Microsoft.Office.Interop.Word.Application
Dim objDoc As Microsoft.Office.Interop.Word.Document
Robin Tillie 27
Beschrijving:
Je kan ook van deze selectie de ledenlijst printen door op de knop “Print ledenlijst” te klikken. Hierbij
wordt een Word document op de achtergrond geopend. In het document wordt er gebruik gemaakt
van een tabel die opgevuld wordt met de waarden uit de (gefilterde) datagridview.
Code/procedures :
Public Class Ledenlijst
• Private Sub pcbPrintLedenlijst_Click ()
Dim objWord As Microsoft.Office.Interop.Word.Application
Dim objDoc As Microsoft.Office.Interop.Word.Document
'Code om de tabel in het word document op tevullen met gegevens datagrid:
objRow.Cells.Item(1).Range.Text =
rstLeden.Fields.Item("licentienummer").Value
objRow.Cells.Item(2).Range.Text = rstLeden.Fields.Item("naam").Value
objRow.Cells.Item(3).Range.Text = rstLeden.Fields.Item("voornaam").Value
objRow.Cells.Item(4).Range.Text = rstLeden.Fields.Item("groepsnaam").Value
Beschrijving:
Je kan de persoonlijke gegevens van een lid opvragen door het lid te selecteren en op”Gegevens” te
klikken. Het licentienummer wordt in een variabele bewaard in de module en het scherm
“Ledengegevens” wordt geopend
Code/procedures :
Public Class Ledenlijst
• Private Sub pcbGegevensLidBekijken_Click()
'de weer te geven waarden in varabelen steken die gedeclareerd zijn in
module
selectedlicence = dgrLeden.CurrentRow.Cells(0).Value
selectednaam = dgrLeden.CurrentRow.Cells(1).Value
selectedvoornaam = dgrLeden.CurrentRow.Cells(2).Value
selectedgroep = dgrLeden.CurrentRow.Cells(3).Value
details.Show()
End Sub
Bestandsnaam:
Ledenlijst.vb
Robin Tillie
Ledengegevens
Omschrijving:
Dit is het ledengegevens scherm. Hier krijg je een overzicht van
de volgende actie’s uitvoeren:
• Wijzigen
• Gegevens printen
• Barcode printen
Beschrijving:
De gegevens van het geselecteerde lid worden opgehaald door het unieke licentienummer van het
lid dat opgeslagen werd in een variabele in de module.
Dit is het ledengegevens scherm. Hier krijg je een overzicht van alle gegevens van het lid
De gegevens van het geselecteerde lid worden opgehaald door het unieke licentienummer van het
variabele in de module.
28
alle gegevens van het lid . Je kan hier
De gegevens van het geselecteerde lid worden opgehaald door het unieke licentienummer van het
Robin Tillie 29
Code/procedures :
Public Class Ledengegevens
• Private Sub Ledengegevens_Load()
'SQL Code om gegevens op te halen :
rstLidgegevens.Open("
Select naam, voornaam, licentienummer, geboortedatum, geslacht,
telefoonnummer, groepsnaam, graad.graad as gr, functies.functie as fct,
bestuursfuncties.bestuursfunctie as best, betaald
From leden, groepen, graad , categorieën , functies , bestuursfuncties
where
Licentienummer like '%" & selectedlicence & "%'
and graad.graadId=Leden.graad
and Leden.groep=groepen.groepID
and Leden.categorie=categorieën.categorieID
and Leden.functie=functies.functieID
and Leden.bestuursfunctie=bestuursfuncties.bestuursfunctieID order by
groepsnaam, naam, voornaam", cnScan_2_Swim,
ADODB.CursorTypeEnum.adOpenDynamic)
Beschrijving:
De lidgegevens kunnen hier ook afgeprint worden. Hierbij wordt een Word document op de
achtergrond geopend. In het document wordt er gebruik gemaakt van bladwijzers die vervangen
worden door de waarden van de tekstvelden van de gegevens van het lid.
Code/procedures :
Public Class Ledengegevens
• Private Sub pcbPrintGegevensLid_Click()
Dim objWord As Microsoft.Office.Interop.Word.Application
objDoc = objWord.Documents.Open(FileName:="G:\6INFO\GIP\Gip
RobinTillie\Programmeren\SCAN_2_SWIM\SCAN_2_SWIM\bin\Debug\Afdruk_lidgegeve
ns.doc")
'de bladwijzers vervangen door de waarden van de tekstvelden
objDoc.Bookmarks.Item("NaamTitel").Range.Text = txtNaam.Text
objDoc.Bookmarks.Item("VoornaamTitel").Range.Text = txtVoornaam.Text
objDoc.Bookmarks.Item("Naam").Range.Text = txtNaam.Text
objDoc.Bookmarks.Item("Voornaam").Range.Text = txtVoornaam.Text
objDoc.Bookmarks.Item("Licentienummer").Range.Text = txtLicentienummer.Text
objDoc.Bookmarks.Item("Geboortedatum").Range.Text = txtGeboortedatum.Text
objDoc.Bookmarks.Item("Geslacht").Range.Text = txtGeslacht.Text
objDoc.Bookmarks.Item("Telefoonnummer").Range.Text = txtTelefoonnummer.Text
objDoc.Bookmarks.Item("Groep").Range.Text = txtGroep.Text
objDoc.Bookmarks.Item("Graad").Range.Text = txtGraad.Text
objDoc.Bookmarks.Item("Functie").Range.Text = txtFunctie.Text
objDoc.Bookmarks.Item("Bestuursfunctie").Range.Text =
txtBestuursfunctie.Text
Robin Tillie 30
Beschrijving:
De persoonlijke barcode kan hier ook afgeprint worden. Hierbij wordt een Word document op de
achtergrond geopend. In het document wordt er gebruik gemaakt van bladwijzers die vervangen
worden door de waarden van de tekstvelden van de gegevens van het lid, namelijk de naam,
voornaam en het licentienummer
Code/procedures :
Public Class Ledengegevens
• Private Sub pcbPrintBarcode_Click()
Dim objWord As Microsoft.Office.Interop.Word.Application
de bladwijzers vervangen met waarden tekstvelden
objDoc.Bookmarks.Item("Naam").Range.Text = txtNaam.Text
objDoc.Bookmarks.Item("Voornaam").Range.Text = txtVoornaam.Text
objDoc.Bookmarks.Item("LicentienummerBarcode").Range.Text =
txtLicentienummer.Text
objDoc.Bookmarks.Item("Licentienummer").Range.Text = txtLicentienummer.Text
Robin Tillie 31
Beschrijving:
Als het lid zijn lidgeld betaald heeft moet de checkbox betaald geselecteerd worden en op“wijzigen”
klikken zodat de wijzigingen in de database worden opgeslagen.
Code/procedures :
Public Class Ledengegevens
• Private Sub pcbWijzigen_Click
'SQL Code om de database aan te passen :
cnScan_2_Swim.Open("Provider=Microsoft.jet.OLEDB.4.0; Data
Source=Scan_2_Swim.mdb")
cnScan_2_Swim.Execute("update leden set betaald = " & beta.Checked & "
where licentienummer = '" & txtLicentienummer.Text & "'"
Bestandsnaam:
Ledengegevens.vb
Robin Tillie
Ledenonderhoud
Omschrijving:
Dit is het ledenonderhoud scherm. Hier kan je de database update door op de knop “ update “ te
klikken.
Beschrijving:
Bij het updaten wordt er verbinding gemaakt met de PHP database van de website van de zwemclub
Ozeka en worden alle gegevens bijgewerkt.
worden alle gegevens verwijderd uit de tabellen
eerst opgehaald en dan ingevoegd in de programma database
Code/procedures :
Public Class Ledenonderhoud
• Private Function ConnectString()
strServerName = "84.214.46.78"
strDatabaseName = "admim_Ozeka"
strUserName = "admin_Ozeka"
strPassword = "AdmIn0Z3kA"
ConnectString =
"DRIVER={MySQL ODBC 3.51 Driver};"
"SERVER=" & strServerName & _
";DATABASE=" & strDatabaseName &
"USER=" & strUserName & _
";PASSWORD=" & strPassword & _
";OPTION=3;"
Dit is het ledenonderhoud scherm. Hier kan je de database update door op de knop “ update “ te
Bij het updaten wordt er verbinding gemaakt met de PHP database van de website van de zwemclub
Ozeka en worden alle gegevens bijgewerkt. Er wordt gebruik gemaakt van ODBC en ADODB
worden alle gegevens verwijderd uit de tabellen ,dan worden alle gegeven van de
eerst opgehaald en dan ingevoegd in de programma database
Ledenonderhoud
ConnectString() As String
"84.214.46.78"
"admim_Ozeka"
"admin_Ozeka"
"AdmIn0Z3kA"
"DRIVER={MySQL ODBC 3.51 Driver};" & _
& strServerName & _
& strDatabaseName & ";" & _
& strUserName & _
& strPassword & _
32
Dit is het ledenonderhoud scherm. Hier kan je de database update door op de knop “ update “ te
Bij het updaten wordt er verbinding gemaakt met de PHP database van de website van de zwemclub
ODBC en ADODB. Eerst
ven van de PHP database
Robin Tillie 33
• Private Sub pcbUpdate_Click( )
'verwijderen inhoud tabellen
cnScan_2_Swim.Open("Provider=Microsoft.jet.OLEDB.4.0; Data
Source=Scan_2_Swim.mdb")
Dim s As String
s = "update leden set leden.[update]=" & 0 & ""
cnScan_2_Swim.Execute(s)
cnScan_2_Swim.Execute("delete * from barcodes")
cnScan_2_Swim.Execute("delete * from bestuursfuncties")
cnScan_2_Swim.Execute("delete * from functies")
cnScan_2_Swim.Execute("delete * from graad")
cnScan_2_Swim.Execute("delete * from groepen")
cnScan_2_Swim.Execute("delete * from categorieën")
cnScan_2_Swim.Close()
' overzetten van categoriën
cn = New ADODB.Connection
cn.Open(ConnectString())
rs2 = New ADODB.Recordset 'Creates record set
Cmd2.ActiveConnection = cn
Cmd2.CommandText = "SELECT * FROM Categorie"
rs2 = Cmd2.Execute
rs2.MoveFirst()
i = 0
While Not rs2.EOF
tabel(i, 0) = rs2.Fields.Item(0).Value 'ID
tabel(i, 1) = rs2.Fields.Item(1).Value 'Bestuursfunctie
rs2.MoveNext()
i = i + 1
End While
rs2.Close()
rs2 = Nothing
cn.Close()
cn = Nothing
' invoegen in tabel Categoriën
cnScan_2_Swim.Open("Provider=Microsoft.jet.OLEDB.4.0; Data
Source=Scan_2_Swim.mdb")
For j = 0 To i - 1
cnScan_2_Swim.Execute("insert into categorieën (categorieID,categorie)
values ('" & tabel(j, 0) & "','" & tabel(j, 1) & "')")
Next
cnScan_2_Swim.Close()
MsgBox("De update werdt succesvol uitgevoerd.")
Bestandsnaam: Ledenonderhoud.vb
Robin Tillie
Aanwezigheidsregistratie
Omschrijving:
Dit is het aanwezigheidsregistratie scherm. Hier worden alle aanwezigheden geregistreerd door het
scannen van de barcodes van de leden.
Beschrijving:
Bij het registreren van de aanwezigheid
Aanwezigheden met :
• Uniek aanwezigheidsnummer
• Licentienummer van het lid
• Datum van registreren
• Tijdstip van registreren
Aanwezigheidsregistratie
Dit is het aanwezigheidsregistratie scherm. Hier worden alle aanwezigheden geregistreerd door het
scannen van de barcodes van de leden.
aanwezigheid van een lid wordt er een record toegevoegd aan de
Uniek aanwezigheidsnummer
Licentienummer van het lid
34
Dit is het aanwezigheidsregistratie scherm. Hier worden alle aanwezigheden geregistreerd door het
er een record toegevoegd aan de tabel
Robin Tillie 35
Code/procedures :
Public Class Aanwezigheidsregistratie
• Private Sub txtLicentie_KeyPress()
If (Asc(e.KeyChar) = 32) Then'Bij spatie -->
Zoeken()
'de waarden die moeten ingevuld worden in de database
On Error GoTo FOUT
cnScan_2_Swim.Execute("insert into Aanwezigheden(Licentienummer, Datum,
Uur_van_aankomst) values( '" & txtLicentie.Text & "', '" &
CDate(lblDatum.Text) & "', '" & CDate(lblTijd.Text) & "' )")
teller = 0
count.Start()
Exit Sub
FOUT:
txtLicentie.Text = ""
txtLicentie.Focus()
End If
Bestandnaam:
Aanwezigheidsregistratie.vb
Robin Tillie
Aanwezigheidslijst
Omschrijving:
Dit is het aanwezigheidslijst scherm. Hier krijg je een overzicht van alle aanwezigheden. Je kan de
volgende actie’s uitvoeren:
• Zoeken
• Aanwezigheidslijst printen
Beschrijving:
De datagridview wordt opgevuld met gegevens uit de tabel Aanwezigheden uit de database bij het
laden van de pagina. Je kan op groep, graad, categorie, … zoeken door
comboboxen. De comboboxen worden automatisch opgevuld met de gegevens uit de datab
Voor het activeren van een zoekfilter selecteer de checkbox van de te gebruiken zoekfilter en
selecteer in de combobox de criteria
je enkel de gefilterde weergave van de datagridview.
Dit is het aanwezigheidslijst scherm. Hier krijg je een overzicht van alle aanwezigheden. Je kan de
printen
wordt opgevuld met gegevens uit de tabel Aanwezigheden uit de database bij het
laden van de pagina. Je kan op groep, graad, categorie, … zoeken door gebruik te maken van de
. De comboboxen worden automatisch opgevuld met de gegevens uit de datab
Voor het activeren van een zoekfilter selecteer de checkbox van de te gebruiken zoekfilter en
criteria waarop gezocht moet worden en klik op “Zoeken”
je enkel de gefilterde weergave van de datagridview.
36
Dit is het aanwezigheidslijst scherm. Hier krijg je een overzicht van alle aanwezigheden. Je kan de
wordt opgevuld met gegevens uit de tabel Aanwezigheden uit de database bij het
gebruik te maken van de
. De comboboxen worden automatisch opgevuld met de gegevens uit de database.
Voor het activeren van een zoekfilter selecteer de checkbox van de te gebruiken zoekfilter en
klik op “Zoeken”. Hierna krijg
Robin Tillie 37
Code/procedures :
Public Class Aanwezigheidslijst
• Private Sub Aanwezigheidslijst_Load()
'connectie openen naar database
cnScan_2_Swim.Open("Provider=Microsoft.jet.OLEDB.4.0; Data
Source=Scan_2_Swim.mdb")
Dim dtGroepen As Data.DataTable = New Data.DataTable
Dim daGroepen As Data.OleDb.OleDbDataAdapter = New
Data.OleDb.OleDbDataAdapter
'SQL Code om de comboboxen op te vullen met waarde uit tabel :
rstGroepen.Open("Select * From Groepen ", cnScan_2_Swim,
ADODB.CursorTypeEnum.adOpenDynamic)
daGroepen.Fill(dtGroepen, rstGroepen)
cmbGroep.DataSource = dtGroepen
cmbGroep.DisplayMember = "Groepsnaam"
cmbGroep.ValueMember = "GroepId"
• Private Sub cbxgroep_CheckedChanged()
If cbxgroep.Checked Then
cmbGroep.Enabled = True
Else
cmbGroep.Enabled = False
End If
Robin Tillie 38
Public Class Aanwezigheidslijst
• Private Sub pcbZoeken_Click()
'SQL Code om datagrid op te vullen met waarden uit tabel :
sql = "SELECT Leden.Licentienummer, Leden.naam , Leden.voornaam ,
Count(Aanwezigheden.Licentienummer) AS Aantal_Keer, betaald
FROM Leden LEFT JOIN Aanwezigheden ON Leden.Licentienummer =
Aanwezigheden.Licentienummer "
'Als er een checkbox aangevinkt is :
If cbxBestuursfunctie.Checked = True Or cbxFunctie.Checked = True Or
cbxGraad.Checked = True Or cbxgroep.Checked = True Or cbxCategorie.Checked
= True Or cbxBegindatum.Checked = True Or cbxEinddatum.Checked = True Or
cbxBetalers.Checked = True Or cbxNiet_Betalers.Checked = True Then
sql = sql & " where "
End If
'SQL statement samenstellen uit de elementen die geselecteerd zijn:
If cbxBestuursfunctie.Checked = True Then
sql = sql & " Bestuursfunctie = " & cmbBestuursfunctie.SelectedValue
vlag = True
End If
If cbxFunctie.Checked = True Then
If vlag Then
sql = sql & " and "
End If
vlag = True
sql = sql & " functie = " & cmbFunctie.SelectedValue
End If
If cbxBegindatum.Checked = True Then
If vlag Then
sql = sql & " and "
End If
vlag = True
sql = sql & " (((Aanwezigheden.Datum)>=#" &
FormatDateTime(CDate(DateTimePickerBegin.Value),
DateFormat.ShortDate) & "#))"
End If
sql = sql & " GROUP BY Leden.Licentienummer, Leden.naam, Leden.voornaam,
betaald order by Leden.naam, Leden.voornaam"
Robin Tillie 39
Beschrijving:
Het overzicht van de aanwezigheden kan hier ook afgeprint worden. Hierbij wordt een Word
document op de achtergrond geopend. In het document wordt er gebruik gemaakt van een tabel die
opgevuld wordt met de waarden uit de (gefilterde) datagridview.
Code/procedures :
Public Class Aanwezigheidslijst
• Private Sub pcbPrintenOverzicht_Click()
Dim objWord As Microsoft.Office.Interop.Word.Application
objRow.Cells.Item(1).Range.Text =
rstAanw.Fields.Item("licentienummer").Value
objRow.Cells.Item(2).Range.Text = rstAanw.Fields.Item("naam").Value
objRow.Cells.Item(3).Range.Text = rstAanw.Fields.Item("voornaam").Value
objRow.Cells.Item(4).Range.Text = rstAanw.Fields.Item("aantal_keer").Value
If rstAanw.Fields.Item("betaald").Value = False Then
objRow.Cells.Item(5).Range.Text = "nee"
Else
objRow.Cells.Item(5).Range.Text = "ja"
End If
Bestandsnaam:
Aanwezigheidslijst.vb