[Access 2000] Rapport geeft niet de juiste gegevens weer

Pagina: 1
Acties:

  • Bellsofwar
  • Registratie: September 2004
  • Laatst online: 12-08 09:19
SELECT klanttevredenheidsformulier.[form-id],
servicegroepenbackup.servicegroep,
klanttevredenheidsformulier.[a_algemene-indruk],
klanttevredenheidsformulier.[b_technische-kennis],
klanttevredenheidsformulier.[c_afspraken-planning],
klanttevredenheidsformulier.[d_overleg-rapportage],
klanttevredenheidsformulier.e_werkhouding,
klanttevredenheidsformulier.[f_kwaliteit-werk],
klanttevredenheidsformulier.g_werktempo,
klanttevredenheidsformulier.[h_algehele-waardering],
TBL_Opmerkingen.opmerkingen, servicegroepenbackup.servicegroep_id,
weegfactoren.*
FROM weegfactoren, (servicegroepenbackup INNER JOIN
klanttevredenheidsformulier ON servicegroepenbackup.servicegroep_id =
klanttevredenheidsformulier.Afdeling) INNER JOIN TBL_Opmerkingen ON
klanttevredenheidsformulier.[form-id] = TBL_Opmerkingen.[form-id];

Bovenstaande query hoort bij een rapport waarbij ik het aantal
klanttevredenheidsformulieren bereken en het aantal opmerkingen dat
door klanten is gemaakt. Het is dus zo dat een formulieren altijd
wordt ingeleverd, maar de opmerkingen die op het formulier kunnen
worden gemaakt niet altijd worden gedaan. Zo is het dus dat er 12
formulieren kunnen zijn bij een
bepaalde afdeling in het bedrijf, waarbij er maar 4 opmerkingen zijn.

Het rapport ziet er ongeveer zo uit:

servicegroep aantal-forms opmerkingen per formulier
analytical NL 4 4
Industrial IT/Advant/µScada BNL 6 6
Industrial IT/DCI System Six BNL3 3
Industrial IT/Sattline BNL 6 6
instrumentation NL 2 2
marine systems 22 22

Het aantal-forms wordt als volgt berekend: =Count([form-id]) --> dit
is de ID van de formulier

Het aantal opmerkingen wordt als volgt berekend: =Count([opmerkingen])

De tabel TBL_opmerkingen en klanttevredenheid bevatten beiden form-id
vanwege de onderlinge relatie/koppeling.

Nu kun je dus zien dat dit rapport niet klopt. De opmerkingen worden
wel goed opgeteld, maar het aantal forms niet. Deze moeten veel hoger
liggen dan het aantal opmerkingen, omdat ik zeker weet dat het aantal
opmerkingen gewoon minder is per servicegroep. Volgens mij is er iets
mis met de query die onder het rapport zelf staat, maar wat, dat weet
ik niet.

Vermoedelijk: klanttevredenheidsformulier.[form-id] =
TBL_Opmerkingen.[form-id];

Maar hoe moet dit worden aangepast?

Vul ik andere waarden in bij aantal-forms ivm de berekening,ik bereken
dan bijvoorbeeld een andere waarde die op het formulier staat:
algehele-waardering, dan wordt het aantal forms nog steeds niet goed
geteld. Dit wordt nog steeds gelijkgesteld aan het aantal opmerkingen
per formulier.

Het is moeilijk uit te leggen, maar ik hoop dat jullie hier iets aan
hebben.

  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

Weet je zeker dat de rapport velden de correcte verwijzingen naar de RecordSet hebben? Het lijkt mij zo één twee drie een GROUP BY (dan binnen je report) gerelateerd probleem.

[offtopic]Zou je je post overigens wat leesbaarder kunnen maken door [norml]
code:
1
[/] om je SQL e.d. heen te zetten[/]

  • Bellsofwar
  • Registratie: September 2004
  • Laatst online: 12-08 09:19
Ik heb voor zover ik weet wel een goede verwijzing gegeven. De form-id die ik opgeteld wil hebben komt uit de tabel Klanttevredenheidsformulier. Deze heb ik ook aangegeven als =Count([form-id]), waarbij dus form-id moet worden gepakt (in de query heb ik alleen form-id van klanttevredenheidsformulier geselecteerd). Ik weet niet wat ik nu dus fout doe. Voorheen werkte de optelling wel, totdat de opmerkingentabel werd toegevoegd, waarna access verwees naar aantal opmerkingen en dit gelijk stelde met form-id.

  • sanfranjake
  • Registratie: April 2003
  • Niet online

sanfranjake

Computers can do that?

(overleden)
Zou je de SQL stukjes nog even tussen [code] [./code](zonder puntje) tags willen zetten? Dit leest zoals Woudloper opmerkt wat prettiger :)

Mijn spoorwegfotografie
Somda - Voor en door treinenspotters


  • Bellsofwar
  • Registratie: September 2004
  • Laatst online: 12-08 09:19
code:
1
2
3
4
5
6
7
8
9
SELECT form-id, servicegroep, a_algemene-indruk, b_technische-kennis,
c_afspraken-planning,d_overleg-rapportage, e_werkhouding, f_kwaliteit-werk, 
g_werktempo, h_algehele-waardering, opmerkingen, servicegroep_id, 
weegfactoren.*

FROM weegfactoren, (servicegroepenbackup INNER JOIN
klanttevredenheidsformulier ON servicegroepenbackup.servicegroep_id =
klanttevredenheidsformulier.Afdeling) INNER JOIN TBL_Opmerkingen ON
klanttevredenheidsformulier.[form-id] = TBL_Opmerkingen.[form-id];



Zoiets??