[Access] rapport bouwen

Pagina: 1
Acties:
  • 209 views sinds 30-01-2008
  • Reageer

  • the_scientist
  • Registratie: November 2004
  • Laatst online: 15-11-2023
Voor school ben ik bezig met mijn eindproject, waarin we een database moeten bouwen. Dit is volledig gelukt, mede dankzij de hulp van GoT. De laatste stap hierin is een rapport opzetten, waarin de resultaten van de database te zien moeten zijn. In het begin wist ik echt niet waar te beginnen, maar na flink wat zoekwerk op internet, een paar boeken doorlezen en wat hulp van anderen ben ik al een aardig eind gekomen. Het gaat hierbij om een cijferlijst van leerlingen. Een voorbeeld van het rapport hoe het er uit moet komen te zien:

http://www.frozen-land.com/ioi/schets.xls

En de database waar het om draait:

http://www.frozen-land.com/ioi/database.mdb

De bedoeling: alle cijfers worden nu weergegeven. Nu moet er nog een eindcijfer achter komen. Is het veld herkansing leeg, dan moet het veld cijfer1 worden gebruikt als eindcijfer. Is er voor de herkansing een cijfer bekend, dan moet dit als eindcijfer worden gebruikt. Het laatst behaalde cijfer telt dus. Daarna zal van alle eindcijfers een gemiddelde berekend moeten worden. Is dit, met de huidige database, nog mogelijk? Veranderingen in de database kan ik helaas niet meer aanbrengen, aangezien deze al afgetekend zijn door de leraar.

Ook moet er een SQL-query geschreven worden, waarbij deze gegevens zichtbaar zijn. Zelf heb ik hier nog niet al te veel onderzoek naar gedaan moet ik eerlijk toegeven, dat ga ik zeker nog doen. Maar tips zijn altijd welkom natuurlijk ;)

Voor ik het vergeet: het .XLS-bestand is alleen een schets, er hoeft dus niet gewerkt te worden met enige vorm van koppelingen naar Excel.

[ Voor 5% gewijzigd door the_scientist op 17-05-2005 14:36 ]


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Zoek in de helpfile even naar iif. Die kun je zowel in querys als in rapporten gebruiken en dan krijg je iets als:

eindcijfer: iif(IsNull(herkansing);cijfer1;herkansing)

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • lier
  • Registratie: Januari 2004
  • Laatst online: 14:27

lier

MikroTik nerd

Berekende velden neem je nooit (uitzondering is performance redenen) op in de database. Deze hoef je dus niet toe te voegen, je kan ze namelijk uit rekenen.

En als de herkansing een lager cijfer op levert dan het eerste cijfer, telt in dat geval ook het herkansingscijfer ?

In een query kan je (Access toch ook !?) gebruik maken van isnull().

Eerst het probleem, dan de oplossing


  • the_scientist
  • Registratie: November 2004
  • Laatst online: 15-11-2023
lier schreef op dinsdag 17 mei 2005 @ 14:49:
Berekende velden neem je nooit (uitzondering is performance redenen) op in de database. Deze hoef je dus niet toe te voegen, je kan ze namelijk uit rekenen.

En als de herkansing een lager cijfer op levert dan het eerste cijfer, telt in dat geval ook het herkansingscijfer ?

In een query kan je (Access toch ook !?) gebruik maken van isnull().
Helaas wel ja, als je als eerste cijfer een 8 haalt en een 4 als herkansing, telt die 4. Even offtopic, daarom herkans ik ook bijna niets als ik ergens een voldoende voor heb.

Even dit: ik heb totaal geen kennis van Access. De kennis die ik nu heb, wat erg weinig is, heb ik opgedaan tijdens dit project. Wat ik nu heb gebouwd, heeft me erg veel moeite gekost. Je laatste zin zegt me dan ook helaas echt helemaal niets.

  • the_scientist
  • Registratie: November 2004
  • Laatst online: 15-11-2023
Niesje schreef op dinsdag 17 mei 2005 @ 14:44:
Zoek in de helpfile even naar iif. Die kun je zowel in querys als in rapporten gebruiken en dan krijg je iets als:

eindcijfer: iif(IsNull(herkansing);cijfer1;herkansing)
Ik ga even kijken. Is er toevallig een Nederlandse helpfile (uiteraard legaal) te downloaden vanaf de Microsoft-site? Ik zit hier nl. met een Engelstalig Office-pakket, en een Nederlandse uitleg zou me zeer zeker helpen.

