Toon posts:

[ACCESS] Overzicht aantal maal ja / nee

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

Verwijderd

Topicstarter
Opzich lijkt me dit iets wat betrekkelijk makkelijk zou kunnen moeten dmv SQL, maar ik kom er niet uit en heel wat tijd aan de search besteden, leverde me ook niks op.

Ik heb een database in Access, waarin ik een enquete verwerkt heb.
Het is aan enquete onder elf scholen, dus het aantal records staat vast, en is onderverdeeld in open vragen en ja/nee vragen.
Wat ik nu wil bereiken is dat ik voor het ja/nee gedeelte een rapport genereer, waarin hij per vraag aangeeft hoe vaak er ja en hoe vaak er nee is geantwoord op deze vraag.

Kan iemand mij hier verder mee helpen? Zaken als optellen enzo werken niet bij ja/nee vragen natuurlijk..
(mocht hier wel al een topic over bestaan, kan iemand mij daar dan naartoe verwijzen?)

  • Obliterator
  • Registratie: November 2000
  • Laatst online: 30-07 17:45
Lijken me redelijke basis queries, maar dat is natuurlijk niet te zeggen zonder de structuur van je database te zien. Kijk eens naar de COUNT instructie van SQL en naar de overige aggregatie functies.

[ Voor 11% gewijzigd door Obliterator op 10-02-2006 11:23 ]


Verwijderd

Topicstarter
Structuur is heel simpel; verschillende onderdelen zijn in verschillende tabellen ondergebracht, maar uiteindelijk ziet elke ja/nee vragen tabel er als volgt uit
(School, vraag1, vraag2, vraag3, enz)
Alles wordt samengebracht door een relatie met een tabel waar alle elf scholen in staan.

Ik moet dus een query hebben die voor elke tabel aangeeft hoe vaak er bij elke vraag ja en nee ingevuld is. Opzich zou het al voldoende zijn als hij het aantal maal 'ja' kon tellen, want het totaal aantal records staat toch vast (elf scholen, dus zou het aantal maal nee dan 11 - aantal maal ja zijn)

  • Boss
  • Registratie: September 1999
  • Laatst online: 22:38

Boss

+1 Overgewaardeerd

Dus... iets van
SQL:
1
SELECT Count(*) From MyTable Where Antwoord = 'ja'

En dan aanpassen en opleuken naar smaak?

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


  • Obliterator
  • Registratie: November 2000
  • Laatst online: 30-07 17:45
Verwijderd schreef op vrijdag 10 februari 2006 @ 11:49:
Structuur is heel simpel; verschillende onderdelen zijn in verschillende tabellen ondergebracht, maar uiteindelijk ziet elke ja/nee vragen tabel er als volgt uit
(School, vraag1, vraag2, vraag3, enz)
Misschien is de structuur wel te simpel. Ik zou meer tabellen verwachten in de vorm
(School, vraag, antwoord)

Verwijderd

Topicstarter
Boss schreef op vrijdag 10 februari 2006 @ 13:59:
Dus... iets van
SQL:
1
SELECT Count(*) From MyTable Where Antwoord = 'ja'

En dan aanpassen en opleuken naar smaak?
Voor zover ik kan beredeneren moet dat wel werken ja, alleen is Antwoord geen geldige SQL expressie toch?

Als ik bijvoorbeeld
SQL:
1
SELECT Count(EHBOkist_aanwezig) FROM Verzorging;

Geeft hij netjes het aantal records (11 dus), maar zodra ik nog WHERE Antwoord='ja' er achteraan gooi, moet ik een parameterwaarde voor Antwoord invoeren.

Weet iemand zo wat ik hiervoor in de plaats in moet vullen?

-edit-
Voor de duidelijkheid, in mijn database zijn de antwoorden gewoon ja/nee velden in een tabel. Dus EHBOkist_anwezig is een veld met als gegevenstype true/false

[ Voor 14% gewijzigd door Verwijderd op 14-02-2006 11:38 ]


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Verwijderd schreef op dinsdag 14 februari 2006 @ 11:36:
[...]

[...]
Weet iemand zo wat ik hiervoor in de plaats in moet vullen?
[...]
Oef, dit is echt erg. De enige die dat weet ben jij. Daar komt de naam van het betreffende veld. Nofi, maar ga ajb een boekje lezen over databases of een van de vele SQL tutorials op het web.
-edit-
Voor de duidelijkheid, in mijn database zijn de antwoorden gewoon ja/nee velden in een tabel. Dus EHBOkist_anwezig is een veld met als gegevenstype true/false
[/q]
In dat geval kun je ze gewoon optellen. Ja=-1, Nee=0

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


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17-08 23:56

Janoz

Moderator Devschuur®

!litemod

Hoe moet access nu weten wat je met 'antwoord' bedoeld? Er is toch geen kolom die 'antwoord' heet? Je hebt alleen een kolom die 'ehbokist_aanwezig' heet. Om die te tellen zul je dus iets als select count(*) from myTable where 'ehbokist_aanwezig = ja

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Op deze manier werkt hij:

SELECT Count(*) AS Totaal_EHBO
FROM Verzorging
WHERE Verzorging.[EHBO-kist_beschikbaar]=True;

Nou heb ik één laatste vraag en dan laat ik jullie echt met rust met mijn gezeur.
In diezelfde tabel Verzorging staan nog meer velden, zoals Pestprotocol_aanwezig, hetgeen weer een ja/nee is. Is het mogelijk om in dezelfde query ook een overzicht te maken van de andere velden uit de tabel Verzorging of moet ik echt per veld een aparte query maken?
Ik kom namelijk in de knoop met wat ik dan bij SELECT en als WHERE statement in moet voeren.

(mocht iemand overigens een tutorial weten waar dit specifieke probleem aan de orde wordt gesteld, hou ik mij uiteraard ook aanbevolen, maar nogmaals; ik heb hier echt serieus zelf ook lang genoeg naar gezocht zonder resultaat)

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Als je ze optelt kan dat in één query, en zoals hierboven al gemeld: ja/nee velden kun je gewoon optellen.

Tutorials zijn er meer dan genoeg, ook over aggregatie in SQl, maar je zult idd geen tutorial vinden die beschrijft hoe je ja/nee velden moet optellen in een niet genormaliseerd datamodel. Imho heb je er meer aan als je een algemene tutorial doorwerkt zodat je snapt wat je aan het doen bent: dan kun je het volgende probleem ook oplossen namelijk. ;)

w3schools tutorial over aggregatie

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


Verwijderd

Topicstarter
Ik ben echt een aap, ik zie het nu in één keer na die tutorial bekeken te hebben.
Bedankt :)
Pagina: 1