Scan2Swim DB_SQL
-
Upload
informaticabeheer-kaoudenaarde -
Category
Documents
-
view
212 -
download
0
description
Transcript of Scan2Swim DB_SQL
Opdrachtgevers:
Mevr. Ann Van Landuyt
Mevr. Natacha Bauwens
Dhr. Michaël De Schutter
Robin Tillie
Schooljaar : 2009 – 2010
Robin Tillie 2
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
Robin Tillie 4
ERD
Robin Tillie
ERD
5
Robin Tillie 6
Data dictionary
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
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 :
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 :
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 :
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 :
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 :
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 :
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 :
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 :
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
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 :
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 :
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 :
Robin Tillie 20
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
21
keuze maken tussen één van de 4 delen
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
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.
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.
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)
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
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
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
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.
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
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
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
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)
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
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
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
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
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 "
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
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"
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