Scan2Swim Technisch ontwerp

39
Robin Tillie Schooljaar : 2009 – 2010 Opdrachtgevers: Mevr. Ann Van Landuyt Mevr. Natacha Bauwens Dhr. Michaël De Schutter

description

Schooljaar : 2009 – 2010 Opdrachtgevers: Dhr. Michaël De Schutter Robin Tillie Robin Tillie 2

Transcript of Scan2Swim Technisch ontwerp

Page 1: Scan2Swim Technisch ontwerp

Robin Tillie

Schooljaar : 2009 – 2010

Opdrachtgevers:

Mevr. Ann Van Landuyt

Mevr. Natacha Bauwens

Dhr. Michaël De Schutter

Page 2: Scan2Swim Technisch ontwerp

Robin Tillie 2

Page 3: Scan2Swim Technisch ontwerp

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

Page 4: Scan2Swim Technisch ontwerp

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

Page 5: Scan2Swim Technisch ontwerp

Robin Tillie 5

ERD

Page 6: Scan2Swim Technisch ontwerp

Robin Tillie

ERD

6

Page 7: Scan2Swim Technisch ontwerp

Robin Tillie 7

Data dictionary

Page 8: Scan2Swim Technisch ontwerp

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

Page 9: Scan2Swim Technisch ontwerp

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 :

Page 10: Scan2Swim Technisch ontwerp

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 :

Page 11: Scan2Swim Technisch ontwerp

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 :

Page 12: Scan2Swim Technisch ontwerp

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 :

Page 13: Scan2Swim Technisch ontwerp

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 :

Page 14: Scan2Swim Technisch ontwerp

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 :

Page 15: Scan2Swim Technisch ontwerp

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 :

Page 16: Scan2Swim Technisch ontwerp

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 :

Page 17: Scan2Swim Technisch ontwerp

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

Page 18: Scan2Swim Technisch ontwerp

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 :

Page 19: Scan2Swim Technisch ontwerp

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 :

Page 20: Scan2Swim Technisch ontwerp

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 :

Page 21: Scan2Swim Technisch ontwerp

Robin Tillie 21

Schermen

Page 22: Scan2Swim Technisch ontwerp

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

Page 23: Scan2Swim Technisch ontwerp

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

Page 24: Scan2Swim Technisch ontwerp

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.

Page 25: Scan2Swim Technisch ontwerp

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.

Page 26: Scan2Swim Technisch ontwerp

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

Page 27: Scan2Swim Technisch ontwerp

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

Page 28: Scan2Swim Technisch ontwerp

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

Page 29: Scan2Swim Technisch ontwerp

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

Page 30: Scan2Swim Technisch ontwerp

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

Page 31: Scan2Swim Technisch ontwerp

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

Page 32: Scan2Swim Technisch ontwerp

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

Page 33: Scan2Swim Technisch ontwerp

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

Page 34: Scan2Swim Technisch ontwerp

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

Page 35: Scan2Swim Technisch ontwerp

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

Page 36: Scan2Swim Technisch ontwerp

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

Page 37: Scan2Swim Technisch ontwerp

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

Page 38: Scan2Swim Technisch ontwerp

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"

Page 39: Scan2Swim Technisch ontwerp

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