[ASP]Velden in kolom tellen

Pagina: 1
Acties:

  • Hydrax
  • Registratie: December 2001
  • Laatst online: 17-07 16:31
Ok de situatie is als volgt:
Ik ben bezig met een (online)klantonderzoek, de gegevens worden netjes via een form in een Access database gezet. Dit werkt allemaal prima en de resultaten van een individuele enquete zijn ook prima te zien in mijn zelfgebouwde resultatenpagina.

Nou wil ik ook alle resultaten laten zien. Bijvoorbeeld als ik een vraag heb waar naar tevredenheid word gevraagd heb ik als opties:
- Geheel tevreden
- tevreden
- ontevreden
etc.

Om dit allemaal te laten zien gooi ik dit in een tabelletje, dan krijg je zoiets als:
Geheel tevreden 15
tevreden 4
ontevreden 1

Dat vraag ik op door:
ASP.NET Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Do until objRS.eof

If objrs("AlgemeneTevredenheid") = "Geheel tevreden" Then
    countGT = countGT + 1
End IF
If objrs("AlgemeneTevredenheid") = "Tevreden" Then
    countT = countT + 1
End IF
If objrs("AlgemeneTevredenheid") = "Ontevreden" Then
    countO = countO + 1
End IF

objrs.MoveNext
Loop


vervolgens gooi ik dat als volgt in een tabel:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<table border=1>
<tr>
<td>.</td>
<td>Tevredenheid</td>
</tr>
<tr>
<td>Geheel Tevreden</td>
<td><% Response.Write countGT %></td>
</tr>
<tr>
<td>Zeer Tevreden</td>
<td><% Response.Write countT %></td>
</tr>
<tr>
<td>Tevreden</td>
<td><% Response.Write countO %></td>
</tr>
</table>


Dit werk allemaal prima, geen klachten erover.
Maar nu mijn daadwerkelijke probleem (ja eindelijk hij komt):
Dit is een manier die goed werkt voor kleine zaken, maar dit hierboven was voor slechts 1 kolom, in de hele tabel staan er veel meer en het wordt dan een enorme berg code.
Mijn vraag is: kan dit anders opgelost worden?
Ik ben al flink aan het speuren geweest hier op GoT maar het is lastig als je niet precies een zoekterm weet.

Zelf zat ik al te denken aan alle unieke zaken in een kolom tellen dmv 1 of andere variabele.
Maar het is ook weer zo dat niet in elke kolom alle waarden voorkomen of dat in elke kolom dezelfde waarden staan. (allemaal string overigens).

Heeft iemand hier een suggestie hoe ik dit aan kan pakken, of mijn idee eigenlijk wel mogelijk is en waar ik het dan moet zoeken?
(scripts hoef ik niet, ik wil het namelijk zelf bouwen want dat vind ik zelf leuker. Maar ik weet echt niet waar ik moet zoeken.)

Every program has two purposes -- one for which it was written and another for which it wasn't. specs


  • dominic
  • Registratie: Juli 2000
  • Laatst online: 21-08 19:07

dominic

will code for food

Maak in je query gebruik van een count(veldnaam) en gebruik group by..

Dit is redelijk basic stuff dat je gewoon binnen je query kunt doen..

Download my music on SoundCloud


  • xtra
  • Registratie: November 2001
  • Laatst online: 13-08 11:30
Begin eens met group by:
code:
1
SELECT AlgemeneTevredenheid FROM x GROUP BY AlgemeneTevredenheid;


Edit: Mét count werkt idd beter.

[ Voor 15% gewijzigd door xtra op 17-04-2003 14:48 ]


  • Hydrax
  • Registratie: December 2001
  • Laatst online: 17-07 16:31
Ja ik snap dat ik dit in een de query kan doen, maar het probleem is dat ik dan nog steeds een berg queries moet gaan maken, en dit wil ik nou juist vermijden.

Evengoed bedankt voor de input.

Every program has two purposes -- one for which it was written and another for which it wasn't. specs


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Een berg? Eentje maar... En deze levert een goede recordset, die je kan uitlezen.

[ Voor 55% gewijzigd door gorgi_19 op 17-04-2003 14:52 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Hydrax
  • Registratie: December 2001
  • Laatst online: 17-07 16:31
gorgi_19 schreef op 17 April 2003 @ 14:51:
Een berg? Eentje maar... En deze levert een goede recordset, die je kan uitlezen.
ja ok, maar ik geloof dat we hier even langs elkaar heenpraten.
Dit is slechts 1 vraag (1 kolom). Maar er zijn zo'n ruim 20 vragen en even zoveel kolommen. Die bevatten voor een groot deel hetzelfde soort antwoorden als bij eerdergenoemde vraag, maar voor een deel is het bv Ja/Nee antwoord of andere waarden.

[ Voor 24% gewijzigd door Hydrax op 17-04-2003 14:55 ]

Every program has two purposes -- one for which it was written and another for which it wasn't. specs


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Dan is je databasemodel fout. Je hebt 2 soorten vragen: open vragen en MC vragen. MC vragen kan je groeperen, Open vragen niet, die moet je apart de antwoorden van weergeven.

Bij de MC vragen:

Koppeltabel:
VraagID int
AntwoordID int.

Vragen
VraagID int
Vraag varchar

AntwoordID int
antwoord. varchar

Je gaat me toch niet vertellen dat je voor 50 vragen 50 kolommen hebt he?

[ Voor 95% gewijzigd door gorgi_19 op 17-04-2003 14:57 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Hydrax
  • Registratie: December 2001
  • Laatst online: 17-07 16:31
Het zit een beetje lastiger in elkaar dan dat, omdat er haast geen enkele vraag hetzelfde is (en het origineel veel kleiner was en dat werd telkens een stukje groter) is het misschien niet de meest efficiente opzet. Maar je krijgt telkens rijen (dus 1 rij per ingevuld formulier).
Naam, AntwoordVraag1, AntwoordVraag2, AntwoordVraag3, etc.
En die antwoorden zijn telkens weer wat anders. Het is wel zo dat de antwoorden bij het invullen gekozen moeten worden uit een pulldown lijstje.

Every program has two purposes -- one for which it was written and another for which it wasn't. specs


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Hydrax schreef op 17 april 2003 @ 15:05:
Het zit een beetje lastiger in elkaar dan dat, omdat er haast geen enkele vraag hetzelfde is (en het origineel veel kleiner was en dat werd telkens een stukje groter) is het misschien niet de meest efficiente opzet. Maar je krijgt telkens rijen (dus 1 rij per ingevuld formulier).
Naam, AntwoordVraag1, AntwoordVraag2, AntwoordVraag3, etc.
En die antwoorden zijn telkens weer wat anders. Het is wel zo dat de antwoorden bij het invullen gekozen moeten worden uit een pulldown lijstje.
Wat houdt je tegen om dan alsnog via de door mij voorgestelde structuur te werken? Zoals jij doet krijg je idd een hele omslachtige query.

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1