Scan2Swim DB_SQL

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

description

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

Transcript of Scan2Swim DB_SQL

Page 1: Scan2Swim DB_SQL

Opdrachtgevers:

Mevr. Ann Van Landuyt

Mevr. Natacha Bauwens

Dhr. Michaël De Schutter

Robin Tillie

Schooljaar : 2009 – 2010

Page 2: Scan2Swim DB_SQL

Robin Tillie 2

Page 3: Scan2Swim DB_SQL

Robin Tillie 3

Inhoudsopgave

ERD .................................................................................................................................. 5

Data dictionary ................................................................................................................. 7

Tabel : Tbl_Leden ................................................................................................................................................ 7

Concrete inhoud van de Tabel : Tbl_Leden : .................................................................................................. 8

Tabel : Tbl_Groepen ........................................................................................................................................... 9

Concrete inhoud van de Tabel : Tbl_Groepen : .............................................................................................. 9

Tabel : Tbl_Graad .............................................................................................................................................. 10

Concrete inhoud van de Tabel : Tbl_Graad : ................................................................................................ 10

Tabel : Tbl_ Categorieën ................................................................................................................................... 11

Concrete inhoud van de Tabel : Tbl_Categoriën : ........................................................................................ 11

Tabel : Tbl_Functies .......................................................................................................................................... 12

Concrete inhoud van de Tabel : Tbl_Functies : ............................................................................................ 12

Tabel : Tbl_Bestuursfuncties............................................................................................................................. 13

Concrete inhoud van de Tabel : Tbl_Bestuursfuncties : ............................................................................... 13

Tabel : Tbl_Barcodes ......................................................................................................................................... 14

Concrete inhoud van de Tabel : Tbl_Barcodes : ........................................................................................... 14

Tabel : Tbl_Aanwezigheden .............................................................................................................................. 15

Concrete inhoud van de Tabel : Tbl_Aanwezigheden : ................................................................................ 15

Tabel : Tbl_Trainingsgegevens .......................................................................................................................... 16

Concrete inhoud van de Tabel : Tbl_ Trainingsgegevens : .......................................................................... 17

Tabel : Tbl_Soorten ........................................................................................................................................... 18

Concrete inhoud van de Tabel : Tbl_ Soorten : ........................................................................................... 18

Tabel : Tbl_Uren ............................................................................................................................................... 19

Concrete inhoud van de Tabel : Tbl_ Uren : ................................................................................................ 19

Schermen ....................................................................................................................... 21

Ledenbeheer ..................................................................................................................................................... 23

Ledenlijst ........................................................................................................................................................... 24

Ledengegevens ................................................................................................................................................. 28

Ledenonderhoud .............................................................................................................................................. 33

Aanwezigheidsregistratie ................................................................................................................................. 35

Aanwezigheidslijst ............................................................................................................................................ 37

Page 4: Scan2Swim DB_SQL

Robin Tillie 4

ERD

Page 5: Scan2Swim DB_SQL

Robin Tillie

ERD

5

Page 6: Scan2Swim DB_SQL

Robin Tillie 6

Data dictionary

Page 7: Scan2Swim DB_SQL

Robin Tillie 7

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 8: Scan2Swim DB_SQL

Robin Tillie 8

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 9: Scan2Swim DB_SQL

Robin Tillie 9

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 10: Scan2Swim DB_SQL

Robin Tillie 10

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 11: Scan2Swim DB_SQL

Robin Tillie 11

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 12: Scan2Swim DB_SQL

Robin Tillie 12

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 13: Scan2Swim DB_SQL

Robin Tillie 13

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 14: Scan2Swim DB_SQL

Robin Tillie 14

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 15: Scan2Swim DB_SQL

Robin Tillie 15

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 16: Scan2Swim DB_SQL

Robin Tillie 16

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 17: Scan2Swim DB_SQL

Robin Tillie 17

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 18: Scan2Swim DB_SQL

Robin Tillie 18

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 19: Scan2Swim DB_SQL

Robin Tillie 19

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 20: Scan2Swim DB_SQL

Robin Tillie 20