Edit: even het een en ander doorgelezen. Ik denk niet dat het de bedoeling is dat onze kennis zover zal reiken. Is er een makkelijkere manier om dit te maken, misschien met behulp van een wizard? Zo niet, dan laat ik het lekker zitten. Dit hebben we nooit gehad tijdens de lessen, en ze kunnen ook onmogelijk verwachten dat we zoiets kunnen maken.

[ Voor 26% gewijzigd door the_scientist op 17-05-2005 14:57 ]


  • lier
  • Registratie: Januari 2004
  • Laatst online: 14:27

lier

MikroTik nerd

http://office.microsoft.c...pdate/CD011124301033.aspx

Gelijk goed om je Engels een beetje te updaten !

Eerst het probleem, dan de oplossing


  • the_scientist
  • Registratie: November 2004
  • Laatst online: 15-11-2023
Ik zie het al. Dit gaat te diep voor wat we tot nu toe op de opleiding hebben gekregen. Dit laat ik dus lekker zitten, aangezien ze dit niet in de beoordeling zullen meenemen.

  • the_scientist
  • Registratie: November 2004
  • Laatst online: 15-11-2023
Even een snelle vraag:

Ik ben bezig met de SQL-query, ik heb de volgende query geschreven:

code:
1
2
3
SELECT  leerling.VN_leerling,  leerling.AN_leerling, leerling.NR_leerling, klas.Code_klas,  klas.Naam_klas, mentor.VN_mentor, mentor.AN_mentor, mentor.NC_mentor, vak.Naam_vak,  vak.Code_vak, toets.Code_toets,  toets.Naam_toets, resultaat.Cijfer1,  resultaat.Herkansing
FROM Leerling, mentor, klas, resultaat, toets, vak
order by leerling.NR_leerling


Als ik deze query laat draaien in Access, slaat de hele boel vast. Is dit omdat het de goede query is, maar ook een hele hoop rekenwerk vereist? Of zit er een fout in?

Edit: snap het al, vergeten te koppelen. Ik heb deze query gebruikt, die werkt naar mijn idee prima. Even m'n theorieboek doorbladeren deed het hem :) Iemand nog opmerkingen? Die hoor ik uiteraard graag.

Dit is de query:
code:
1
2
3
4
5
6
7
8
SELECT leerling.VN_leerling,  leerling.AN_leerling,  leerling.NR_leerling, klas.Code_klas,  klas.Naam_klas, mentor.VN_mentor, mentor.AN_mentor, mentor.NC_mentor, vak.Naam_vak,  vak.Code_vak, toets.Code_toets,  toets.Naam_toets, resultaat.Cijfer1,  resultaat.Herkansing
FROM Leerling, mentor, klas, resultaat, toets, vak
where mentor.nc_mentor = klas.nc_mentor
and leerling.code_klas = klas.code_klas
and leerling.nr_leerling = resultaat.nr_leerling
and resultaat.code_toets = toets.code_toets
and toets.code_vak = vak.code_vak
order by leerling.NR_leerling

[ Voor 41% gewijzigd door the_scientist op 17-05-2005 15:35 ]


  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

SA >> OFF

  • the_scientist
  • Registratie: November 2004
  • Laatst online: 15-11-2023
Sorry?

  • Pinobigbird
  • Registratie: Januari 2002
  • Laatst online: 14:55

Pinobigbird

doesn't share food!

Je topic is verplaatst van Software Algemeen (SA) naar Officesuites en -software (OFF)

[ Voor 4% gewijzigd door Pinobigbird op 17-05-2005 22:55 ]

Joey: Nice try. See the Netherlands is this make believe place where Peter Pan and Tinkerbell come from.
https://kattenoppasleiderdorp.nl
PV: 3080Wp ZO + 3465Wp NW = 6545Wp totaal 13°tilt


  • the_scientist
  • Registratie: November 2004
  • Laatst online: 15-11-2023
ah :)

Die is nieuw zeker?

  • the_scientist
  • Registratie: November 2004
  • Laatst online: 15-11-2023
Goed, gisteren heb ik het project met rapport + SQL-query ingeleverd. Het is wachten op het cijfer. Zou het leuk vinden om het hier even te vermelden, kan het topic zolang openblijven?

  • the_scientist
  • Registratie: November 2004
  • Laatst online: 15-11-2023
Kick!

Het cijfer is bekend, ik heb een 8. Diploma is binnen :)

Bij deze wil ik een bedankje doen aan alle Tweakers!
Pagina: 1