Glenn Van Haesendonck
GEINTEGREERDE PROEF
Schooljaar 2010-2011
6 Boekhouden – Informatica
Glenn Van Haesendonck
GEINTEGREERDE PROEF
Schooljaar 2010-2011
6 Boekhouden – Informatica
Woord vooraf Ik, Glenn Van Haesendonck, ben leerling in het zesde jaar Boekhouden – Informatica op KS Joma. Onze school heeft in deze richting gekozen voor een geïntegreerde proef met stage. De geïntegreerde proef is vooral opgesteld in het kader van Toegepaste Informatica en Bedrijfseconomie. Daarnaast zijn er ook enkele kleine opdrachten bij voor Frans, Engels en Nederlands. Ik zou graag mijn titularis en leerkracht Bedrijfseconomie, mijnheer De Hertogh willen bedanken. Ook mevrouw Lamoen bedank voor alle hulp. Ik ben ook grote dank verschuldigd aan mijn stagementor, Kim Vercammen om mijn stage zo leuk en interessant te maakte. Tot slot zou ik ook mijn ouders willen bedanken voor alle steun die ze mij gegeven hebben.
Inhoudsopgave Inleiding .................................................................................................................................................1 Bedrijfseconomie ..................................................................................................................................2 1 Voorstelling van het stagebedrijf .......................................................................................................2 1.1 Gegevens stagebedrijf.....................................................................................................................2 1.2 Historiek ..........................................................................................................................................2 1.2 Missie en doelstellingen ..................................................................................................................2 1.3 Organogram ....................................................................................................................................3 1.4 Foto’s ...............................................................................................................................................3 1.5 Powerpoint ......................................................................................................................................4 2 Stageverslag .......................................................................................................................................6 3 Analyse van de jaarrekening in euro ..................................................................................................7 3.1 Activa ...............................................................................................................................................7 3.2 Passiva .............................................................................................................................................8 3.3 Resultatenrekening .........................................................................................................................9 3.4 Activa gegroepeerd ...................................................................................................................... 10 3.5 Passiva gegroepeerd .................................................................................................................... 10 3.6 Resultaten rekening gegroepeerd................................................................................................ 10 3.7 Horizontale analyse ...................................................................................................................... 11 3.8 Verticale analyse .......................................................................................................................... 14 3.9 Solvabiliteit ................................................................................................................................... 17 3.10 Liquiditeit ................................................................................................................................... 19 3.11 Rentabiliteit ................................................................................................................................ 20 3.12 Ebit en ebitda ............................................................................................................................. 21 3.13 Cashflow ..................................................................................................................................... 22 Toegepaste Informatica ..................................................................................................................... 23 1 Opdracht ......................................................................................................................................... 23 2 Ontwerp databank .......................................................................................................................... 27 2.1 ERD model .................................................................................................................................... 27 2.2 Relaties ......................................................................................................................................... 28 2.3 3de Normaalverdeling .................................................................................................................. 29 2.4 Voorstelling formulieren .............................................................................................................. 30 3 Code en applicatiebespreking ......................................................................................................... 33 3.1 frmMSDS ...................................................................................................................................... 33 3.2 frmLeveranciers............................................................................................................................ 58
3.3 frmToepassing .............................................................................................................................. 60 3.4 frmZoeken .................................................................................................................................... 62 4 Communicatie met de eindgebruiker ............................................................................................. 65 Frans ................................................................................................................................................... 66 1 Le curriculum Vitae ......................................................................................................................... 66 2 Le rappel .......................................................................................................................................... 68 3 Une prÊsentation orale de l’entreprise de stage ............................................................................ 69 Engels ................................................................................................................................................. 70 1 English manual ................................................................................................................................ 70 1 Add a supplier ................................................................................................................................. 70 2 Add a use ......................................................................................................................................... 71 3 Add a new sensitizing substance..................................................................................................... 71 4 Print a summary .............................................................................................................................. 72 5 Search for a MSDS ........................................................................................................................... 73 6 Add a new MSDS ............................................................................................................................. 74 Besluit................................................................................................................................................. 75
Inleiding Het doel van deze ge誰ntegreerde proef was het leren werken met deadlines, inzicht krijgen in programmeren en in de boekhouding van een bedrijf. De stage liet goed zien hoe het er op de werkvloer aan toe gaat. Voor Bedrijfseconomie hebben we een stage van twee weken op een boekhoudkantoor gekregen. Ik heb deze stage afgelegd bij boekhoudkantoor Vercammen in Deurne. Ook moesten we een jaarrekening van een van de klanten van het stagebedrijf doorlichten en hier uitleg bij geven. Ikzelf heb het bedrijf Colruyt service Group genomen omdat mijn stagebedrijf geen klanten had met een volledige jaarrekening. Voor onze opdracht van Toegepaste Informatica moest ik een applicatie schrijven voor een olieverwerkend bedrijf. Dit programma moest info bevatten van enkele MSDS. ook moest ik nieuwe MSDS kunnen ingeven, zoeken en etiketten en een overzichtslijst kunnen afdrukken met deze applicatie. Voor Frans moesten we een sollicitatiebrief opstellen en een klachtenbrief voor slecht betalende klanten. Ook moesten we een handleiding voor onze applicatie schrijven in het Engels.
Glenn Van Haesendonck
6BI
1
Bedrijfseconomie 1 Voorstelling van het stagebedrijf 1.1 Gegevens stagebedrijf
Vercammen Pascal Erkend boekhouder – Fiscalist B.I.B.F. 204.181 Lakborslei 154 2100 Deurne Tel: 03/222.94.00 Fax: 03/289.74.79
1.2 Historiek
In 1981 is Pascal Vercammen, de zaakvoerder, als boekhouder in bijberoep begonnen. In de loop der jaren heeft hij zijn cliënteel opgebouwd. Totdat hij in 1994 zijn dag job had opgegeven door de grote uitbreiding van zijn cliënteel. Vanaf toen is hij boekhouder als hoofdberoep gaan uitoefenen. Tien jaar erna, in 2004, heeft hij zijn eerste personeelslid aangenomen. Namelijk Kim Vercammen, zijn dochter. Omdat zijn cliënteel steeds bleef groeien heeft hij ook een tweede personeelslid in dienst genomen.
1.2 Missie en doelstellingen
Het verzorgen van de volledige boekhouding De cliënten met fiscale advies bijstaan waar nodig Startende zelfstandigen vanaf stap 1 volledig begeleiden
Glenn Van Haesendonck
6BI
2
1.3 Organogram
Pascal Vercammen: Bedrijfsleider, Fiscale verwerking van dossiers Kim Vercammen: Contact met klanten, Volledige boekhouding en begeleiding cliënteel Kwankaew Sinchu: Algemene administratie, telefoniste, input van facturatie Zaakvoerder, Boekhouder Pascal Vercammen
Assistent boekhouder Kim Vercammen
Assistent boekhouder, receptie Kwankaew Sinchu
Glenn Van Haesendonck
1.4 Foto’s
Glenn Van Haesendonck
6BI
3
1.5 Powerpoint
Glenn Van Haesendonck
6BI
4
Glenn Van Haesendonck
6BI
5
2 Stageverslag Naam stagiair
Glenn Van Haesendonck
Naam en adres stagebedrijf
Stageperiode
Vercammen Pascal Lakborsei 154 2100 Deurne 17 januari 2011 – 28 januari 2011
Stagementoren
Kim Vercammen
Verloop van je stage Op mijn stagebedrijf was maar één afdeling: de boekhoudafdeling. Het is een familiebedrijf met drie personeelsleden. Ik heb gedurende twee weken vrij veel geklasseerd. Mijn andere taken waren het opmaken van een informerende brief naar de klanten gericht, klantengegevens opmaken in Excel, boeken in het boekhoudprogramma Popsy 3.0 en het opmaken van verkoopfacturen en creditnota’s voor het boekhoudkantoor zelf. Evaluatie van je stage Wat ik positief vond aan de stage was dat je een goed overzicht kreeg van wat er allemaal bij een boekhouding komt kijken. Ik vond het ook goed dat je zicht kreeg op de inkomsten en uitgaven van bedrijven. De taken die vlot verliepen waren het boeken van facturen en creditnota’s. Ook het bewerken van klantengegevens ging vlot, omdat ik wel goed overweg kan met Excel. Het negatieve aan de stage was het vele klasseren. Daar had ik ook moeilijkheden mee, omdat niet alle klanten hun bankafschriften op volgorde staken. Daarom verliep dit vrij traag, omdat ik die dan eerst op volgorde moest steken. Ook bij het klasseren van facturen ondervond ik enkele problemen. Namelijk dat niet alle documenten op de naam van de firma stonden en het dan soms moeilijk is te achterhalen waar je die juist moet steken. Ik had wel verwacht dat ik meer in contact zou komen met klanten, maar omdat het een klein bedrijf is met weinig klanten, is het wel normaal dat ik enkel goedendag kon zeggen.
Toekomstperspectieven Ik denk na mijn stage niet dat ik een boekhouder ga worden. Heel de dag achter een bureau zitten, is echt niets voor mij. Maar ik heb eigenlijk nog geen idee welk beroep ik later wil gaan uitoefenen. Ik heb wel ontdekt dat sociaal contact op de werkvloer zeer belangrijk is en dat ik veel ordelijker ben dan verwacht.
Glenn Van Haesendonck
6BI
6
3 Analyse van de jaarrekening in euro Dit is de jaarrekening van Colruyt Services Group. Ik heb deze gekozen omdat dit een winstgevend bedrijf is in de sector: niet gespecialiseerde kleinhandel in voedings- en genotsmiddelen. De gegevens van Colruyt zijn in euro. De sectorgegevens zijn uitgedrukt in duizenden euro. De Jaarrekeningen van Colruyt en de sectorgegevens zitten in de bijlagen. 3.1 Activa
ACTIVA Vaste Activa Oprichtingskosten Immateriële vaste activa Materiële vaste activa Terreinen en gebouwen Installaties, machines en uitrusting Meubilair en rollend materieel Leasing en soortgelijke rechten Overige materiële vaste activa Activa in aanbouw en vooruitbetalingen Financiële vaste activa Verbonden ondernemingen Deelnemingen Vorderingen Ondernemingen waarmee een deelnemingsverhouding bestaat Deelnemingen Vorderingen Andere financiële vaste activa Aandelen Vorderingen en brogtochten in contanten VLOTTENDE ACTIVA Vorderingen op meer dan één jaar Handelsvorderingen Overige vorderingen Voorraden en bestellingen in uitvoering Voorraden Grond- en hulpstoffen Goederen in bewerking Gereed product Handelsgoederen Onroerende goederen bestemd voor verkoop Vooruitbetalingen Bestellingen in uitvoering Vorderingen op ten hoogste één jaar Handelsvorderingen Overige vorderingen Geldbeleggingen Eigen aandelen Overige beleggingen Liquide middelen Overlopende rekeningen TOTAAL VAN DE ACTIVA
Glenn Van Haesendonck
20/28 20 21 22/27 22 23 24 25 26 27 28 280/1 280 281 282/3 282 283 284/8 284 285/8 29/58 29 290 291 3 30/36 30/31 32 33 34 35 36 37 40/41 40 41 50/53 50 51/53 54/58 490/1 20/58
6BI
2010 928 086 502,00 0,00 8 286 325,00 19 177 200,00 948 318,00 1 228 612,00 15 675 205,00 0,00 691 240,00 633 825,00 900 622 977,00 900 604 293,00 775 604 293,00 125 000 000,00 0,00 0,00 0,00 18 684,00 0,00 18 684,00 57 725 605,00 0,00 0,00 0,00 10 468 101,00 4 537 222,00 0,00 645 898,00 0,00 3 885 114,00 0,00 6 210,00 5 930 880,00 31 938 715,00 31 854 936,00 83 779,00 0,00 0,00 0,00 11 494 878,00 3 823 911,00 985 812 108,00
2009 921 307 369,00 0,00 3 067 224,00 17 630 774,00 448 622,00 1 370 605,00 13 808 300,00 0,00 92 753,00 1 910 495,00 900 609 371,00 900 590 687,00 775 590 687,00 125 000 000,00 0,00 0,00 0,00 18 684,00 0,00 18 684,00 42 217 299,00 0,00 0,00 0,00 9 515 903,00 5 038 713,00 0,00 1 019 197,00 0,00 4 015 270,00 0,00 4 246,00 4 477 189,00 5 213 143,00 4 910 903,00 302 240,00 0,00 0,00 0,00 24 965 796,00 2 522 457,00 963 524 667,00
2008 Sector 902 433 674,00 8.387.803,00 0,00 6.116,00 2 063 409,00 109.019,00 11 914 059,00 1.539.932,00 170 519,00 611.646,00 853 874,00 309.845,00 10 388 531,00 111.480,00 0,00 262.979,00 85 694,00 187.603,00 415 440,00 56.379,00 888 456 206,00 6.732.736,00 888 437 522,00 6.680.761,00 888 437 522,00 6.680.601,00 0,00 160,00 0,00 49.738,00 0,00 49.738,00 0,00 0,00 18 684,00 2.237,00 0,00 597,00 18 684,00 1.640,00 29 988 446,00 4.736.724,00 0,00 40.633,00 0,00 1,00 0,00 40.632,00 7 191 945,00 1.150.128,00 4 756 479,00 1.149.219,00 0,00 13.070,00 1 171 156,00 291,00 0,00 10.839,00 3 531 960,00 1.098.974,00 0,00 0,00 53 362,00 26.045,00 2 435 466,00 909,00 4 227 496,00 1.211.028,00 3 020 634,00 966.426,00 1 206 862,00 244.602,00 0,00 1.929.719,00 0,00 206.453,00 0,00 1.723.266,00 16 477 772,00 359.997,00 2 091 233,00 45.219,00 932 422 120,00 13.123.234,00
7
3.2 Passiva
PASSIVA EIGEN VERMOGEN Kapitaal Geplaatst kapitaal Niet-opgevraagd kapitaal Uitgiftepremies Herwaarderingsmeerwaarden Reserves Wettelijke reserves Onbeschikbare reserves Voor eigen aandelen Andere Belastingvrije reserves Beschikbare reserves Overgedragen winst (verlies) Kapitaalsubsidies Voorschot aan de vennoten op de verdeling van het netto-actief VOORZIENINGEN EN UITGESTELDE BELASTINGEN Voorzieningen voor risico's en kosten Pensioenen en soortgelijke verplichtingen Belastingen Grote herstellings- en onderhoudswerken Overige risico's en kosten Uitgestelde belastingen SCHULDEN Schulden op meer dan één jaar Financiële schulden Achtergestelde leningen Niet-achtergestelde obligatieleningen Leasingschulden en soortgelijke schulden Kredietinstellingen Overige leningen Handelsschulden Leveranciers Te betalen wissels Ontvangen vooruitbetalingen op bestellingen Overige schulden Schulden op ten hoogste één jaar Schulden op meer dan één jaar die binnen het jaar vervallen Financiële schulden Kredietinstellingen Overige leningen Handelsschulden Leveranciers Te betalen wissels Ontvangen vooruitbetalingen op bestellingen Schulden m.b.t. belastingen, bezoldigingen en sociale lasten Belastingen Bezoldiging en sociale lasten Overige schulden Overlopende rekeningen TOTAAL DER PASSIVA
Glenn Van Haesendonck
10/15 10 100 101 11 12 13 130 131 1310 1311 132 133 14 15 19 16 160/5 160 161 162 163/5 168 17/49 17 170/4 170 171 172 173 174 175 1750 1751 176 178/9 42/48 42 43 430/8 439 44 440/4 441 46 45 450/3 454/9 47/48 492/3 10/49
6BI
2010 928 567 565,00 890 447 000,00 890 447 000,00 0,00 0,00 0,00 1 914 572,00 1 914 273,00 0,00 0,00 0,00 299,00 0,00 36 205 993,00 0,00 0,00 381 111,00 381 111,00 381 111,00 0,00 0,00 0,00 0,00 56 863 432,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 56 434 006,00 0,00 0,00 0,00 0,00 14 187 659,00 14 187 659,00 0,00 998 010,00 41 248 337,00 2 196 049,00 39 052 288,00 0,00 429 426,00 985 812 108,00
2009 917 090 015,00 890 447 000,00 890 447 000,00 0,00 0,00 0,00 1 340 476,00 1 340 407,00 0,00 0,00 0,00 69,00 0,00 25 302 539,00 0,00 0,00 162 957,00 162 957,00 162 957,00 0,00 0,00 0,00 0,00 46 271 694,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 46 203 689,00 0,00 0,00 0,00 0,00 9 441 241,00 9 441 241,00 0,00 284 606,00 36 477 842,00 1 965 100,00 34 512 742,00 0,00 68 005,00 963 524 667,00
2008 Sector 894 279 518,00 5.183.384,00 890 447 000,00 1.602.982,00 890 447 000,00 1.594.802,00 0,00 8.180,00 0,00 3.224.932,00 0,00 17.151,00 199 886,00 541.151,00 199 886,00 37.920,00 0,00 205.985,00 0,00 205.453,00 0,00 532,00 0,00 72.210,00 0,00 225.036,00 3 632 633,00 282.825,00 0,00 -485.657,00 0,00 0,00 186 004,00 141.446,00 186 004,00 135.643,00 185 781,00 81.383,00 0,00 0,00 0,00 6.080,00 223,00 48.180,00 0,00 5.803,00 37 956 598,00 6.909.493,00 0,00 1.688.833,00 0,00 1.148.685,00 0,00 8.200,00 0,00 917.532,00 0,00 222.953,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 540.148,00 37 880 587,00 5.112.568,00 0,00 462.948,00 0,00 1.499.801,00 0,00 1.094.401,00 0,00 405.400,00 7 946 463,00 2.067.953,00 7 946 463,00 2.067.953,00 0,00 0,00 20 537,00 6.962,00 29 913 587,00 587.825,00 951 722,00 142.421,00 28 961 865,00 445.404,00 0,00 487.079,00 76 011,00 108.092,00 932 422 120,00 13.123.234,00
8
3.3 Resultatenrekening RESULTATENREKENING Bedrijfsopbrengsten 70/74 Omzet 70 Voorraad goederen in bewerking en gereed product en bestellingen in uitvoering: toename (afname) 71 Geproduceerde vaste activa 72 Andere bedrijfsopbrengsten 74 Bedrijfskosten 60/64 Handelsgoederen, grond- en hulpstoffen 60 Aankopen 600/8 Voorraad: afname (toename) 609 Diensten en diverse goederen 61 Bezoldigingen, sociale lasten en pensioenen 62 Afschrijvingen en waardeverminderingen op oprichtingskosten, op immateriële en materiële vaste activa 630 Waardeverminderingen op voorraden, bestellingen in uitvoering en handelsvorderingen: toevoegingen (terugnemingen) 631/4 Voorziening voor risico's en kosten: toevoegingen (terugnemingen) 635/7 Andere bedrijfskosten 640/8 Als herstructureringskosten geactiveerde bedrijfskosten 649 Bedrijfswinst (Bedrijfsverlies) 9901 Financiële opbrengsten 75 Opbrengsten uit financiële vaste activa 750 Opbrengsten uit vlottende activa 751 Andere financiële opbrengsten 752/9 Financiële kosten 65 Kosten van schulden 650 Waardeverminderingen op vlottende activa andere dan voorraden, bestellingen in uitvoering en handelsvorderingen: toevoegingen 651 Andere financiële kosten 652/9 Winst (verlies) uit de gewone bedrijfsuitoefening vóór belasting 9902 Uitzonderlijke opbrengsten 76 Terugneming van afschrijvingen en van waardeverminderingen op immateriële en materiële vaste activa 760 Terugneming van waardeverminderingen op financiële vaste activa 761 Terugneming van voorzieningen voor uitzonderlijke risico's en kosten 762 Meerwaarden bij de realisatie van vaste activa 763 Andere uitzonderlijke opbrengsten 764/9 Uitzonderlijke kosten 66 Uitzonderlijke afschrijvingen en waardeverminderingen op oprichtingskosten, op immateriële en materiële vaste activa 660 Waardeverminderingen op financiële vaste activa Voorzieningen voor uitzonderlijke risico's en kosten: toevoegingen (bestedingen) Minderwaarden bij de realisatie van vaste activa Andere uitzonderlijke kosten Als herstructureringskosten geactiveerde uitzonderlijke kosten Winst (verlies) van het boekjaar vóór belasting Onttrekking aan de uitgestelde belastingen Overboeking naar de uitgestelde belastingen Belastingen op het resultaat Belastingen Regularisering van belastingen en terugneming van voorzieningen voor belastingen Winst (Verlies) van het boekjaar Onttrekking aan de belastingvrije reserves Overboeking naar de belastingvrije reserves Te bestemmen winst (verlies) van het boekjaar
Glenn Van Haesendonck
2010 2009 2008 Sector 172 558 213,00 154 573 871,00 63 291 857,00 19.679.779,00 162 488 774,00 144 066 493,00 62 855 281,00 18.580.027,00 1 080 391,00 3 663 477,00 5 325 571,00 160 744 610,00 19 581 206,00 19 451 050,00 130 156,00 46 612 191,00 85 839 797,00
1 889 764,00 -1 668 622,00 -614,00 4 826 735,00 922 624,00 55.375,00 3 790 878,00 1 182 574,00 1.044.992,00 145 173 615,00 58 144 674,00 19.047.997,00 14 228 405,00 6 130 665,00 14.946.115,00 14 711 715,00 6 857 170,00 14.982.049,00 - 483 310,00 - 726 505,00 -35.934,00 49 365 048,00 18 732 389,00 1.760.525,00 74 252 218,00 29 881 869,00 1.982.005,00
8 243 684,00
7 189 956,00
3 324 083,00
298.409,00
0,00 218 154,00 249 578,00 0,00 11 813 603,00 3 172 132,00 3 135 103,00 25 293,00 11 737,00 80 270,00 67 474,00
3 300,00 - 33 795,00 168 483,00 0,00 9 400 256,00 4 210 160,00 552 822,00 3 643 473,00 13 865,00 172 526,00 171 038,00
- 536,00 65 352,00 10 853,00 0,00 5 147 183,00 169 473,00 583,00 168 110,00 780,00 2 269,00 1 213,00
4.943,00 -4.179,00 51.179,00 0,00 631.782,00 208.421,00 72.020,00 111.243,00 25.158,00 270.560,00 239.918,00
0,00 0,00 12 796,00 1 488,00 14 905 466,00 13 437 890,00 108,00 12 900 459,00
0,00 1 056,00 5 314 387,00 114 347,00
9.935,00 20.707,00 569.643,00 77.856,00
0,00 0,00 0,00 0,00 0,00 0,00 0,00 12 900 433,00 108,00 26,00 26 671,00 143,00
0,00 0,00 0,00 114 347,00 0,00 775,00
419,00 7.836,00 27.615,00 28.372,00 13.614,00 201.700,00
0,00 0,00
0,00 0,00
3.780,00 139.730,00
662 663 664/8 669 9903 780 680 67/77 670/3
0,00 0,00 26 666,00 0,00 5,00 143,00 0,00 0,00 14 878 903,00 26 338 206,00 0,00 0,00 0,00 0,00 3 401 353,00 3 527 709,00 3 487 892,00 3 527 958,00
0,00 0,00 775,00 0,00 5 427 959,00 0,00 0,00 1 924 824,00 1 924 824,00
26.704,00 5.901,00 25.585,00 0,00 445.799,00 991,00 543,00 155.337,00 156.146,00
77 9904 789 689 9905
86 539,00 249,00 11 477 550,00 22 810 497,00 0,00 0,00 230,00 69,00 11 477 320,00 22 810 428,00
0,00 3 503 135,00 0,00 0,00 3 503 135,00
809,00 290.910,00 2.955,00 3.065,00 290.800,00
661
6BI
0,00 0,00
9
3.4 Activa gegroepeerd
ACTIVA Vaste Activa Oprichtingskosten Immateriële vaste activa Materiële vaste activa Financiële vaste activa VLOTTENDE ACTIVA Vorderingen op meer dan één jaar Voorraden en bestellingen in uitvoering Vorderingen op ten hoogste één jaar Geldbeleggingen Liquide middelen Overlopende rekeningen TOTAAL VAN DE ACTIVA
20/28 20 21 22/27 28 29/58 29 3 40/41 50/53 54/58 490/1 20/58
2010 928 086 502,00 0,00 8 286 325,00 19 177 200,00 900 622 977,00 57 725 605,00 0,00 10 468 101,00 31 938 715,00 0,00 11 494 878,00 3 823 911,00 985 812 108,00
2009 2008 921 307 369,00 902 433 674,00 0,00 0,00 3 067 224,00 2 063 409,00 17 630 774,00 11 914 059,00 900 609 371,00 888 456 206,00 42 217 299,00 29 988 446,00 0,00 0,00 9 515 903,00 7 191 945,00 5 213 143,00 4 227 496,00 0,00 0,00 24 965 796,00 16 477 772,00 2 522 457,00 2 091 233,00 963 524 667,00 932 422 120,00
Sector 8.387.803,00 6.116,00 109.019,00 1.539.932,00 6.732.736,00 4.736.724,00 40.633,00 1.150.128,00 1.211.028,00 1.929.719,00 359.997,00 45.219,00 13.123.234,00
3.5 Passiva gegroepeerd
PASSIVA EIGEN VERMOGEN Kapitaal Uitgiftepremies Herwaarderingsmeerwaarden Reserves Overgedragen winst (verlies) Kapitaalsubsidies Voorschot aan de vennoten op de verdeling van het netto-actief VOORZIENINGEN EN UITGESTELDE BELASTINGEN Voorzieningen voor risico's en kosten Uitgestelde belastingen SCHULDEN Schulden op meer dan één jaar Schulden op ten hoogste één jaar Overlopende rekeningen TOTAAL DER PASSIVA
10/15 10 11 12 13 14 15 19 16 160/5 168 17/49 17 42/48 492/3 10/49
2010 928 567 565,00 890 447 000,00 0,00 0,00 1 914 572,00 36 205 993,00 0,00 0,00 381 111,00 381 111,00 0,00 56 863 432,00 0,00 56 434 006,00 429 426,00 985 812 108,00
2009 917 090 015,00 890 447 000,00 0,00 0,00 1 340 476,00 25 302 539,00 0,00 0,00 162 957,00 162 957,00 0,00 46 271 694,00 0,00 46 203 689,00 68 005,00 963 524 667,00
2008 Sector 894 279 518,00 5.183.384,00 890 447 000,00 1.602.982,00 0,00 3.224.932,00 0,00 17.151,00 199 886,00 541.151,00 3 632 633,00 282.825,00 0,00 -485.657,00 0,00 0,00 186 004,00 141.446,00 186 004,00 135.643,00 0,00 5.803,00 37 956 598,00 6.909.493,00 0,00 1.688.833,00 37 880 587,00 5.112.568,00 76 011,00 108.092,00 932 422 120,00 13.123.234,00
3.6 Resultaten rekening gegroepeerd
RESULTATENREKENING Bedrijfsopbrengsten Bedrijfskosten Bedrijfswinst (Bedrijfsverlies) Financiële opbrengsten Financiële kosten Winst (verlies) uit de gewone bedrijfsuitoefening vóór belasting Uitzonderlijke opbrengsten Uitzonderlijke kosten Winst (verlies) van het boekjaar vóór belasting Onttrekking aan de uitgestelde belastingen Overboeking naar de uitgestelde belastingen Belastingen op het resultaat Winst (Verlies) van het boekjaar Onttrekking aan de belastingvrije reserves Overboeking naar de belastingvrije reserves Te bestemmen winst (verlies) van het boekjaar
Glenn Van Haesendonck
70/74 60/64 9901 75 65 9902 76 66 9903 780 680 67/77 9904 789 689 9905
6BI
2010 172 558 213,00 160 744 610,00 11 813 603,00 3 172 132,00 80 270,00 14 905 466,00 108,00 26 671,00 14 878 903,00 0,00 0,00 3 401 353,00 11 477 550,00 0,00 230,00 11 477 320,00
2009 2008 Sector 154 573 871,00 63 291 857,00 19.679.779,00 145 173 615,00 58 144 674,00 19.047.997,00 9 400 256,00 5 147 183,00 631.782,00 4 210 160,00 169 473,00 208.421,00 172 526,00 2 269,00 270.560,00 13 437 890,00 5 314 387,00 569.643,00 12 900 459,00 114 347,00 77.856,00 143,00 775,00 201.700,00 26 338 206,00 5 427 959,00 445.799,00 0,00 0,00 991,00 0,00 0,00 543,00 3 527 709,00 1 924 824,00 155.337,00 22 810 497,00 3 503 135,00 290.910,00 0,00 0,00 2.955,00 69,00 0,00 3.065,00 22 810 428,00 3 503 135,00 290.800,00
10
3.7 Horizontale analyse 3.7.1 Activa
ACTIVA Vaste Activa Oprichtingskosten Immateriële vaste activa Materiële vaste activa Terreinen en gebouwen Installaties, machines en uitrusting Meubilair en rollend materieel Leasing en soortgelijke rechten Overige materiële vaste activa Activa in aanbouw en vooruitbetalingen Financiële vaste activa Verbonden ondernemingen Ondernemingen waarmee een deelnemingsverhouding bestaat Andere financiële vaste activa VLOTTENDE ACTIVA Vorderingen op meer dan één jaar Voorraden en bestellingen in uitvoering Voorraden Bestellingen in uitvoering Vorderingen op ten hoogste één jaar Handelsvorderingen Overige vorderingen Geldbeleggingen Liquide middelen Overlopende rekeningen TOTAAL VAN DE ACTIVA
20/28 20 21 22/27 22 23 24 25 26 27 28 280/1 282/3 284/8 29/58 29 3 30/36 37 40/41 40 41 50/53 54/58 490/1 20/58
2010 Absoluut 25 652 828,00 0,00 6 222 916,00 7 263 141,00 777 799,00 374 738,00 5 286 674,00 0,00 605 546,00 218 385,00 12 166 771,00 12 166 771,00 0,00 0,00 27 737 159,00 0,00 3 276 156,00 - 219 257,00 3 495 414,00 27 711 219,00 28 834 302,00 -1 123 083,00 0,00 -4 982 894,00 1 732 678,00 53 389 988,00
% 2,84% 0,00% 301,58% 60,96% 456,14% 43,89% 50,89% 0,00% 706,64% 52,57% 1,37% 1,37% 0,00% 0,00% 92,49% 0,00% 45,55% -4,61% 143,52% 655,50% 954,58% -93,06% 0,00% -30,24% 82,85% 5,73%
2009 Absoluut 18 873 695,00 0,00 1 003 815,00 5 716 715,00 278 103,00 516 731,00 3 419 769,00 0,00 7 059,00 1 495 055,00 12 153 165,00 12 153 165,00 0,00 0,00 12 228 853,00 0,00 2 323 958,00 282 234,00 2 041 723,00 985 647,00 1 890 269,00 - 904 622,00 0,00 8 488 024,00 431 224,00 31 102 547,00
% 2,09% 0,00% 48,65% 47,98% 163,09% 60,52% 32,92% 0,00% 8,24% 359,87% 1,37% 1,37% 0,00% 0,00% 40,78% 0,00% 32,31% 5,93% 83,83% 23,32% 62,58% -74,96% 0,00% 51,51% 20,62% 3,34%
2008 Absoluut 902 433 674,00 0,00 2 063 409,00 11 914 059,00 170 519,00 853 874,00 10 388 531,00 0,00 85 694,00 415 440,00 888 456 206,00 888 437 522,00 0,00 18 684,00 29 988 446,00 0,00 7 191 945,00 4 756 479,00 2 435 466,00 4 227 496,00 3 020 634,00 1 206 862,00 0,00 16 477 772,00 2 091 233,00 932 422 120,00
% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100%
Via de indexen stellen we bij Colruyt de volgende evoluties vast.
De immateriële vaste activa zijn met 300% gestegen de afgelopen 3 jaar. De materiële vaste activa zijn ten opzichte van 2008 in 2009 met 47% gestegen. In 2010 kende deze weer een stijging. Colruyt heeft de laatste jaren veel geïnvesteerd in nieuwe gebouwen en terreinen. De vorderingen op ten hoogste één jaar is met 600% gestegen. Dit komt door de grote stijging van de handelsvorderingen, namelijk 954%.
Glenn Van Haesendonck
6BI
11
3.7.2 Passiva PASSIVA EIGEN VERMOGEN Kapitaal Uitgiftepremies Herwaarderingsmeerwaarden Reserves Overgedragen winst (verlies) Kapitaalsubsidies Voorschot aan de vennoten op de verdeling van het netto-actief VOORZIENINGEN EN UITGESTELDE BELASTINGEN Voorzieningen voor risico's en kosten Uitgestelde belastingen SCHULDEN Schulden op meer dan één jaar Schulden op ten hoogste één jaar Overlopende rekeningen TOTAAL DER PASSIVA
10/15 10 11 12 13 14 15 19 16 160/5 168 17/49 17 42/48 492/3 10/49
2010 Absoluut 34 288 047,00 0,00 0,00 0,00 1 714 686,00 32 573 360,00 0,00 0,00 195 107,00 195 107,00 0,00 18 906 834,00 0,00 18 553 419,00 353 415,00 53 389 988,00
% 3,83% 0,00% 0,00% 0,00% 857,83% 896,69% 0,00% 0,00% 104,89% 104,89% 0,00% 49,81% 0,00% 48,98% 464,95% 5,73%
2009 Absoluut 22 810 497,00 0,00 0,00 0,00 1 140 590,00 21 669 906,00 0,00 0,00 - 23 047,00 - 23 047,00 0,00 8 315 096,00 0,00 8 323 102,00 - 8 006,00 31 102 547,00
% 2,55% 0,00% 0,00% 0,00% 570,62% 596,53% 0,00% 0,00% -12,39% -12,39% 0,00% 21,91% 0,00% 21,97% -10,53% 3,34%
2008 Absoluut 894 279 518,00 890 447 000,00 0,00 0,00 199 886,00 3 632 633,00 0,00 0,00 186 004,00 186 004,00 0,00 37 956 598,00 0,00 37 880 587,00 76 011,00 932 422 120,00
% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100%
Via de indexen stellen we bij Colruyt de volgende evoluties vast.
Het eigen vermogen is de laatste jaren licht gestegen. Het vreemd vermogen is gestegen met 50% . Dit komt vooral door de toename van schulden op ten hoogste één jaar. Colruyt heeft de afgelopen 3 jaar veel winst overgedragen en reserves aangelegd.
Glenn Van Haesendonck
6BI
12
3.7.3 Resultatenrekening
RESULTATENREKENING Bedrijfsopbrengsten Bedrijfskosten Bedrijfswinst (Bedrijfsverlies) Financiële opbrengsten Financiële kosten Winst (verlies) uit de gewone bedrijfsuitoefening vóór belasting Uitzonderlijke opbrengsten Uitzonderlijke kosten Winst (verlies) van het boekjaar vóór belasting Onttrekking aan de uitgestelde belastingen Overboeking naar de uitgestelde belastingen Belastingen op het resultaat Winst (Verlies) van het boekjaar Onttrekking aan de belastingvrije reserves Overboeking naar de belastingvrije reserves Te bestemmen winst (verlies) van het boekjaar
70/74 60/64 9901 75 65 9902 76 66 9903 780 680 67/77 9904 789 689 9905
2010 Absoluut 109 266 356,00 102 599 936,00 6 666 420,00 3 002 659,00 78 001,00 9 591 079,00 - 114 239,00 25 896,00 9 450 944,00 0,00 0,00 1 476 529,00 7 974 415,00 0,00 230,00 7 974 185,00
% 172,64% 176,46% 129,52% 1771,76% 3437,68% 180,47% -99,91% 3341,42% 174,12% 0,00% 0,00% 76,71% 227,64% 0,00% 0,00% 227,63%
2009 Absoluut % 91 282 014,00 144,22% 87 028 941,00 149,68% 4 253 073,00 82,63% 4 040 687,00 2384,27% 170 257,00 7503,61% 8 123 503,00 152,86% 12 786 112,00 11181,85% - 632,00 -81,55% 20 910 247,00 385,23% 0,00 0,00% 0,00 0,00% 1 602 885,00 83,27% 19 307 362,00 551,15% 0,00 0,00% 69,00 0,00% 19 307 293,00 551,14%
2008 Absoluut 63 291 857,00 58 144 674,00 5 147 183,00 169 473,00 2 269,00 5 314 387,00 114 347,00 775,00 5 427 959,00 0,00 0,00 1 924 824,00 3 503 135,00 0,00 0,00 3 503 135,00
% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100% 100%
Via de indexen stellen we bij Colruyt de volgende evoluties vast.
De bedrijfsopbrengsten zijn in 2010 met 172% gestegen ten opzichte van 2008. Ook de bedrijfskosten kenden ongeveer dezelfde evolutie. De financiële opbrengsten stegen sterk in 2009. De financiële kosten stegen met 7500% in 2009 ten opzichte van 2008. Ten opzichte van 2008 had Colruyt in 2009 een zeer grote winst. In 2010 kende deze weer een terugval ten opzichte van2008. Aan deze cijfers is te zien dat Colruyt een zeer winstgevend bedrijf is.
Glenn Van Haesendonck
6BI
13
3.8 Verticale analyse 3.8.1 Activa
ACTIVA Vaste Activa Oprichtingskosten Immateriële vaste activa Materiële vaste activa Terreinen en gebouwen Installaties, machines en uitrusting Meubilair en rollend materieel Leasing en soortgelijke rechten Overige materiële vaste activa Activa in aanbouw en vooruitbetalingen Financiële vaste activa VLOTTENDE ACTIVA Vorderingen op meer dan één jaar Voorraden en bestellingen in uitvoering Voorraden Bestellingen in uitvoering Vorderingen op ten hoogste één jaar Handelsvorderingen Overige vorderingen Geldbeleggingen Liquide middelen Overlopende rekeningen TOTAAL VAN DE ACTIVA
20/28 20 21 22/27 22 23 24 25 26 27 28 29/58 29 3 30/36 37 40/41 40 41 50/53 54/58 490/1 20/58
2010 94,14% 0,00% 0,84% 1,95% 0,10% 0,12% 1,59% 0,00% 0,07% 0,06% 91,36% 5,86% 0,00% 1,06% 0,46% 0,60% 3,24% 3,23% 0,01% 0,00% 1,17% 0,39% 100,00%
2009 95,62% 0,00% 0,32% 1,83% 0,05% 0,14% 1,43% 0,00% 0,01% 0,20% 93,47% 4,38% 0,00% 0,99% 0,52% 0,46% 0,54% 0,51% 0,03% 0,00% 2,59% 0,26% 100,00%
2008 96,78% 0,00% 0,22% 1,28% 0,02% 0,09% 1,11% 0,00% 0,01% 0,04% 95,28% 3,22% 0,00% 0,77% 0,51% 0,26% 0,45% 0,32% 0,13% 0,00% 1,77% 0,22% 100,00%
Sector 63,92% 0,05% 0,83% 11,73% 4,66% 2,36% 0,85% 2,00% 1,43% 0,43% 51,30% 36,09% 0,31% 8,76% 8,76% 0,01% 9,23% 7,36% 1,86% 14,70% 2,74% 0,34% 100,00%
Via de indexen stellen we bij Colruyt de volgende evoluties vast.
Er is een kleine daling in de vaste activa. Dit komt door de daling van de financiële activa die het grootste deel van de vaste activa voorstelt. De vlottende activa zijn gestegen. Dit is te wijten aan de stijging van de vorderingen op ten hoogste één jaar. In vergelijking met de sector heeft Colruyt een zeer groot aandeel van vaste activa. Colruyt heeft niet veel materiële vaste activa ten opzichte van de sector.
Glenn Van Haesendonck
6BI
14
3.8.2 Passiva
PASSIVA EIGEN VERMOGEN Kapitaal Geplaatst kapitaal Niet-opgevraagd kapitaal Uitgiftepremies Herwaarderingsmeerwaarden Reserves Overgedragen winst (verlies) Kapitaalsubsidies Voorschot aan de vennoten op de verdeling van het netto-actief VOORZIENINGEN EN UITGESTELDE BELASTINGEN Voorzieningen voor risico's en kosten Uitgestelde belastingen SCHULDEN Schulden op meer dan één jaar Schulden op ten hoogste één jaar Schulden op meer dan één jaar die binnen het jaar vervallen Financiële schulden Handelsschulden Ontvangen vooruitbetalingen op bestellingen Schulden m.b.t. belastingen, bezoldigingen en sociale lasten Overige schulden Overlopende rekeningen TOTAAL DER PASSIVA
10/15 10 100 101 11 12 13 14 15 19 16 160/5 168 17/49 17 42/48 42 43 44 46 45 47/48 492/3 10/49
2010 94,19% 90,33% 90,33% 0,00% 0,00% 0,00% 0,19% 3,67% 0,00% 0,00% 0,04% 0,04% 0,00% 5,77% 0,00% 5,72% 0,00% 0,00% 1,44% 0,10% 4,18% 0,00% 0,04% 100,00%
2009 95,18% 92,42% 92,42% 0,00% 0,00% 0,00% 0,14% 2,63% 0,00% 0,00% 0,02% 0,02% 0,00% 4,80% 0,00% 4,80% 0,00% 0,00% 0,98% 0,03% 3,79% 0,00% 0,01% 100,00%
2008 Sector 95,91% 39,50% 95,50% 12,21% 95,50% 12,15% 0,00% 0,06% 0,00% 24,57% 0,00% 0,13% 0,02% 4,12% 0,39% 2,16% 0,00% -3,70% 0,00% 0,00% 0,02% 1,08% 0,02% 1,03% 0,00% 0,04% 4,07% 52,65% 0,00% 12,87% 4,06% 38,96% 0,00% 3,53% 0,00% 11,43% 0,85% 15,76% 0,00% 0,05% 3,21% 4,48% 0,00% 3,71% 0,01% 0,82% 100,00% 100,00%
Via de indexen stellen we bij Colruyt de volgende evoluties vast.
Het grootste gedeelte van de passivakant is het geplaatst kapitaal maar dat is in de loop der jaren gedaald. Het eigen vermogen is zeer groot ten opzichte van het vreemd vermogen. Dit is zeer uniek in verhouding met de sector. Dit wil zeggen dat Colruyt investeringen kan financieren met het eigen vermogen. Ook kan Colruyt snel aan een lening geraken, want het minimum van het eigen vermogen voor de banken is 33%.
Glenn Van Haesendonck
6BI
15
3.8.3 Resultatenrekening
RESULTATENREKENING Bedrijfsopbrengsten Omzet Voorraad goederen in bewerking en gereed product en bestellingen in uitvoering: toename (afname) Geproduceerde vaste activa Andere bedrijfsopbrengsten Bedrijfskosten Handelsgoederen, grond- en hulpstoffen Diensten en diverse goederen Bezoldigingen, sociale lasten en pensioenen Afschrijvingen en waardeverminderingen op oprichtingskosten, op immateriële en materiële vaste activa Waardeverminderingen op voorraden, bestellingen in uitvoering en handelsvorderingen: toevoegingen (terugnemingen) Voorziening voor risico's en kosten: toevoegingen (terugnemingen) Andere bedrijfskosten Als herstructureringskosten geactiveerde bedrijfskosten Bedrijfswinst (Bedrijfsverlies) Financiële opbrengsten Financiële kosten Winst (verlies) uit de gewone bedrijfsuitoefening vóór belasting Uitzonderlijke opbrengsten Uitzonderlijke kosten Winst (verlies) van het boekjaar vóór belasting Onttrekking aan de uitgestelde belastingen Overboeking naar de uitgestelde belastingen Belastingen op het resultaat Winst (Verlies) van het boekjaar Onttrekking aan de belastingvrije reserves Overboeking naar de belastingvrije reserves Te bestemmen winst (verlies) van het boekjaar
70/74 70
2010 100,00% 94,16%
2009 100,00% 93,20%
2008 100,00% 99,31%
Sector 100,00% 94,41%
71 72 74 60/64 60 61 62
0,63% 2,12% 3,09% 93,15% 11,35% 27,01% 49,75%
1,22% 3,12% 2,45% 93,92% 9,20% 31,94% 48,04%
-2,64% 1,46% 1,87% 91,87% 9,69% 29,60% 47,21%
0,00% 0,28% 5,31% 96,79% 75,95% 8,95% 10,07%
630
4,78%
4,65%
5,25%
1,52%
631/4 635/7 640/8 649 9901 75 65 9902 76 66 9903 780 680 67/77 9904 789 689 9905
0,00% 0,13% 0,14% 0,00% 6,85% 1,84% 0,05% 8,64% 0,00% 0,02% 8,62% 0,00% 0,00% 1,97% 6,65% 0,00% 0,00% 6,65%
0,00% -0,02% 0,11% 0,00% 6,08% 2,72% 0,11% 8,69% 8,35% 0,00% 17,04% 0,00% 0,00% 2,28% 14,76% 0,00% 0,00% 14,76%
0,00% 0,10% 0,02% 0,00% 8,13% 0,27% 0,00% 8,40% 0,18% 0,00% 8,58% 0,00% 0,00% 3,04% 5,53% 0,00% 0,00% 5,53%
0,03% -0,02% 0,26% 0,00% 3,21% 1,06% 1,37% 2,89% 0,40% 1,02% 2,27% 0,01% 0,00% 0,79% 1,48% 0,02% 0,02% 1,48%
Via de indexen stellen we bij Colruyt de volgende evoluties vast.
Voor elke 100 euro omzet werden er twee jaar geleden 91,87 euro kosten gemaakt. Dit cijfer daalde zwak naar 93,15% in 2010. De financiële kosten wegen voor Colruyt ook niet zwaar door want ze hebben bijna geen financiële kosten in verhouding met de omzet. De winst steeg in 2009 met 9%. Het jaar daarop daalde deze terug naar 6,65%. In vergelijking met de sector maakt Colruyt minder kosten. Dit is de reden waarom Colruyt meer winst heeft dan andere in de sector.
Glenn Van Haesendonck
6BI
16
3.9 Solvabiliteit
Omschrijving
Code
Eigen vermogen Totaal vermogen
10/15 10/49
2010
94,19%
17/49 10/49
2008
Sector
928.567.565,00 917.090.015,00 894.279.518,00 5.183.384,00 985.812.108,00 963.524.667,00 932.422.120,00 13.123.234,00
Eigen vermogen over totaal vermogen
Vreemd vermogen Totaal vermogen
2009
95,18%
95,91%
39,50%
56.863.432,00 46.271.694,00 37.956.598,00 6.909.493,00 985.812.108,00 963.524.667,00 932.422.120,00 13.123.234,00
Vreemd vermogen over totaal vermogen
5,77%
4,80%
4,07%
52,65%
Solvabiliteit over meerdere jaren 100% 98% 96% Vreemd vermogen
94%
Eigen vermogen
92% 90% 2010
2009
Glenn Van Haesendonck
2008
6BI
17
De solvabiliteit van Colruyt is zeer goed. Ze hebben 94% eigen vermogen tegenover het totaal vermogen. Colruyt kan dus zonder problemen een lening aangaan aangezien de banken een minimum hebben van 33%. Het vreemd vermogen is zeer laag ten opzichte van de sector.
Glenn Van Haesendonck
6BI
18
3.10 Liquiditeit
Omschrijving Vlottende activa Vorderingen> 1 jaar Schulden < 1 jaar Overlopende rekeningen (passiva)
Code jaarrekening 29/58 29 42/48 492/3
2010
29/58 29 42/48 492/3
862.173,00 -4.054.395,00
-7.968.152,00
57.725.605,00 42.217.299,00 0,00 0,00 56.434.006,00 46.203.689,00 429.426,00 68.005,00
29.988.446,00 0,00 37.880.587,00 76.011,00
4.736.724,00 40.633,00 5.112.568,00 108.092,00
0,91
0,79
0,90
57.725.605,00 42.217.299,00 0,00 0,00 10.468.101,00 9.515.903,00 56.434.006,00 46.203.689,00 429.426,00 68.005,00
29.988.446,00 0,00 7.191.945,00 37.880.587,00 76.011,00
4.736.724,00 40.633,00 1.150.128,00 5.112.568,00 108.092,00
0,60
0,68
1,02
29/58 29 3 42/48 492/3
Acid test ratio
Handelsvorderingen < 1 jaar Omzet BTW
0,83
40 70 9146
67,91
44 60 61 9145
11,80
14.187.659,00 9.441.241,00 19.581.206,00 14.228.405,00 46.612.191,00 49.365.048,00 10.494.022,84 10.486.148,35
Aantal dagen leverancierskrediet
Kostprijs van verkochte goederen 60 Voorraden en bestellingen in uitvoering 3
0,71
31.854.936,00 4.910.903,00 162.488.774,00 144.066.493,00 8.715.902,86 7.872.599,33
Aantal dagen klantenkrediet
Handelsschulden < 1 jaar Kostprijs van handelsgoederen Kostprijs van goederen en diensten BTW
Sector
29.988.446,00 0,00 37.880.587,00 76.011,00
Current ratio
Vlottende activa Vorderingen> 1 jaar Voorraden en bestellingen in uitvoering Schulden < 1 jaar Overlopende rekeningen (passiva)
2008
57.725.605,00 42.217.299,00 0,00 0,00 56.434.006,00 46.203.689,00 429.426,00 68.005,00
Nettobedrijfskapitaal
Vlottende activa Vorderingen> 1 jaar Schulden < 1 jaar Overlopende rekeningen (passiva)
2009
67,53
46,52
19.581.206,00 14.228.405,00 10.468.101,00 9.515.903,00
Voorraadrotatie
1,87
1,50
3.020.634,00 966.426,00 62.855.281,00 18.580.027,00 8.292.761,26 76.316,00 15,50
18,91
7.946.463,00 2.067.953,00 6.130.665,00 14.946.115,00 18.732.389,00 1.760.525,00 11.648.838,28 121.001,00 79,44
44,85
6.130.665,00 14.946.115,00 7.191.945,00 1.150.128,00 0,85
13,00
In 2008 en 2009 is het nettobedrijfskapitaal negatief. Dit wil zegen dat ze met hun vlottende activa hun schulden niet kunnen afbetalen. In 2010 was het nettobedrijfskapitaal positief. De current ratio laat zien dat Colruyt een positieve evolutie maakte, nu kan ze met haar vlottende activa haar schulden op korte termijn betalen. In 2010 is deze beter dan de current ratio van de sector. De quick ratio of acid test ratio is onder 1, dit wilt zeggen dat de onderneming niet met haar vorderingen en liquide middelen haar schulden op korte termijn kan betalen. In 2010 en 2009 heeft Colruyt een betere quick ratio dan de sector. Glenn Van Haesendonck
6BI
19
In 2008 kreeg Colruyt 80 dagen leverancierskrediet. In 2009 daalde deze naar 47 dagen maar in 2010 steeg deze terug naar 68 dagen. Ten opzichte van de sector heeft Colruyt een langer leverancierskrediet. Het klantenkrediet van Colruyt was 16 dagen. In 2009 gaf ze 4 dagen minder klantenkrediet en in 2010 steeg deze sterk naar 68 dagen. Culruyt geeft hun klanten een langer krediet dan dat er in de sector gegeven wordt. Colruyt geeft evenveel klantenkrediet als dat ze leverancierskrediet krijgt in 2010. Dit wil zeggen dat ze met hun vorderingen hun schulden kunnen afbetalen. De voorraad roteert gemiddeld per 196 dagen. In de sector roteert deze minder vaak. 3.11 Rentabiliteit
Omschrijving Te bestemmen winst/verlies van het boekjaar Totaal vermogen
Code jaarrekening 9905 10/49
2009
2008
11.477.320,00 22.810.428,00 3.503.135,00 985.812.108,00 963.524.667,00 932.422.120,00
Rentabiliteit totaal vermogen Te bestemmen winst/verlies van het boekjaar Eigen vermogen
2010
1,16% 9905 10/15
Rentabiliteit eigen vermogen
290.800,00 13.123.234,00
0,38%
2,22%
11.477.320,00 22.810.428,00 3.503.135,00 928.567.565,00 917.090.015,00 894.279.518,00
290.800,00 5.183.384,00
1,24%
2,37%
Sector
2,49%
0,39%
5,61%
De rentabiliteit van het totaal vermogen is zeer laag, deze zou hoger moeten zijn . De rendabiliteit van het eigen vermogen van colruyt is laag. Hoewel deze in 2009 ten opzicht van 2008 wel steeg daalde de rentabiliteit in 2010 naar 1,24%. Dit is niet goed want de rentabiliteit van het eigen vermogen moet tenminste hoger liggen dan het rendement op een risicovrije belegging. In 2010 is dit dus niet het geval. Ten opzichte van de sector staat colruyt ook zeer zwak met haar rentabiliteit.
Glenn Van Haesendonck
6BI
20
3.12 Ebit en ebitda
Definities:
Ebit: Earnings Before Interest and Taxes. In feite gaat het dus om het bedrijfsresultaat voor aftrek van de interest en de vennootschapsbelasting Ebitda: het bedrijfsresultaat voor aftrek van interest, vennootschapsbelasting en afschrijvingen Omschrijving
Winst van het boekjaar Belastingen op het resultaat Financiële kosten Financiële opbrengsten
Code jaarrekening 9904 67/77 65 75
EBIT Afschrijvingen Waardeverminderingen
630 631/4
EBITDA
2010
2009
2008
11.477.550,00 22.810.497,00 3.401.353,00 3.527.709,00 80.270,00 172.526,00 3.172.132,00 4.210.160,00
3.503.135,00 1.924.824,00 2.269,00 169.473,00
11.787.041,00 22.300.572,00
5.260.755,00
8.243.684,00 0,00
7.189.956,00 3.300,00
3.324.083,00 -536,00
20.030.725,00 29.493.828,00
8.584.302,00
Het bedrijfsresultaat voor Colruyt voor de intresten en belastingen is in 2010 11.787.040,00 euro. Het bedrijfsresultaat gecorrigeerd met de afschrijvingen en de waardeverminderingen bedraagt 20.030.724,00 euro in 2010. Zowel de EBIT als de EBITDA kende een stijging in 2009 en daalde terug in 2010.
Glenn Van Haesendonck
6BI
21
3.13 Cashflow
Cashflow Omzet Voorraad goederen in bewerking en gereed product en bestellingen in uitvoering: toename (afname) Geproduceerde vaste activa Andere bedrijfsopbrengsten Aankopen Voorraad: afname (toename) Diensten en diverse goederen Bezoldigingen, sociale lasten en pensioenen Andere bedrijfskosten Als herstructureringskosten geactiveerde bedrijfskosten Opbrengsten uit financiële vaste activa Opbrengsten uit vlottende activa Andere financiële opbrengsten Kosten van schulden Andere financiële kosten Meerwaarden bij de realisatie van vaste activa Andere uitzonderlijke opbrengsten Minderwaarden bij de realisatie van vaste activa Andere uitzonderlijke kosten Als herstructureringskosten geactiveerde uitzonderlijke kosten Belastingen Regularisering van belastingen en terugneming van voorzieningen voor belastingen Cashflow
2010 162 488 774,00
2009 144 066 493,00
2008 62 855 281,00
71 72 74 600/8 609 61 62 640/8 649 750 751 752/9 650 652/9 763 764/9 663 664/8 669 670/3
1 080 391,00 3 663 477,00 5 325 571,00 19 451 050,00 130 156,00 46 612 191,00 85 839 797,00 249 578,00 0,00 3 135 103,00 25 293,00 11 737,00 67 474,00 12 796,00 0,00 108,00 26 666,00 5,00 0,00 3 487 892,00
1 889 764,00 4 826 735,00 3 790 878,00 14 711 715,00 - 483 310,00 49 365 048,00 74 252 218,00 168 483,00 0,00 552 822,00 3 643 473,00 13 865,00 171 038,00 1 488,00 12 900 433,00 26,00 0,00 143,00 0,00 3 527 958,00
-1 668 622,00 922 624,00 1 182 574,00 6 857 170,00 - 726 505,00 18 732 389,00 29 881 869,00 10 853,00 0,00 583,00 168 110,00 780,00 1 213,00 1 056,00 114 347,00 0,00 0,00 775,00 0,00 1 924 824,00
77
86 539,00 19 939 388,00
249,00 29 969 957,00
0,00 6 892 033,00
70
Het resultaat na belastingen vermeerdert met niet-kaskosten schommelt de laatste jaren bij Colruyt. In 2010 bedroeg dit 19.939.388,00 euro.
Glenn Van Haesendonck
6BI
22
Toegepaste Informatica 1 Opdracht Situatieschets Elk industrieel bedrijf werkt in meer of mindere mate met chemische stoffen. Denk maar aan verven, reinigingsproducten, brandstoffen, etc. En om hiermee op een correcte en veilige manier te kunnen omgaan, heeft een bedrijf informatie nodig over de producten die ze gebruikt. Deze informatie moet door de leverancier van het product geleverd worden in de vorm van een ‘MSDS’. Een MSDS of Material Safety Data Sheet, is een bijzonder belangrijk document waarin alle relevante gegevens worden vermeld die van belang zijn voor een correct en veilig gebruik van het product. De chemische samenstelling, de belangrijkste gezondheidsrisico’s, de manier van opslag en gebruik, de effecten op het milieu, informatie voor brandbestrijding enzovoort zijn allemaal elementen die terug te vinden zijn in het MSDS. Zelfs in het kleinste chemische bedrijf kan het aantal MSDS van de verschillende grondstoffen al snel oplopen tot enkele honderden documenten. Het is dan ook nuttig om over een hulpmiddel te beschikken waarmee een bedrijf deze documenten kan beheren. Deze tool moet de gebruiker in staat stellen om op een snelle en eenvoudige manier bepaalde essentiële gegevens terug te vinden en te raadplegen.
Stappenplan
Ontwerp een geschikte databank. Het basisontwerp van de GUI (Graphical user interface) Algoritme uitdenken Aanmaken van functie- en subprocedures Procedures afstemmen op elkaar Foutafhandeling en testen Afwerking
Bij elk van bovenstaande stappen is het belangrijk dat er voldoende gecommuniceerd wordt met de eindgebruiker. Enkel op deze manier krijg je een volledig beeld van de applicatievereisten. De eindgebruiker kan gecontacteerd worden op volgend email adres: eindgebruiker@live.be Bewaar deze correspondentie zorgvuldig en voeg ze toe aan je scriptie.
Glenn Van Haesendonck
6BI
23
Applicatievereisten Bij het opstarten van de applicatie heeft de gebruiker volgende keuzemogelijkheden:
Nieuwe MSDS ingeven Bestaande MSDS zoeken Overzichtslijst afdrukken Etiketten afdrukken
NIEUWE MSDS INGEVEN Per MSDS is er één centraal gegevensformulier dat volgende elementen moet tonen:
Administratieve gegevens - Identificatie Naam MSDS (uniek) Naam intern Code intern - Bijkomende informatie Leverancier - Bestaande leverancier selecteren uit een lijst. - Details (naam, adres, telefoonnummer , fax, email)van een bestaande leverancier opvragen. - Nieuwe leverancier met details invoeren. Datum waarop de MSDS is aangemaakt. Toepassing - Bestaande toepassing selecteren uit een lijst. - Nieuwe toepassing invoeren. Koppeling naar digitale versie MSDS (indien beschikbaar).
Gevaren - Chemische samenstelling die moet worden ingetypt (max 3 mogelijke stoffen) - Vlampunt (°C) - Symbolen die getoond worden na selectie van een code (max 3 symbolen uit 10 mogelijke symbolen) - R-zinnen die getoond worden na selectie van een R-code (max 6 zinnen uit een honderdtal zinnen ) - S-zinnen die getoond worden na selectie van een S-code (max 6 zinnen uit een honderdtal zinnen) - Sensibiliserende stoffen die moeten worden ingetypt (max 2 stoffen)
Bij het ingeven van een nieuwe MSDS zijn de velden leeg. In dit gegevensformulier moet men volgende navigatie voorzien (maak gebruik van iconen):
ingevulde gegevens kunnen opslaan, naar startformulier terugkeren.
Glenn Van Haesendonck
6BI
24
BESTAANDE MSDS ZOEKEN Het zoeken moet mogelijk zijn op drie identificatiegegevens:
Originele naam Interne naam Interne code
Let wel, het zoeken gebeurt zelden aan de hand van de volledige naam. Het moet dus mogelijk zijn om MSDS terug te vinden met slechts een gedeelte van de identificatiegegevens. Wanneer de gebruiker een bestaande MSDS raadpleegt, zijn bovenstaande velden ingevuld met de juiste gegevens uit de databank. In dit gegevensformulier moet men volgende navigatie voorzien (maak gebruik van iconen):
naar het formulier gaan om etiketten af te drukken, gegevens wijzigen, gegevens opslaan (indien gewijzigd), naar eerste record gaan, naar vorige record gaan, naar volgende record gaan, naar laatste record gaan, record verwijderen
Glenn Van Haesendonck
6BI
25
De opdracht “Etiketten afdrukken” behoort niet meer tot de geïntegreerde proef. Deze staan nog wel op het formulier ter vervolledigen ETIKETTEN AFDRUKKEN Men moet eerst een leverancier kunnen selecteren uit een lijst van bestaande leveranciers. Vervolgens moet men de verpakkingsinhoud kunnen invoeren. En tenslotte kiest men het formaat van het etiket (A4, A5 of A6). De etiketten worden steeds op A4-formaat afgedrukt, maar het aantal etiketten verschilt naargelang het gekozen formaat (A4 1, A5 2, A6 4) De etiketten hebben een vaste lay-out. De gegevens worden uit de databank gehaald.
symbool
Naam MSDS
Verpakkingsinhoud
Bevat: chemische samenstelling (max 3 stoffen) tekst symbool
R-zinnen
tekst
S-zinnen
symbool
Bevat: sensibiliserende stoffen kan een allergische reactie veroorzaken tekst Naam, adres en telefoonnummer van leverancier
OVERZICHTSLIJST AFDRUKKEN De overzichtslijst van alle bestaande MSDS bevat volgende elementen per MSDS:
Originele naam Interne naam Interne code Naam leverancier Vlampunt Datum MSDS
Glenn Van Haesendonck
6BI
26
2 Ontwerp databank 2.1 ERD model
Glenn Van Haesendonck
6BI
27
2.2 Relaties
De databank bestaan uit 13 tabellen. tblMSDS is de hoofdtabel die verbonden staat met de andere tabellen. Voor de tabellen ChemischeStoggen, SensibiliseerendeStoffen,Symbolen,SZinnen en RZinnen is er een kopeltabel nodig.
Glenn Van Haesendonck
6BI
28
2.3 3de Normaalverdeling
MSDS MSDSID NaamOpMSDS InterneNaam InterneCode LeverancierID Datum ToepassingsID Vlampunt Digitale versie
Symbolen SymboolID Symbool Opmerking
Leveranciers LeveranciersID Naam Adres Postcode Plaats Land Telefoon Fax Email Noodnummer
R-Zinnen RZinCode RZin
MSDS_SensStoffen MSDSId SensibiliseerendeStofId
Toepassing ToepassingsID Toepassing
S-Zinnen SZinCode SZin
MSDS_RZinnen RZinCode RZin
ChemischeStof ChemischeStofID ChemischeStof
Sensibiliserende stoffen SensibiliserendeStofID SensibiliserendeStof
MSDS_RZinnen SZinCode SZin
MSDS_Symbolen MSDSId Symbolen
MSDS_ChemischeStoffen MSDSId ChemischeStofId
Glenn Van Haesendonck
6BI
29
2.4 Voorstelling formulieren
tblMSDS Veld MSDSId NaamOpMsds InterneNaam interneCode Datum LeverancierId ToepassingID Vlampunt DigitaleVersie
Datatype Autonummering Tekst Tekst Tekst Datum/tijd Numeriek Numeriek Tekst Tekst
Beperkingen Primary key Vereist = ja Vereist = ja / Vereist = ja Vereist = ja Vereist = ja Vereist = ja Vereist = ja
tblLeveranciers Veld LeverancierId Naam Adres Postcode
Datatype Autonummering Tekst Tekst Tekst
Plaats Land Telefoon Fax Email Noodnummer
Tekst Tekst Tekst Tekst Tekst Tekst
tblToepassingen Veld ToepassingId Toepassing
Datatype Autonummering Tekst
Beperkingen Primairy key Vereist = ja
tblMSDS_SensStoffen Veld MSDSId
Datatype Numeriek
SensibiliseerendeStofId
Numeriek
Beperkingen Primairy key Vereist = ja Primairy key Vereist = ja
tblSensibiliseerendeStoffen Veld SensibiliseerendeStofId SensibiliseerendeStof
Datatype Autonummering Tekst
Glenn Van Haesendonck
6BI
Beperkingen Primary key Vereist = ja Vereist = ja Vereist = ja Ge誰ndexeerd = ja (Duplicaten OK) Vereist = ja Vereist = ja Vereist = ja / / Vereist = ja
Beperkingen Primairy key Vereist = ja
30
tblSymbool Veld Symbool
Datatype Tekst
Opmerking
Tekst
tblRzinnen Veld RZinCode
Datatype Tekst
Rzin
Tekst
tblSZinnen Veld SZinCode
Datatype Tekst
SZin
Tekst
tblMSDS_RZinnen Veld MSDSId
Datatype Numeriek
RZinCode
Tekst
tblMSDS_SZinnen Veld MSDSId
Datatype Numeriek
SZinCode
Tekst
tblMSDS_Symbolen Veld MSDSId
Datatype Numeriek
Symbool
Tekst
tblChemischeStoffen Veld ChemischeStofId ChemischeStof
Datatype Autonummering Tekst
Glenn Van Haesendonck
Beperkingen Primairy key Vereist = ja Vereist = ja
Beperkingen Primairy key Vereist = ja Vereist = ja
Beperkingen Primairy key Vereist = ja Vereist = ja
Beperkingen Primairy key Vereist = ja Primairy key Vereist = ja
Beperkingen Primairy key Vereist = ja Primairy key Vereist = ja
Beperkingen Primairy key Vereist = ja Primairy key Vereist = ja
6BI
Beperkingen Primairy key Vereist = ja
31
tblMSDS_ChemischeStoffen Veld MSDSId
Datatype Numeriek
ChemischeStofId
Numeriek
Glenn Van Haesendonck
Beperkingen Primairy key Vereist = ja Primairy key Vereist = ja
6BI
32
3 Code en applicatiebespreking 3.1 frmMSDS
Glenn Van Haesendonck
6BI
33
TblMSDSBindingNavigatorSaveItem_Click Sub TekstvakkenVullen oproepen Valideren Aanpassingen stoppen TableAdapterManager updaten Private Sub TblMSDSBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TblMSDSBindingNavigatorSaveItem.Click TekstvakkenVullen() Me.Validate() Me.objtblMSDSBindingSource.EndEdit() Me.objtableAdapterManager.UpdateAll(Me.objdtsMSDS) End Sub
frmMSDS_VisibleChanged Is het formulier zichtbaar? Ja
nee Moet er een
nieuwe MSDS gemaakt worden?
Nee
Ja Nieuwe MSDS toevoegen aan bindingsource
Datarow zoeken in datasetMSDS intIndex bepalen Naar gevraagde MSDS gaan Sub DatumLevToepTonen uitvoeren Sub SymbolenTonen uitvoeren Heeft cboChemischeStoffen een waarde? Ja Waarde cboChemischeSto ffen op 0 zetten Heeft
Nee
cboSensStoffen een waarde? Nee
Ja Waarde cboSensStoffen op 0 zetten Index cboSymbolen op 0 zetten Index cboChemischeStoffen op 0 zetten Index cboSensStoffen op 0 zetten Private Sub frmMSDS_VisibleChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.VisibleChanged Dim dtrMSDS As dtsMSDS.tblMSDSRow Dim intIndex As Integer
Glenn Van Haesendonck
6BI
34
If Me.Visible = True Then If blnNieuweMSDS = True Then objtblMSDSBindingSource.AddNew() Else dtrMSDS = objdtsMSDS.tblMSDS.FindByMSDSId(intMSDSID) intIndex = objdtsMSDS.tblMSDS.Rows.IndexOf(dtrMSDS) objtblMSDSBindingSource.Position = intIndex DatumLevToepTonen() SymbolenTonen() If Not cboChemischeStof.SelectedValue = Nothing Then cboChemischeStof.SelectedValue = 0 End If If Not cboSensStoffen.SelectedValue = Nothing Then cboSensStoffen.SelectedValue = 0 End If cboSymbolen.SelectedIndex = 0 cboRZinnen.SelectedIndex = 0 cboSZinnen.SelectedIndex = 0 End If End If End Sub
frmMSDS_Load TabelAdapters vullen Sub comboBoxenVullen() aanspreken Sub datumLevToepTonen() aanspreken Sub TekstvakLeveranciersVullen() aanspreken Is de waarde van ja cboChemischStof inactief maken btnAansamenstellingToevoegen inactief maken Is de waarde van Ja
cboChemischStof 0? nee
cboSensStoffen 0? nee
cboSenStof inactief maken btnAanSens inactief maken Private Sub frmMSDS_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.objtblMSDS_SzinnenTableAdapter.Fill(Me.objdtsMSDS.tblMSDS_Szinnen) Me.objtblSzinnenTableAdapter.Fill(Me.objdtsSZinnen.tblSzinnen) Me.objtblMSDS_RzinnenTableAdapter.Fill(Me.objdtsMSDS.tblMSDS_Rzinnen) Me.objtblRzinnenTableAdapter.Fill(Me.objdtsRZinnen.tblRzinnen) Me.objtblMSDS_SensStoffenTableAdapter.Fill(Me.objdtsMSDS.tblMSDS_SensStoff en) Me.objtblSensStoffenTableAdapter.Fill(Me.objdtsSensStoffen.tblSensStoffen) Me.objtblMSDS_SymbolenTableAdapter.Fill(Me.objdtsMSDS.tblMSDS_Symbolen)
Glenn Van Haesendonck
6BI
35
Me.objtblSymbolenTableAdapter.Fill(Me.objdtsSymbolen.tblSymbolen) Me.objtblMSDS_ChemischeStoffenTableAdapter.Fill(Me.objdtsMSDS.tblMSDS_Chem ischeStoffen) Me.objtblChemischeStoffenTA.Fill(Me.objdtsChemischeStoffen.tblChemischeSto ffen) Me.objtblMSDSTableAdapter.Fill(Me.objdtsMSDS.tblMSDS) ComboBoxenVullen() TekstvakLeveranciersVullen() datumLevToepTonen() If cboChemischeStof.Items.Count = 0 Then cboChemischeStof.Enabled = False btnAanSamenstellingToevoegen.Enabled = False End If If cboSensStoffen.Items.Count = 0 Then cboSensStoffen.Enabled = False btnSensStof.Enabled = False End If End Sub
ComboBoxenVullen() TabelAdapters van tblToepassingen en tblLeveranciers vullen De displaymember van cboLeverancier met “Naam” vullen De valuemember van cboLeverancier met “leveranciersId” vullen De datasource van cboLeverancier met tblLeveranciers van dtsLeveranciers vullen De displaymember van cboToepassingen met “Toepassing” vullen De valuemember van cboToepassingen met “ToepassingID” vullen De datasource van cboToepassingen met tblToepssingen van dtsToepassingen vullen Private Sub ComboBoxenVullen() objtblLeveranciersTA.Fill(objdtsLeveranciers.tblLeveranciers) objtblToepassingenTA.Fill(objdtsToepassingen.tblToepassingen) cboLeverancier.DisplayMember = "Naam" cboLeverancier.ValueMember = "LeverancierId" cboLeverancier.DataSource = objdtsLeveranciers.tblLeveranciers cboToepassing.DisplayMember = "Toepassing" cboToepassing.ValueMember = "ToepassingID" cboToepassing.DataSource = objdtsToepassingen.tblToepassingen End Sub
Glenn Van Haesendonck
6BI
36
DatumLevToepTonen() Is txtDatum leeg? Ja
Nee
dtpDatum op de datum van vandaag zetten Ist txtLeverancier
cboLeverancier de waarde van txtLeveracier geven Is txtToepassing ja
dtpDatum zetten op de datum die in txtDatum staat leeg?
leeg? nee
cboToepassing de waarde van txtLeverancier geven Private Sub DatumLevToepTonen() If txtDatum.Text = String.Empty Then dtpDatum.Value = Today Else dtpDatum.Value = txtDatum.Text End If If txtLeverancier.Text <> String.Empty Then cboLeverancier.SelectedValue = txtLeverancier.Text End If If txtToepassing.Text <> String.Empty Then cboToepassing.SelectedValue = txtToepassing.Text End If End Sub
TekstVakkenVullen() De datum van dtpDatum in txtDatum zetten Heeft cboLeveranciers een waarde? ja
nee
txtLeveranciers de waarde van cboLeveranciers geven Heeft cboToepassing ja
nee
txtLeveranciers de waarde van cboLevernaciers geven Is txtVlampunt ja
een waarde?
leeg? nee
txtVlampunt de waarde “leeg” geven
Glenn Van Haesendonck
6BI
37
Private Sub TekstvakkenVullen() txtDatum.Text = dtpDatum.Value If Not cboLeverancier.SelectedValue = Nothing Then txtLeverancier.Text = cboLeverancier.SelectedValue End If If Not cboToepassing.SelectedValue = Nothing Then txtToepassing.Text = cboToepassing.SelectedValue End If If txtVlampunt.Text = String.Empty Then txtVlampunt.Text = "geen" End If End Sub
TussentijdsOpslaan() De sub TekstvaVullen aanspreken De sub TekstvakLeveranciersVullen aanspreken De sub TekstvakToepVullen aanspreken Valideren Aanpassingen van de bindingsource van tblMSDS stoppen TableAdapter van tblMSDS updaten met gegevens van tblMSDS TableAdapter van tblMSDS vullen Bindingsource van tblMSDS op de laatste rij van tblMSDS zetten
Private Sub TussentijdsOpslaan() 'msdsID bepalen van huidige rij TekstvakkenVullen() TekstvakLeveranciersVullen() TekstvakToepVullen() Me.Validate() Me.objtblMSDSBindingSource.EndEdit() objtblMSDSTableAdapter.Update(objdtsMSDS.tblMSDS) objtblMSDSTableAdapter.Fill(objdtsMSDS.tblMSDS) objtblMSDSBindingSource.Position = objdtsMSDS.tblMSDS.Rows.Count 1 intMSDSID = Integer.Parse(txtMSDSID.Text) End Sub
Glenn Van Haesendonck
6BI
38
btnLeverancier_Click Nieuw object van frmLeveranciers maken blnToevoegen van frmLeveranciers op true zetten objfrmLeveranciers laten zien Private Sub btnLeverancier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLeverancier.Click objfrmLeverancier = New frmLeverancier objfrmLeverancier.blnToevoegen = True objfrmLeverancier.Show() End Sub
btnToepassing_Click Nieuw object van frmToepassingen maken objfrmToepassing laten zien
Private Sub btnToepassing_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnToepassing.Click objfrmToepassing = New frmToepassing objfrmToepassing.Show() End Sub
btnBrowse_Click Try (bescherm tegen runtime fout) Is het resultaat van Ja objFilename de filename van ofdDigitaleVersie geven txtDigitaleVersie vullen met objFilename Is txtDigitaleVersie Ja
ofdDigitaleVersie OK? Nee
leeg? Nee
btnOpenen Afhandeling runtime fout Catch algemene uitzondering Aangepaste boodschap Sub verlaten
Glenn Van Haesendonck
6BI
39
Private Sub btnBrowse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBrowse.Click Dim objFileName As Object Try ' Use the open file dialog to choose a word document If Me.ofdDigitaleVersie.ShowDialog() = DialogResult.OK Then 'Set the file name from the open file dialog objFileName = ofdDigitaleVersie.FileName System.Diagnostics.Process.Start(objFileName.ToString) txtDigitaleVersie.Text = objFileName.ToString End If If txtDigitaleVersie.Text <> String.Empty Then btnOpenen.Enabled = True End If Catch ex As Exception MessageBox.Show("Kan niet geopend worden", "Fout") Exit Sub End Try End Sub
btnOpenen_Click Try (bescherm tegen runtime fout) Digitale versie openen Afhandeling runtime fout Aangepaste boodschap tonen Sub verlaten
Private Sub btnOpenen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOpenen.Click Try System.Diagnostics.Process.Start(txtDigitaleVersie.Text) Catch ex As Exception MessageBox.Show("Kan het bestand niet openen", "Fout") Exit sub End Try End Sub
btnAanSamenstellingToevoegen_click ConnectingString van cnnMSDS instellen Sub TussentijdsOpslaan oproepen intChemischeStof de waarde van cboChemischeStof geven Eerste parameter van cmdAanChemSamenstellingToevoegen de waarde van intMSDSID geven Tweede parameter van cmdAanChemSamenstellingToevoegen de waarde van intChemStofID geven Connectie cnnMSDS openen cmdAanChemSamenstellingToevoegen() uitvoeren Connectie cnnMSDS sluiten objtblMSDS_chemischeStoffenTableAdapter vullen
Glenn Van Haesendonck
6BI
40
Private Sub btnAanSamenstellingToevoegen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAanSamenstellingToevoegen.Click Dim intChemStofID As Integer cnnMSDS.ConnectionString = My.Settings.dbMSDSConnectionString TussentijdsOpslaan() 'chemische stofid bepalen van chem stof uit cbo intChemStofID = cboChemischeStof.SelectedValue 'tblMSDS_ChemStoffen vullen cmdAanChemSamenstellingToevoegen.Parameters(0).Value = intMSDSID cmdAanChemSamenstellingToevoegen.Parameters(1).Value = intChemStofID cnnMSDS.Open() cmdAanChemSamenstellingToevoegen.ExecuteNonQuery() cnnMSDS.Close() objtblMSDS_ChemischeStoffenTableAdapter.Fill(objdtsMSDS.tblMSDS_ChemischeS toffen) End Sub
btnDetails_Click Sub TekstvakkenVullen() oproepen Nieuw object van frmLeverancier maken intLevID vullen met de waarde van txtLeverancier vermindert met 1 blnToevoegen van frmLeverancier op false zetten frmLeverancier tonen Private Sub btnDetails_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDetails.Click TekstvakkenVullen() objfrmLeverancier = New frmLeverancier intLevID = Integer.Parse(txtLeverancier.Text) - 1 objfrmLeverancier.blnToevoegen = False objfrmLeverancier.Show() End Sub
Glenn Van Haesendonck
6BI
41
btnNieuweChemStof_Click Connectionstring van cnnMSDS invullen Parameter van cmdChemStof toevoegen invullen met de waarde van txtChemStof Connectie cnnMSDS openen cmdChemStofToevoegen uitvoeren Connectie cnnMSDS sluiten TableAdapter van tblChemischeStoffen vullen txtChemStof leegmaken bntNieuweChemStof inactief maken btnAanSamenstellingToevoegen actief maken cboChemischeStof actief maken chkNieuweChemStof afvinken
Private Sub btnNieuweChemStof_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNieuweChemStof.Click cnnMSDS.ConnectionString = My.Settings.dbMSDSConnectionString cmdChemStofToevoegen.Parameters(0).Value = txtChemStof.Text cnnMSDS.Open() cmdChemStofToevoegen.ExecuteNonQuery() cnnMSDS.Close() objtblChemischeStoffenTA.Fill(objdtsChemischeStoffen.tblChemischeStoffen) txtChemStof.Text = String.Empty btnNieuweChemStof.Enabled = False btnAanSamenstellingToevoegen.Enabled = True cboChemischeStof.Enabled = True chkNieuweChemStof.Checked = False End Sub
chkNieuweStof_checkedChanged Is chkNieuweChemStof aangevinkt? ja
nee
txtChemStof actief maken btnAanSamenstellingToevoegen inactief maken cboChemischeStof inactief maken btnNieuweChemStof actief maken
txtChemStof inactief maken btnAanSamenstellingToevoegen actief maken cboChemischeStof actief maken btnNieuweChemStof inactief maken
Private Sub chkNieuweStof_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkNieuweChemStof.CheckedChanged If chkNieuweChemStof.Checked = True Then txtChemStof.Enabled = True btnAanSamenstellingToevoegen.Enabled = False cboChemischeStof.Enabled = False btnNieuweChemStof.Enabled = True
Glenn Van Haesendonck
6BI
42
Else txtChemStof.Enabled = False btnAanSamenstellingToevoegen.Enabled = True cboChemischeStof.Enabled = True btnNieuweChemStof.Enabled = False End If End Sub
btnSymboolToevoegen_Click Connectionstring van cnnMSDS instellen De sub TussentijdsOpslaan aanspreken strSumbool de waarde van cboSymbolen geven Eerste parameter van cmdSymbool de waarde van intMSDS geven Tweede parameter van cmdSymbool de waarde van strSymbool geven Connectie cnnMSDS openen cmdSymbool uitvoeren Connectie cnnMSDS sluiten TableAdapter van tblMSDS_Symbolen vullen Sub SymbolenTonen aanspreken Private Sub btnSymboolToevoegen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSymboolToevoegen.Click Dim strSymbool As String cnnMSDS.ConnectionString = My.Settings.dbMSDSConnectionString TussentijdsOpslaan() strSymbool = cboSymbolen.SelectedValue cmdSymbool.Parameters(0).Value = intMSDSID cmdSymbool.Parameters(1).Value = strSymbool cnnMSDS.Open() cmdSymbool.ExecuteNonQuery() cnnMSDS.Close() objtblMSDS_SymbolenTableAdapter.Fill(objdtsMSDS.tblMSDS_Symbolen) SymbolenTonen() End Sub
Glenn Van Haesendonck
6BI
43
SymbolenTonen() Pictureboxen leegmaken Voor intTeller van 0 tot het aantal rijen in dgvSymbolen strSymbool vullen met de waarde van de eerste cell in de aangesproken rij intTeller is 0 Eerste picturebox vullen met een afbeelding
1 Tweede picturebox vullen met een afbeelding
2 Derde picturebox vullen met een afbeelding
Private Sub SymbolenTonen() Dim strSymbool As String Dim intTeller As Integer picSymbool1.Image = Nothing picSymbool2.Image = Nothing picSymbool3.Image = Nothing For intTeller = 0 To dgvSymbolen.Rows.Count - 1 strSymbool = dgvSymbolen.Rows(intTeller).Cells(1).Value Select Case intTeller Case 0 picSymbool1.Image = imglSymbolen.Images(strSymbool & ".JPG") Case 1 picSymbool2.Image = imglSymbolen.Images(strSymbool & ".JPG") Case 2 picSymbool3.Image = imglSymbolen.Images(strSymbool & ".JPG") End Select Next End Sub
Glenn Van Haesendonck
6BI
44
chkNieuweSensStof_checkedChanged Is chkNieuweSensStof aangevinkt? ja
nee
txtSensStof actief maken btnSensStof inactief maken cboSensStoffen inactief maken btnNieuweSensStof actief maken
txtSensStof inactief maken btnSensStof actief maken cboSensStoffen actief maken btnNieuweSensStof inactief maken
Private Sub chkNieuweSensStof_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkNieuweSensStof.CheckedChanged If chkNieuweSensStof.Checked = True Then txtSensStof.Enabled = True btnSensStof.Enabled = False cboSensStoffen.Enabled = False btnNieuweSensStof.Enabled = True Else txtSensStof.Enabled = False btnSensStof.Enabled = True cboSensStoffen.Enabled = True btnNieuweSensStof.Enabled = False End If End Sub
btnSensStof_Click Connectionstring van cnnMSDS instellen Sub TussentijdsOpslaan aanspreken De waarde van cboSensStoffen aan intSenstoffen toewijzen Eerste parameter van cmdSensStofToevoegen met intMSDSID invullen Tweede parameter van cmdSensStofToevoegen met intSensStofID invullen Connectie cnnMSDS openen CmdSensStofToevoegen uitvoeren Connectie cnnMSDS sluiten TableAdapter van tblMSDS_SenStoffen vullen Private Sub btnSensStof_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSensStof.Click Dim intSensStofID As Integer cnnMSDS.ConnectionString = My.Settings.dbMSDSConnectionString TussentijdsOpslaan() intSensStofID = cboSensStoffen.SelectedValue cmdSensStofToevoegen.Parameters(0).Value = intMSDSID cmdSensStofToevoegen.Parameters(1).Value = intSensStofID cnnMSDS.Open() cmdSensStofToevoegen.ExecuteNonQuery() cnnMSDS.Close() objtblMSDS_SensStoffenTableAdapter.Fill(objdtsMSDS.tblMSDS_SensStoff en) End Sub
Glenn Van Haesendonck
6BI
45
btnNieuweSensStof_Click ConnectionString van cnnMSDS invullen Parameter van cmdNieuweSensStofToevoegen met txtSensStof invullen Connectie cnnMSDS openen cmdNieuweSensStof uitvoeren Connectie cnnMSDS sluiten TableAdapter van tblSensStoffen vullen txtSenstof leegmaken btnNieuweSensStof inactief maken btnSensStof actief maken cboSenstoffen actief maken chkNieuweSensStof afvinken Private Sub btnNieuweSensStof_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNieuweSensStof.Click cnnMSDS.ConnectionString = My.Settings.dbMSDSConnectionString cmdNieuweSensStofToevoegen.Parameters(0).Value = txtSensStof.Text cnnMSDS.Open() cmdNieuweSensStofToevoegen.ExecuteNonQuery() cnnMSDS.Close() objtblSensStoffenTableAdapter.Fill(objdtsSensStoffen.tblSensStoffen) txtSensStof.Text = String.Empty btnNieuweSensStof.Enabled = False btnSensStof.Enabled = True cboSensStoffen.Enabled = True chkNieuweSensStof.Checked = False End Sub
btnRZinToevoegen_Click ConnectionString van cnnMSDS invullen Sub TussentijdsOpslaan aanspreken strRZinCode invullen met waarde van cboRZin Eerste parameter van cmdRzinToevoegen met intMSDSID invullen Tweede parameter van cmdRzinToevoegen met strRZinCode invullen Connectie cnnMSDS openen cmdRZinToevoegen uitvoeren Connectie cnnMSDS sluiten TableAdapter van tblMSDS_Rzinnen vullen Private Sub btnRZinToevoegen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRZinToevoegen.Click Dim strRZinCode As String cnnMSDS.ConnectionString = My.Settings.dbMSDSConnectionString TussentijdsOpslaan() strRZinCode = cboRZinnen.SelectedValue cmdRZinToevoegen.Parameters(0).Value = intMSDSID cmdRZinToevoegen.Parameters(1).Value = strRZinCode
Glenn Van Haesendonck
6BI
46
cnnMSDS.Open() cmdRZinToevoegen.ExecuteNonQuery() cnnMSDS.Close() objtblMSDS_RzinnenTableAdapter.Fill(objdtsMSDS.tblMSDS_Rzinnen) End Sub
btnSZinToevoegen_Click ConnectionString van cnnMSDS invullen Sub TussentijdsOpslaan aanspreken strSZinCode invullen met waarde van cboSZinnen Eerste parameter van cmdSZinToevoegen met intMSDSID invullen Tweede parameter van cmdSZinToevoegen met strSZinCode invullen Connectie cnnMSDS openen cmdSZinToevoegen uitvoeren Connectie cnnMSDS sluiten TableAdapter van tblMSDS_Szinnen vullen Private Sub btnSZinToevoegen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSZinToevoegen.Click Dim strsZinCode As String cnnMSDS.ConnectionString = My.Settings.dbMSDSConnectionString TussentijdsOpslaan() strsZinCode = cboSZinnen.SelectedValue cmdSZinToevoegen.Parameters(0).Value = intMSDSID cmdSZinToevoegen.Parameters(1).Value = strsZinCode cnnMSDS.Open() cmdSZinToevoegen.ExecuteNonQuery() cnnMSDS.Close() objtblMSDS_SzinnenTableAdapter.Fill(objdtsMSDS.tblMSDS_Szinnen) End Sub
Glenn Van Haesendonck
6BI
47
BindingNavigatorAddNewItem_Click blnNieuweMSDS op waar zetten Pictureboxen van de symbolen leegmaken Is er niets geselecteerd in cboLeverancier? Ja
Nee
Index van cboLeverancier op 0 zetten Is er niets geselecteerd In cboToepassing? Ja
Nee
Index van cboToepassing op 0 zetten Is er niets geselecteerd in cboChemischeStof? Ja
Nee
Index van cboLChemischeStof op 0 zetten Is er niets geselecteerd In cboSensStoffen? Ja
Nee
Index van cboSensStoffen op 0 zetten Index van cboSymbolen op 0 zetten Index van cboRZinnen op 0 zetten Index van cboSzinnen op 0 zetten dtpDatum op de datum van vandaag zetten Private Sub BindingNavigatorAddNewItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingNavigatorAddNewItem.Click blnNieuweMSDS = True picSymbool1.Image = Nothing picSymbool2.Image = Nothing picSymbool3.Image = Nothing If Not cboLeverancier.SelectedValue = Nothing Then cboLeverancier.SelectedIndex = 0 End If If Not cboToepassing.SelectedValue = Nothing Then cboToepassing.SelectedIndex = 0 End If If Not cboChemischeStof.SelectedValue = Nothing Then cboChemischeStof.SelectedValue = 0 End If If Not cboSensStoffen.SelectedValue = Nothing Then cboSensStoffen.SelectedValue = 0 End If cboSymbolen.SelectedIndex = 0 cboRZinnen.SelectedIndex = 0 cboSZinnen.SelectedIndex = 0 dtpDatum.Value = Today End Sub
Glenn Van Haesendonck
6BI
48
btnUitSamenstellingVerwijderen_Click ConnectionString van cnnMSDS invullen intMSDSID invullen met de waarde van txtMSDSID intChemStofID met de waarde van de geselecteerde rij invullen Eerste parameter van cmdUitChemSamenstellingVerwijderen invullen met intMSDSID Tweede parameter van cmdUitChemSamenstellingVerwijderen invullen met intChemStofID Connectie cnnMSDS openen cmdUitChemSamenstellingVerwijderen uitvoeren Connectie cnnMSDS sluiten TableAdapter van tblMSDS_ChemischeStoffen vullen Private Sub btnUitSamenstellingVerwijderen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUitSamenstellingVerwijderen.Click Dim intChemStofID As Integer cnnMSDS.ConnectionString = My.Settings.dbMSDSConnectionString intMSDSID = CInt(txtMSDSID.Text) intChemStofID = CInt(dgvChemSamenstelling.Rows(dgvChemSamenstelling.SelectedCells.Item(0). RowIndex).Cells(1).Value) cmdUitChemSamenstellingVerwijderen.Parameters(0).Value = intMSDSID cmdUitChemSamenstellingVerwijderen.Parameters(1).Value = intChemStofID cnnMSDS.Open() cmdUitChemSamenstellingVerwijderen.ExecuteNonQuery() cnnMSDS.Close() objtblMSDS_ChemischeStoffenTableAdapter.Fill(objdtsMSDS.tblMSDS_ChemischeS toffen) End Sub
btnSymboolVerwijderen_Click ConnectionString van cnnMSDS invullen intMSDSID invullen met de waarde van txtMSDSID strSymbool met de waarde van de geselecteerde rij invullen Eerste parameter van cmdSymboolVerwijderen invullen met intMSDSID Tweede parameter van cmdSymboolVerwijderen invullen met strSymbool Connectie cnnMSDS openen cmdSymboolVerwijderen uitvoeren Connectie cnnMSDS sluiten TableAdapter van tblMSDS_Symbolen vullen Sub SymbolenTonen aanspreken Private Sub btnSymboolVerwijderen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSymboolVerwijderen.Click Dim strSymbool As String cnnMSDS.ConnectionString = My.Settings.dbMSDSConnectionString intMSDSID = CInt(txtMSDSID.Text)
Glenn Van Haesendonck
6BI
49
strSymbool = dgvSymbolen.Rows(dgvSymbolen.SelectedCells.Item(0).RowIndex).Cells(1).Valu e cmdSymboolVerwijderen.Parameters(0).Value = intMSDSID cmdSymboolVerwijderen.Parameters(1).Value = strSymbool cnnMSDS.Open() cmdSymboolVerwijderen.ExecuteNonQuery() cnnMSDS.Close() objtblMSDS_SymbolenTableAdapter.Fill(objdtsMSDS.tblMSDS_Symbolen) SymbolenTonen() End Sub
btnUitSensStofVerwijderen_Click ConnectionString van cnnMSDS invullen intMSDSID invullen met de waarde van txtMSDSID intSensStofID met de waarde van de geselecteerde rij invullen Eerste parameter van cmdUitSensStofVerwijderen invullen met intMSDSID Tweede parameter van cmdUitSensStofVerwijderen invullen met intSensStofID Connectie cnnMSDS openen cmdUitSensStofVerwijderen uitvoeren Connectie cnnMSDS sluiten TableAdapter van tblMSDS_SensStoffen vullen Private Sub btnUitSensStofVerwijderen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUitSensStofVerwijderen.Click Dim intSensStofID As Integer cnnMSDS.ConnectionString = My.Settings.dbMSDSConnectionString intMSDSID = CInt(txtMSDSID.Text) intSensStofID = CInt(dgvSensStoffen.Rows(dgvSensStoffen.SelectedCells.Item(0).RowIndex).Ce lls(1).Value) cmdUitSensStofVerwijderen.Parameters(0).Value = intMSDSID cmdUitSensStofVerwijderen.Parameters(1).Value = intSensStofID cnnMSDS.Open() cmdUitSensStofVerwijderen.ExecuteNonQuery() cnnMSDS.Close() objtblMSDS_SensStoffenTableAdapter.Fill(objdtsMSDS.tblMSDS_SensStoffen) End Sub
Glenn Van Haesendonck
6BI
50
btnRZinVerwijderen_Click ConnectionString van cnnMSDS invullen intMSDSID invullen met de waarde van txtMSDSID strRzinCode met de waarde van de geselecteerde rij invullen Eerste parameter van cmdRZinVerwijderen invullen met intMSDSID Tweede parameter van cmdRZinVerwijderen invullen met strRZinCode Connectie cnnMSDS openen cmdRZinVerwijderen uitvoeren Connectie cnnMSDS sluiten TableAdapter van tblMSDS_RZinnen vullen Private Sub btnRZinVerwijderen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRZinVerwijderen.Click Dim strRZinCode As String cnnMSDS.ConnectionString = My.Settings.dbMSDSConnectionString intMSDSID = CInt(txtMSDSID.Text) strRZinCode = dgvRZinnen.Rows(dgvRZinnen.SelectedCells.Item(0).RowIndex).Cells(1).Value cmdRZinVerwijderen.Parameters(0).Value = intMSDSID cmdRZinVerwijderen.Parameters(1).Value = strRZinCode cnnMSDS.Open() cmdRZinVerwijderen.ExecuteNonQuery() cnnMSDS.Close() objtblMSDS_RzinnenTableAdapter.Fill(objdtsMSDS.tblMSDS_Rzinnen) End Sub
btnSZinVerwijderen_Click ConnectionString van cnnMSDS invullen intMSDSID invullen met de waarde van txtMSDSID strSzinCode met de waarde van de geselecteerde rij invullen Eerste parameter van cmdSZinVerwijderen invullen met intMSDSID Tweede parameter van cmdSZinVerwijderen invullen met strSZinCode Connectie cnnMSDS openen cmdSZinVerwijderen uitvoeren Connectie cnnMSDS sluiten TableAdapter van tblMSDS_SZinnen vullen Private Sub btnSZinVerwijderen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSZinVerwijderen.Click Dim strSZinCode As String cnnMSDS.ConnectionString = My.Settings.dbMSDSConnectionString intMSDSID = CInt(txtMSDSID.Text) strSZinCode = dgvSZinnen.Rows(dgvSZinnen.SelectedCells.Item(0).RowIndex).Cells(1).Value cmdSZinVerwijderen.Parameters(0).Value = intMSDSID cmdSZinVerwijderen.Parameters(1).Value = strSZinCode
Glenn Van Haesendonck
6BI
51
cnnMSDS.Open() cmdSZinVerwijderen.ExecuteNonQuery() cnnMSDS.Close() objtblMSDS_SzinnenTableAdapter.Fill(objdtsMSDS.tblMSDS_Szinnen) End Sub
tlsbtnOverzicht_Click Nieuwe Accessapllicatie aanmaken strPathname de Pathname van het project geven Database openen Overzichtslijst openen Access zichtbaar maken Private Sub tlsbtnOverzicht_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tlsbtnOverzicht.Click Dim oAccess As Access.Application Dim strPathname As String oAccess = New Access.ApplicationClass() strPathname = System.AppDomain.CurrentDomain.BaseDirectory() ' Open a database in exclusive mode: oAccess.OpenCurrentDatabase(filepath:=strPathname & "dbMSDS.accdb", Exclusive:=True) ' Preview a report: oAccess.DoCmd.OpenReport(ReportName:="Overzichtslijst", View:=Access.AcView.acViewPreview) oAccess.Visible = True End Sub
tlsMSDSZoeken_Click Nieuw object van frmZoeken maken frmZoeken tonen Formilier zichtbaar zetten Private Sub tlsMSDSZoeken_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tlsMSDSZoeken.Click objfrmZoeken = New frmZoeken objfrmZoeken.Show() Me.Visible = False End Sub
Glenn Van Haesendonck
6BI
52
BindingNavigatorMovePreviousItem_Click Sub SymbolenTonen aanspreken Sub DatumLevToepTonen aanspreken Private Sub BindingNavigatorMovePreviousItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) SymbolenTonen() DatumLevToepTonen() End Sub
BindingNavigatorMoveFirstItem_Click Sub SymbolenTonen aanspreken Sub DatumLevToepTonen aanspreken Private Sub BindingNavigatorMoveFirstItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) SymbolenTonen() DatumLevToepTonen() End Sub
BindingNavigatorMoveNextItem_Click Sub SymbolenTonen aanspreken Sub DatumLevToepTonen aanspreken Private Sub BindingNavigatorMoveNextItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) SymbolenTonen() DatumLevToepTonen() End Sub
BindingNavigatorMoveLastItem_Click Sub SymbolenTonen aanspreken Sub DatumLevToepTonen aanspreken Private Sub BindingNavigatorMoveLastItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) SymbolenTonen() DatumLevToepTonen() End Sub
txtDigitaleVersie_Leave Is txtDigitaleVersie leeg? Ja
Nee
Messagebox met aangepaste boodschap weergeven Focus op txtDigitaleVersie zetten Private Sub txtDigitaleVersie_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDigitaleVersie.Leave If txtDigitaleVersie.Text = String.Empty Then MessageBox.Show("Geef een digitale versie op", "Digitale versie") txtDigitaleVersie.Focus() End If End Sub
Glenn Van Haesendonck
6BI
53
txtDigitaleVersie_TextChanged Is txtDigitaleVersie leeg? Ja
Nee
btnOpenen inactief maken
btnOpenen actief maken
Private Sub txtDigitaleVersie_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDigitaleVersie.TextChanged If txtDigitaleVersie.Text = Nothing Then btnOpenen.Enabled = False Else btnOpenen.Enabled = True End If End Sub
btnEerste_Click Bindingsource van tblMSDS op de eerste record zetten Sub SymbolenTone aanspreken Sub DatumLevToepTonen aanspreken Private Sub btnEerste_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEerste.Click objtblMSDSBindingSource.MoveFirst() SymbolenTonen() DatumLevToepTonen() End Sub
btnVorige_Click Bindingsource van tblMSDS op de vorige record zetten Sub SymbolenTone aanspreken Sub DatumLevToepTonen aanspreken Private Sub btnVorige_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVorige.Click objtblMSDSBindingSource.MovePrevious() SymbolenTonen() DatumLevToepTonen() End Sub
Glenn Van Haesendonck
6BI
54
btnVolgende_Click Bindingsource van tblMSDS op de volgende record zetten Sub SymbolenTone aanspreken Sub DatumLevToepTonen aanspreken Private Sub btnVolgende_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVolgende.Click objtblMSDSBindingSource.MoveNext() SymbolenTonen() DatumLevToepTonen() End Sub
btnLaatste_Click Bindingsource van tblMSDS op de laatste record zetten Sub SymbolenTone aanspreken Sub DatumLevToepTonen aanspreken Private Sub btnLaatste_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLaatste.Click objtblMSDSBindingSource.MoveLast() SymbolenTonen() DatumLevToepTonen() End Sub
txtNaam_TextChanged Is txtNaam leeg? Ja
Nee
Messagebox met gepaste boodschap weergeven txtNaam focus geven Private Sub txtNaam_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtNaam.Leave If txtNaam.Text = String.Empty Then MessageBox.Show("Geef een naam in.", "Fout", MessageBoxButtons.OK) txtNaam.Focus() End If End Sub
Glenn Van Haesendonck
6BI
55
cboLeverancier_GotFocus Sub TekstvakLeveranciersVullen aanspreken Private Sub cboLeverancier_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboLeverancier.GotFocus TekstvakLeveranciersVullen() End Sub
cboLeverancier_SelectedIndexChanged Sub TekstvakLeveranciersVullen aanspreken Private Sub cboLeverancier_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboLeverancier.SelectedIndexChanged TekstvakLeveranciersVullen() End Sub
TekstvakLeveranciersVullen() Heeft cboLeverancier een geselecteerde waarde? Ja
Nee
txtLeverancier de waarde van cboLeverancier geven Private Sub TekstvakLeveranciersVullen() If Not cboLeverancier.SelectedValue = Nothing Then txtLeverancier.Text = cboLeverancier.SelectedValue.ToString End If End Sub
cboToepassing_GotFocus Sub TekstvakToepVullen aanspreken Private Sub cboToepassing_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboToepassing.GotFocus TekstvakToepVullen() End Sub
cboToepassing_SelectedIndexChanged Sub TekstvakToepVullen aanspreken Private Sub cboToepassing_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboToepassing.SelectedIndexChanged TekstvakToepVullen() End Sub
Glenn Van Haesendonck
6BI
56
TekstvakToepVullen() Heeft cboToepassing een geselecteerde waarde? Ja
Nee
txtToepassing de waarde van cboToepassing geven Private Sub TekstvakToepVullen() If Not cboToepassing.SelectedValue = Nothing Then txtToepassing.Text = cboToepassing.SelectedValue.ToString End If End Sub
txtInterneNaam_Leave Is txtInterneNaam leeg? Ja
Nee
Messagebox met gepaste boodschap weergeven txtinterneNaam focus geven Private Sub txtInterneNaam_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtInterneNaam.Leave If txtInterneNaam.Text = String.Empty Then MessageBox.Show("Geef een interne naam op", "Interne naam") txtInterneNaam.Focus() End If End Sub
txtInterneCode_Leave Is txtInterneCode leeg? Ja
Nee
Messagebox met gepaste boodschap weergeven txtinterneCode focus geven Private Sub txtInterneCode_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtInterneCode.Leave If txtInterneCode.Text = String.Empty Then MessageBox.Show("Geef een interene code op", "Interne code") txtInterneCode.Focus() End If End Sub End Class
Glenn Van Haesendonck
6BI
57
3.2 frmLeveranciers
tblLeveranciersBindingNavigatorSaveItem_Click Formulier valideren Annuleer lopende wijzigingen in objtblLeveranciersBindingSource Update de TableAdapterManager met gegevens van dtsLeveranciers Vul de TableAdapter van tblLeveranciers De bindingsource van objtblLeveranciers word op de laatste record gezet intLeveranciersID krijgt de waarde van txtLeveranciersID Vul de TableAdapter van tblLeveranciers van frmMSDS De waarde van cboLeveranciers van frmMSDS word gelijk gesteld aan intLeveranciersID cboLeveranciers op frmMSDS krijgt focus frmLeveranciers word gesloten Private Sub TblLeveranciersBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TblLeveranciersBindingNavigatorSaveItem.Click Dim intLeverancierID As Integer Me.Validate() Me.objtblLeveranciersBindingSource.EndEdit() Me.objtableAdapterManager.UpdateAll(Me.objdtsLeveranciers) Me.objtblLeveranciersTableAdapter.Fill(objdtsLeveranciers.tblLeveranciers) objtblLeveranciersBindingSource.Position = objdtsLeveranciers.tblLeveranciers.Rows.Count - 1 intLeverancierID = txtLeverancierID.Text
Glenn Van Haesendonck
6BI
58
frmMSDS.objtblLeveranciersTA.Fill(frmMSDS.objdtsLeveranciers.tblLeverancie rs) frmMSDS.cboLeverancier.SelectedValue = intLeverancierID frmMSDS.cboLeverancier.Focus() Me.Close() End Sub
frmLeveranciers_load De TableAdapter van tblLEveranciers word gevuld Moet er een nieuwe leverancier toegevoegd worden? Ja Nieuwe record toevoegen
Nee
De positie van de BindingSource van tbl leveranciers op de waarde van intLevID zetten
Focus op txtNaam zetten Private Sub frmLeverancier_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'TODO: This line of code loads data into the 'DtsLeveranciers.tblLeveranciers' table. You can move, or remove it, as needed. Me.objtblLeveranciersTableAdapter.Fill(Me.objdtsLeveranciers.tblLeverancie rs) If blnToevoegen Then Me.objtblLeveranciersBindingSource.AddNew() Else Me.objtblLeveranciersBindingSource.Position = frmMSDS.intLevID End If txtNaam.Focus() End Sub End Class
Glenn Van Haesendonck
6BI
59
3.3 frmToepassing
tblToepassingenBindingNavigatorSaveItem_Click Formulier valideren Annuleer lopende wijzigingen in de BindingSource van tblToepassingen Update de TableAdapterManager met gegevens van dtsToepassingen Vul de TableAdapter van tblToepassingen De bindingsource van objtblToepassingen word op de laatste record gezet intToepassingID krijgt de waarde van txtToepassingID frmLeveranciers word gesloten Vul de TableAdapter van tblToepassingen van frmMSDS De waarde van cboToepassing van frmMSDS word gelijk gesteld aan intToepassingID cboToepassing op frmMSDS krijgt focus Private Sub TblToepassingenBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TblToepassingenBindingNavigatorSaveItem.Click Dim intToepassingID As Integer Me.Validate() Me.objtblToepassingenBindingSource.EndEdit() Me.objtableAdapterManager.UpdateAll(Me.objdtsToepassingen) Me.objtblToepassingenTableAdapter.Fill(objdtsToepassingen.tblToepassingen) objtblToepassingenBindingSource.Position = objdtsToepassingen.tblToepassingen.Rows.Count - 1 intToepassingID = txtToepassingsId.Text Me.Close() frmMSDS.objtblToepassingenTA.Fill(frmMSDS.objdtsToepassingen.tblToepassing en) frmMSDS.cboToepassing.SelectedValue = intToepassingID frmMSDS.cboToepassing.Focus() End Sub
Glenn Van Haesendonck
6BI
60
frmToepassingen_load De TableAdapter van tblToepassingen word gevuld Er word een nieuwe record gemaakt in de BindingSource van tblToepassingen Private Sub frmToepassing_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'TODO: This line of code loads data into the 'DtsToepassingen.tblToepassingen' table. You can move, or remove it, as needed. Me.objtblToepassingenTableAdapter.Fill(Me.objdtsToepassingen.tblToepassing en) objtblToepassingenBindingSource.AddNew() End Sub
Glenn Van Haesendonck
6BI
61
3.4 frmZoeken
frmZoeken_Load TableAdapter van tblMSDS vullen met gegevens van dtsZoeken defaultVieuw van tblMSDS van dtsZoeken instellen in dtvMSDS De datasource van de BindingSource van tblMSDS op niets zetten Private Sub frmZoeken_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'TODO: This line of code loads data into the 'DtsZoeken.tblMSDS' table. You can move, or remove it, as needed. Me.objtblMSDSTableAdapter.Fill(Me.objdtsZoeken.tblMSDS) dtvMSDS = Me.objdtsZoeken.tblMSDS.DefaultView Me.objtblMSDSBindingSource.DataSource = Nothing End Sub
Glenn Van Haesendonck
6BI
62
rdbNaamOpMSDS_CheckedChanged Is rdbNaamOPMSDS aangevinkt? Ja
Nee
txtNaamOpMSDS actief maken De DataSource van tblMSDS geen waarde geven txtInterneCode leegmaken txtInterneNaam leegmaken
txtNaamOpMSDS inactief maken
Private Sub rdbNaamOpMSDS_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdbNaamOpMSDS.CheckedChanged If rdbNaamOpMSDS.Checked = True Then txtNaamOpMSDS.Enabled = True objtblMSDSBindingSource.DataSource = Nothing txtInterneCode.Text = String.Empty txtInterneNaam.Text = String.Empty Else txtNaamOpMSDS.Enabled = False End If End Sub
rdbInteneNaam_CheckedChanged Is rdbInterneNaam aangevinkt? Ja
Nee
txtInterneNaam actief maken De DataSource van tblMSDS geen waarde geven txtInterneCode leegmaken txtINaamOpMSDS leegmaken
txtInterneNaam inactief maken
Private Sub rdbInterneNaam_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdbInterneNaam.CheckedChanged If rdbInterneNaam.Checked = True Then txtInterneNaam.Enabled = True objtblMSDSBindingSource.DataSource = Nothing txtInterneCode.Text = String.Empty txtNaamOpMSDS.Text = String.Empty Else txtInterneNaam.Enabled = False End If End Sub
Glenn Van Haesendonck
6BI
63
rdbInteneCode_CheckedChanged Is rdbInterneCode aangevinkt? Ja
Nee
txtInterneCode actief maken De DataSource van tblMSDS geen waarde geven txtINaamOpMSDS leegmaken txtInterneNaam leegmaken
txtInterneCode inactief maken
Private Sub rdbInterneCode_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdbInterneCode.CheckedChanged If rdbInterneCode.Checked = True Then txtInterneCode.Enabled = True objtblMSDSBindingSource.DataSource = Nothing txtNaamOpMSDS.Text = String.Empty txtInterneNaam.Text = String.Empty Else txtInterneCode.Enabled = False End If End Sub
btnZoeken_Click Welke radiobutton is aangevinkt? rdbNaamOpMSDS rdbInterneNaam rdbInterneCode Rowfilter van dtvMSDS Rowfilter van dtvMSDS Rowfilter van dtvMSDS invullen met NaamOpMSDS invullen met InterneNaam invullen met InterneCode dtvMSDS sorteren op dtvMSDS sorteren op dtvMSDS sorteren op NaamOPMSDS InterneNaam InterneCode De DataSource van de BindingSource van tblMSDS invullen met dtvMSDS Private Sub btnZoeken_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnZoeken.Click Select Case True Case rdbNaamOpMSDS.Checked dtvMSDS.RowFilter = "NaamOpMSDS like '*" & txtNaamOpMSDS.Text & "*'" dtvMSDS.Sort = "NaamOpMSDS ASC" Case rdbInterneNaam.Checked dtvMSDS.RowFilter = "InterneNaam like '*" & txtInterneNaam.Text & "*'" dtvMSDS.Sort = "InterneNaam ASC" Case rdbInterneCode.Checked dtvMSDS.RowFilter = "InterneCode like '*" & txtInterneCode.Text & "*'" dtvMSDS.Sort = "InterneCode ASC" End Select objtblMSDSBindingSource.DataSource = dtvMSDS End Sub
Glenn Van Haesendonck
6BI
64
dgvZoekenResultaat_CellDoubleClick intMSDS van frmMSDS invullenmet de geselecteerde rij van dgvZoekResultaat intTest de waarde van intMSDS van frmMSDS geven frmZoeken sluiten frmMSDS zichtbaar maken frmMSDS laten zien Private Sub dgvZoekResultaat_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvZoekResultaat.CellDoubleClick frmMSDS.intMSDSID = dgvZoekResultaat.Rows(dgvZoekResultaat.SelectedCells.Item(0).RowIndex).Cel ls(0).Value frmMSDS.blnNieuweMSDS = False Dim intTest As Integer intTest = frmMSDS.intMSDSID Me.Close() frmMSDS.Visible = True frmMSDS.Show() End Sub
4 Communicatie met de eindgebruiker
Glenn Van Haesendonck
6BI
65
Frans 1 Le curriculum Vitae
CURRICULUM VITAE Données personnelles -Nom : Van Haesendonck -Adresse : Salvialei 87, 2900 Schoten -Date de naissance : 1991/10/31 -Numéro de portable : 0493646049 -Adresse e-mail : glenn_vh@hotmail.com -État civil : cohabitant -Nationalité : Belge
-Prénom : Glenn -Lieu de naissance : Wilrijk
Formation Enseignement secondaire -2002-2005 Commerce Ks Joma -2005-2006 Arts visuels et architecture SISA -2006-2011 Comptabilité-Informatique Ks Joma Expérience -2006-2008 aide dans la boulangerie Mortier Partager et cuire du pain Connaissance des langues -néerlandais : langue maternelle
français anglais
Compréhension écrite Bonnes bases excellent
Compréhension orale Excellent Excellent
Expression écrite Bon Excellent
Expression orale Bon excellent
Divers Dans mon temps libre je suis un DJ. Mes autres activités sont faire de la musique. Je n’ai pas un véhicule. Je me déplace à vélo et en transports en commun. J’ai de la connaissance de Microsoft Ofice, des programmes comptabilité et Microsoft Visual Studio.
Glenn Van Haesendonck
6BI
66
RĂŠfĂŠrences -
Ks Joma Maantjessteenweg 130 2170 Merksem Tel. : 03 645 59 60 Fax : 03 645 65 45 E-mail : info@ksjoma.be
-
SISA Cadixstraat 2 2000 Antwerpen Tel. 03 206 00 60 Fax 03 206 00 75 85
-
Mortier Kerkedreef 2 2930 Maria-ter-heide Tel. : 03 663 00 37
Glenn Van Haesendonck
6BI
67
2 Le rappel Vercammen Pascal Lakborslei 156 2100 DEURNE
Monsieur K. Peter Planchee SA Wolstraat 46 2000 Anvers
Votre lettre du
Vos références GH/PK/FA
nos références PK/GH/FA
DEURNE 2011-02-04
Rappel
Monsieur Malheureusement nous avons remarqué que votre facture du 15 janvier dernier n’a pas été réglée à ce jour Convaincu qu’il s’agit d’une simple oubli, nous osons vous demander d’effectuer le règlement avant le 29 février. Veuillez ne pas tenir compte de ce courrier si vous venez d’effectuer le paiement. Restant à votre disposition, nous vous prions d’agréer, Monsieur, l’expression de nos sentiments distingués.
Glenn Van Haesendonck Service comptable
Glenn Van Haesendonck
6BI
68
3 Une présentation orale de l’entreprise de stage Les données de l’entreprise
j'ai fait mon stage au Comptable agréé – Fiscaliste Vercammen Pascal . L’entreprise est située à Deurne, Lakborslei numéro 154.
Histoire
En 1981 Pascal Vercammen est devenu comptable en profession accessoire. Dans le courant des anées il développe sa clientèle. En1994 la comptabilité est sa profession principale. En 2004 il engage son premier membre du personnel, Kim Vercammen, sa fille. En 2010 il engage son deuxième membre du personnel. Sa fiche de clientèle comprend environ 175 dossiers.
Mission
La mission de Pascal Vercammen est soigner la comptabilité complète, donner de l'aide fiscale et donner des conseil de démarage d’entreprise.
Organigramme
Pascal Vercammen est le chef d'entreprise et il est aussi un comptable. Sa fille, Kim Vercammen est assistante comptable. Kwankaew Sinchu est aussi assistante comptable et réceptionniste dans l’entreprise.
Rapport du stage
Ma tâche principale pendant mon stage consistait à faire des classements. J’ai également rédigé une lettre informative et je me suis occupé des données du client. Le programme Popsi 3.0 m’a permis de faire des réservations ainsi que des notes de crédit et des factures. Mon stage était certainement une bonne expérience. Durant cette période j’ai acquis plusieurs compétences . Ainsi, j’ai une idée plus claire sur les dépenses et recettes d’une entreprise. En plus, l’utilisation du programme comptable ainsi que le traitement des données client ont amélioré mes connaissances spécifiques de la comptabilité. La période de stage, qui concourait avec les déclarations TVA, les classements et l’absence de contact avec la clientèle m’ont moins plus. Glenn Van Haesendonck
6BI
69
Engels 1 English manual 1 Add a supplier
Press the add button on form MSDS. The form Suppliers will appear on the screen. Fill in the name, the address, the zip code, the place and the country of your supplier. Fill in the email address, the telephone number and a emergency number of the supplier. Click on the save button (the blue little diskette) and you will see the MSDS form again.
Glenn Van Haesendonck
6BI
70
2 Add a use
Press the add button on form MSDS. The application form will appear on the screen. Enter the usage of the chemical. Click on the save button and the MSDS form will appear back on your screen.
3 Add a new sensitizing substance
Click in the square of new substance. The textbox next to the checkbox will be enabled.
Glenn Van Haesendonck
6BI
71
Type a new substance in the textbox and click on the add button. The substance will appear in the dropdown list box. Press the add button next to the dropdown list box and the substance will appear in the gridview.
4 Print a summary
To print a summary you need to press the button next to the save button. Microsoft Access will open and a summary will appear. Press the print button in the left corner.
Glenn Van Haesendonck
6BI
72
5 Search for a MSDS
Press the search button on form MSDS. The search form will appear on your screen. Choose if you want to search for the original name, the internal name or the internal code of the MSDS. Click on the search button and the required MSDS will appear in the gridview. If you double click on a row of the gridview you will automatically be redirected to the MSDS form again and the data from the selected MSDS will appear.
Glenn Van Haesendonck
6BI
73
6 Add a new MSDS
Click on the new button in the tool strip. An empty MSDS will appear. Fill in the name on the MSDS, the internal name, the internal code, the date, the supplier, the application and the digital version. Fill in the dangers. There you need to fill in the flashpoint, the chemical and sensitizing substances. You also need to choose some symbols, R-sentences and S-sentences. Click on the save button.
Glenn Van Haesendonck
6BI
74
Besluit Na deze geïntegreerde proef met stage kan ik besluiten dat boekhouden en informatica niet mijn ding zijn. De stage vond ik zeer positief en leerrijk, maar het liet mij inzien dat ik niet heel mijn leven een boekhouder wil zijn die heel de dag op kantoor zit. Ik heb ook gemerkt dat planning als de opdracht je niet veel interesseert, niet altijd even goed werkt. Persoonlijk vind ik dit werk zelf niet zo interessant omdat ik volgend jaar iets totaal anders ga doen en eigenlijk niets meer ben met het informatica gedeelte. Het positieve aan deze geïntegreerde proef was wel dat ik eindelijk weet wat ik na dit jaar wil gaan doen. Daaruit kan ik opmaken dat ik eigenlijk al enkele jaren in de verkeerde richting zit. Aangezien ik chemie wil gaan verder studeren. Deze beslissing heb ik genomen omdat ik wel goed ben in wetenschappen. Ook omdat werken als laborant mij leuk lijkt omdat je dan experimenteert en nieuwe dingen kan uitvinden. En omdat de chemische sector één van de bestbetalende sectoren is.
Glenn Van Haesendonck
6BI
75