Schermen

Page 21: Scan2Swim DB_SQL

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

21

keuze maken tussen één van de 4 delen

Page 22: Scan2Swim DB_SQL

Robin Tillie 22

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 23: Scan2Swim DB_SQL

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()

23

delen van het ledenbeheer.

Page 24: Scan2Swim DB_SQL

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

Dit is het ledenlijst scherm. Hier kan de volgende actie’s uitvoeren:

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

en op “Zoeken” te klikken. Hierna krijg je enkel de gefilterde weergave van de datagridview

24

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

de datagridview te zien.

Page 25: Scan2Swim DB_SQL

Robin Tillie 25

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() 'SQL Code om de tabel 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)

Page 26: Scan2Swim DB_SQL

Robin Tillie 26

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 ()

'SQL Code om de tabel 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)

'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

Page 27: Scan2Swim DB_SQL

Robin Tillie 27

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 DB_SQL

Robin Tillie

Ledengegevens

Omschrijving:

Dit is het ledengegevens scherm. Hier krijg je een overzicht van alle gegevens van het lid

de volgende actie’s uitvoeren:

• Wijzigen

• Gegevens printen

• Barcode printen

Beschrijving:

De gegevens van het geselecteerde lid worden opgehaald door het unieke

lid dat opgeslagen werd in een variabele in de module.

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

lid dat opgeslagen werd in een variabele in de module.

28

ledengegevens scherm. Hier krijg je een overzicht van alle gegevens van het lid . Je kan hier

licentienummer van het

Page 29: Scan2Swim DB_SQL

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)

lblVoornaam.Text = rstLidgegevens.Fields.Item("voornaam").Value

lblAchternaam.Text = rstLidgegevens.Fields.Item("naam").Value

txtLicentienummer.Text = rstLidgegevens.Fields.Item("licentienummer").Value

txtVoornaam.Text = rstLidgegevens.Fields.Item("voornaam").Value

txtNaam.Text = rstLidgegevens.Fields.Item("naam").Value

txtGeboortedatum.Text = rstLidgegevens.Fields.Item("geboortedatum").Value

txtGeslacht.Text = rstLidgegevens.Fields.Item("geslacht").Value

txtTelefoonnummer.Text = rstLidgegevens.Fields.Item("telefoonnummer").Value

txtGroep.Text = rstLidgegevens.Fields.Item("groepsnaam").Value

txtGraad.Text = rstLidgegevens.Fields.Item("gr").Value

txtFunctie.Text = rstLidgegevens.Fields.Item("fct").Value

txtBestuursfunctie.Text = rstLidgegevens.Fields.Item("best").Value

If rstLidgegevens.Fields.Item("betaald").Value = True Then

beta.Checked = True

Else

beta.Checked = False

End If

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.

Page 30: Scan2Swim DB_SQL

Robin Tillie 30

Code/procedures :

Public Class Ledengegevens

• Private Sub pcbPrintGegevensLid_Click()

'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

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

Page 31: Scan2Swim DB_SQL

Robin Tillie 31

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 32: Scan2Swim DB_SQL

Robin Tillie 32

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.Execute("update leden set betaald = " & beta.Checked & "

where licentienummer = '" & txtLicentienummer.Text & "'"

Bestandsnaam:

Ledengegevens.vb

Page 33: Scan2Swim DB_SQL

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

Ozeka en worden alle gegevens bijgewerkt.

worden alle gegevens verwijderd uit de tabellen

eerst opgehaald en dan ingevoegd in de

Code/procedures :

Public Class Ledenonderhoud

• Private Function ConnectString()

• Private Sub pcbUpdate_Click(

'verwijderen inhoud tabellen

cnScan_2_Swim.Execute("delete * from barcodes"

cnScan_2_Swim.Execute("delete *

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

Cmd2.CommandText = "SELECT * FROM Categorie"

i = i + 1

' invoegen in tabel Categoriën

cnScan_2_Swim.Execute("insert into categorieën (categorieID,categorie)

values ('" & tabel(j, 0) &

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

pcbUpdate_Click( )

'verwijderen inhoud tabellen

"delete * from barcodes")

"delete * from bestuursfuncties")

"delete * from functies")

"delete * from graad")

"delete * from groepen")

"delete * from categorieën")

categorieën

"SELECT * FROM Categorie"

' invoegen in tabel Categoriën

"insert into categorieën (categorieID,categorie)

& tabel(j, 0) & "','" & tabel(j, 1) & "')")

33

Dit is het ledenonderhoud scherm. Hier kan je de database update door op de knop “ update “ te

de website van de zwemclub

ODBC en ADODB. Eerst

dan worden alle gegeven van de PHP database

"insert into categorieën (categorieID,categorie)

Page 34: Scan2Swim DB_SQL

Robin Tillie 34

' overzetten van groepen

Cmd2.CommandText = "SELECT * FROM Groep"

' invoegen in tabel groepen

cnScan_2_Swim.Execute("insert into groepen (groepID,groepsnaam) values ('"

& tabel(j, 0) & "','" & tabel(j, 1) & "')")

' overzetten van graad

Cmd2.CommandText = "SELECT * FROM Graad"

' invoegen in tabel graad

cnScan_2_Swim.Execute("insert into graad (graadID,graad) values ('" &

tabel(j, 0) & "','" & tabel(j, 1) & "')")

' overzetten van functie

Cmd2.CommandText = "SELECT * FROM Functie"

' invoegen in tabel functie

cnScan_2_Swim.Execute("insert into functies (functieID,functie) values ('"

& tabel(j, 0) & "','" & tabel(j, 1) & "')")

' overzetten van bestuursfunctie

Cmd2.CommandText = "SELECT * FROM Bestuursfuncties"

' invoegen in tabel bestuursfunctie

cnScan_2_Swim.Execute("insert into bestuursfuncties

(BestuursfunctieID,Bestuursfunctie) values ('" & tabel(j, 0) & "','" &

tabel(j, 1) & "')")

' overzetten van leden

Cmd1.CommandText = "SELECT * FROM Leden"

' invoegen in tabel barcodes

cnScan_2_Swim.Execute("insert into barcodes (barcode) values ('" & tabel(j,

0) & "')")

str = "Select licentienummer From Leden WHERE licentienummer = '" &

tabel(j, 0) & "'"

' invoegen in tabel leden

str = "insert into Leden (licentienummer, naam,

voornaam,geboortedatum,geslacht,telefoonnummer,[e-

mail],groep,graad,categorie,functie,bestuursfunctie, [update] " & _

" ) values ( '" & tabel(j, 0) & "', '" & tabel(j, 1) & "', '" & tabel(j, 2)

& _ "', '" & tabel(j, 12) & "', '" & tabel(j, 3) & "', '" & tabel(j, 10) &

"', '" & _ tabel(j, 11) & "', " & tabel(j, 8) & ", " & tabel(j, 6) & ", " &

_ tabel(j, 7) & ", " & tabel(j, 4) & " , " & tabel(j, 5) & ", " & 1 & " )"

str = "update Leden set Leden.[update] = " & 1 & ", " & _

" naam= '" & tabel(j, 1) & "', " & _

" voornaam='" & tabel(j, 2) & "', " & _

" geboortedatum='" & tabel(j, 12) & "'," & _

" geslacht= '" & tabel(j, 3) & "', " & _

" telefoonnummer= '" & tabel(j, 10) & "', " & _

" [e-mail]='" & tabel(j, 11) & "', " & _

" groep=" & tabel(j, 8) & ", " & _

" graad=" & tabel(j, 6) & ", " & _

" categorie=" & tabel(j, 7) & ", " & _

" functie=" & tabel(j, 4) & ", " & _

" bestuursfunctie =" & tabel(j, 5) & " where

licentienummer='" & tabel(j, 0) & "'"

cnScan_2_Swim.Execute("delete from leden where leden.[update]=0")

Bestandsnaam: Ledenonderhoud.vb

Page 35: Scan2Swim DB_SQL

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

35

Dit is het aanwezigheidsregistratie scherm. Hier worden alle aanwezigheden geregistreerd door het

er een record toegevoegd aan de tabel

Page 36: Scan2Swim DB_SQL

Robin Tillie 36

Code/procedures :

Public Class Aanwezigheidsregistratie

• Private Sub txtLicentie_KeyPress()

cnScan_2_Swim.Execute("insert into Aanwezigheden(Licentienummer, Datum,

Uur_van_aankomst) values( '" & txtLicentie.Text & "', '" &

CDate(lblDatum.Text) & "', '" & CDate(lblTijd.Text) & "' )")

Bestandnaam:

Aanwezigheidsregistratie.vb

Page 37: Scan2Swim DB_SQL

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.

37

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 38: Scan2Swim DB_SQL

Robin Tillie 38

Code/procedures :

Public Class Aanwezigheidslijst

• Private Sub Aanwezigheidslijst_Load()

'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"

rstGraden.Open("Select * From Graad ", cnScan_2_Swim,

ADODB.CursorTypeEnum.adOpenDynamic)

daGraden.Fill(dtGraden, rstGraden)

cmbGraad.DataSource = dtGraden

cmbGraad.DisplayMember = "Graad"

cmbGraad.ValueMember = "Graadid"

rstFuncties.Open("Select * From Functies", cnScan_2_Swim,

ADODB.CursorTypeEnum.adOpenDynamic)

daFuncties.Fill(dtFuncties, rstFuncties)

cmbFunctie.DataSource = dtFuncties

cmbFunctie.DisplayMember = "Functie"

cmbFunctie.ValueMember = "FunctieId"

rstBestuursfuncties.Open("Select * From Bestuursfuncties", cnScan_2_Swim,

ADODB.CursorTypeEnum.adOpenDynamic)

daBestuursfuncties.Fill(dtBestuursfuncties, rstBestuursfuncties)

cmbBestuursfunctie.DataSource = dtBestuursfuncties

cmbBestuursfunctie.DisplayMember = "Bestuursfunctie"

cmbBestuursfunctie.ValueMember = "Bestuursfunctieid"

rstCategoriëen.Open("Select * From Categorieën", cnScan_2_Swim,

ADODB.CursorTypeEnum.adOpenDynamic)

daCategoriëen.Fill(dtCategoriëen, rstCategoriëen)

cmbCategorie.DataSource = dtCategoriëen

cmbCategorie.DisplayMember = "Categorie"

cmbCategorie.ValueMember = "Categorieid"

• Private Sub cbxgroep_CheckedChanged()

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 "

Page 39: Scan2Swim DB_SQL

Robin Tillie 39

'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

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 cbxGraad.Checked = True Then

If vlag Then

sql = sql & " and "

End If

vlag = True

sql = sql & " graad = " & cmbGraad.SelectedValue

End If

If cbxgroep.Checked = True Then

If vlag Then

sql = sql & " and "

End If

vlag = True

sql = sql & " groep = " & cmbGroep.SelectedValue

End If

If cbxCategorie.Checked = True Then

If vlag Then

sql = sql & " and "

End If

vlag = True

sql = sql & " Categorie = " & cmbCategorie.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

Page 40: Scan2Swim DB_SQL

Robin Tillie 40

If cbxEinddatum.Checked = True Then

If vlag Then

sql = sql & " and "

End If

vlag = True

sql = sql & " (((Aanwezigheden.Datum)<=#" &

FormatDateTime(CDate(DateTimePickerEind.Value), DateFormat.ShortDate) &

"#))"

End If

If cbxBetalers.Checked = True Then

If vlag Then

sql = sql & " and "

End If

vlag = True

sql = sql & " betaald = true"

End If

If cbxNiet_Betalers.Checked = True Then

If vlag Then

sql = sql & " and "

End If

vlag = True

sql = sql & " betaald = false"

End If

sql = sql & " GROUP BY Leden.Licentienummer, Leden.naam, Leden.voornaam,

betaald order by Leden.naam, Leden.voornaam"

Page 41: Scan2Swim DB_SQL

Robin Tillie 41

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()

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