Auswerten Fragebogen mit Access

Liebe Access Experten,

ich habe eine Befragung durchgeführt und möchte diese nun auswerten. Da die Befragung in Zukunft öfters wiederholt werden soll und dabei eine Menge Daten gesammelt werden, wollte ich die Ergebnisse mit Access auswerten. Die Auswertung mittels Excel wäre hier zu aufwendig.
Ich finde das Problem sehr komplex - Könnt Ihr mir dabei helfen und verraten, wie ich in Access vorgehen muss? Zur besseren Veranschaulichung habe ich die Befragung und deren Ergebnisse vereinfacht. In der eigentlichen Befragung wurden 1.000 Personen 14 Fragen gestellt. In diesem Beispiel sind es 3 Fragen für 6 Befragte.

Frage 1: Haben Sie in der letzten Woche Obst gegessen?
(Einfachantwort)
Ja (weiter: Frage 2)
Nein (weiter: Frage 3)
Weiß nicht (weiter: Frage 3)

Frage 2: Welches Obst haben Sie letzte Woche gegessen?(Mehrfachantwort)
Apfel
Birne
Kiwi

Frage 3: Wie oft essen Sie Obst?
(Einfachantwort)
Täglich
Wöchentlich
Monatlich
Nie

Die insgesamt 6 befragten Kunden haben dabei folgende Antworten auf die Fragen gegeben:

Antworten
Kundenident ____ Frage ____ Antworten
101 ____ 1 ____ Ja
101 ____ 2 ____ Apfel
101 ____ 2 ____ Birne
101 ____ 3 ____ Täglich
102 ____ 1 ____ Nein
102 ____ 3 ____ Monatlich
103 ____ 1 ____ Ja
103 ____ 2 ____ Apfel
103 ____ 2 ____ Birne
103 ____ 2 ____ Kiwi
103 ____ 3 ____ Wöchentlich
104 ____ 1 ____ Ja
104 ____ 2 ____ Birne
104 ____ 2 ____ Kiwi
104 ____ 3 ____ Täglich
105 ____ 1 ____ Ja
105 ____ 2 ____ Apfel
105 ____ 3 ____ Täglich
106 ____ 1 ____ Weiß Nicht
106 ____ 3 ____ Nie

Ich möchte nun mit Access auswerten wie viele Kunden auf welche Frage was geantwortet haben, z.B. wie viele der Befragten auf Frage 2 „Apfel“ geantwortet etc.

Für Eure Hilfe wäre ich sehr dankbar.

Herzliche Grüße

Fintch

Hallo Fintch,

ob du die Auswertung mit Excel oder mit Access machst, ist gleich. Ich sehe bisher keinerlei Vorteil von Access (das ich aber sehr liebe.)
In jedem Fall wirst du eine Tabelle (pro Wiederholung) anlegen für die Antworten. Die Fragen sind ja bekannt und müssen nicht aufgenommen werden!

KID Ant1 Ant2 Ant3 …

KID ist die KundenID; die Antworten würde ich nur dann ausschreiben, wenn sie frei formuliert werden und es kein multiple choice ist. (Im Falle von Multiple Choice würde ich die Antworten mit Zahlen codieren; das tippt sich besser ein, ist aber für die Auswertung auch egal.) Ob jemand von Frage 1 zu Frage 2 oder gleich zu Frage 3 geht (so dein Beispiel), ist für das Auswertungsschema egal. Wenn keine Antwort 2 da ist, bleibt das Feld Ant2 leer (oder es wird mit 0 aufgefüllt.)

Die numerische Auswertung geht in beiden Tabellenarten gleich, nur die Auswertesyntax ist anders.

Ich hoffe, dir geholfen zu haben. Wenn ja, kannst du ja weiter fragen, wenn nein, ist ein danke dennoch immer richtig und auch angezeigt :wink: .

Viel Erfolg,
Tronicrot

Hi,

also wenn du diese Antworten hast, dann packst du die mal in eine Access-Tabelle.
Ich habe mal eine Tabelle mit dem Namen ‚Auswertung‘ angelegt.
Da kommen dann die 3 Spalten rein: Kunde, Frage, Antwort

Dann erstellst du eine neue Abfrage und tütest folgenden SQL-String rein (auf SQL-Ansicht gehen)

SELECT Auswertung.Frage, Auswertung.Antwort, Count(Auswertung.Antwort) AS [Anzahl von Antwort]
FROM Auswertung
GROUP BY Auswertung.Frage, Auswertung.Antwort;

Damit hast du denke ich fenau das, was du haben wolltest.

Hoffe das hilft dir weiter.

Gruß
Proteus

Hallo Fintch,
interessante Aufgabenstellung.
Ich komme die nächsten 2 Wochen nicht zur Beantwortung. Wenn du dann das Problem noch immer hast dann frag nochmal nach.
Viel Erfolg
Thomas

Du könntest die Aufbereitung der Daten in mehrere Schritte unterteilen und eine neue Tabelle mit den Resultaten (Summen/Anzahlen) bilden

D.h. meherere Anfüge-Abfragen, welche Schritt für Schritt die gewünschten Daten rausziehen und in eine Resultatetabelle schreiben, welche dann so ne Struktur hat, damit du sie einfach auswerten kannst. z.B. mit einer Abfrage mit Gruppierung über Summe oder Anzahl

Könntest einen Button machen und in dessen Code z.b. jeweils mit DoCmd.OpenQuery … die Abfragen nacheinander ausführen bis Du am Ziel bist.

Hallo,
ich würde einige Daten mehr zur Antwort bzw. Aufgabe benötigen.
Mach doch einfach ein Kreuztabellenabfrage. Wenn sich die Daten wiederholen könntest du zur Excel Tabelle ne Verknüpfung erstellen und darauf die abfrage erstellen.

Gruß Dirk

PS
Für nähere infos würde ich die daten bzw sortierung benötigen, damit würd ich dir evtl, auch ne muster erstellen.

Prima! ich denk das ist es. Ist ja viel zu einfach:wink:Werde mich damit mal an der eigentlichen Auswertung probieren. Viele Dank

Hallo Tronicrot,

vielen Dank für deine Hilfe.

Fintch

Hallo Proteus,

nochmal vielen Dank für das Feedback. Soweit hat es funktioniert. Jedoch habe ich bei genauerem Hinsehen noch ein Fragetypus vergessen, wo ich nicht weis, wie ich diesen mit Access auswerten kann. Diesen findest du unter Frage 4. Der Kunde wird hier gebeten, verschiedene Dinge zu bewerten (auf einer Skala von 1 bis 4).
Hier nochmal vorige Darstellung/Befragung mit der ergänzten Frage 4.

Frage 1: Haben Sie in der letzten Woche Obst gegessen?
(Einfachantwort)
Ja (weiter: Frage 2)
Nein (weiter: Frage 3)
Weiß nicht (weiter: Frage 3)

Frage 2: Welches Obst haben Sie letzte Woche gegessen?(Mehrfachantwort)
Apfel
Birne
Kiwi

Frage 3: Wie oft essen Sie Obst?
(Einfachantwort)
Täglich
Wöchentlich
Monatlich
Nie

Frage 4: Wie bewerten Sie die folgende Obstsorten? (1=sehr gut, 2= gut, 3=weniger gut, 4= nicht gut)
Apfel
Birne
Kiwi

Die insgesamt 6 befragten Kunden haben dabei folgende Antworten auf die Fragen gegeben:

Kunde ____ Frage ____ Antwort ____ Bewertung

101 ____ 1 ____ Ja
101 ____ 2 ____ Apfel
101 ____ 2 ____ Birne
101 ____ 3 ____ Täglich
101 ____ 4 ____ Apfel ____ 1
101 ____ 4 ____ Birne ____ 3
101 ____ 4 ____ Kiwi ____ 4
102 ____ 1 ____ Nein
102 ____ 3 ____ Monatlich
102 ____ 4 ____ Apfel ____ 2
102 ____ 4 ____ Birne ____ 2
102 ____ 4 ____ Kiwi ____ 1
103 ____ 1 ____ Ja
103 ____ 2 ____ Apfel
103 ____ 2 ____ Birne
103 ____ 2 ____ Kiwi
103 ____ 3 ____ Wöchentlich
103 ____ 4 ____ Apfel ____ 2
103 ____ 4 ____ Birne ____ 1
103 ____ 4 ____ Kiwi ____ 3
104 ____ 1 ____ Ja
104 ____ 2 ____ Birne
104 ____ 2 ____ Kiwi
104 ____ 3 ____ Täglich
104 ____ 4 ____ Apfel ____ 1
104 ____ 4 ____ Birne ____ 1
104 ____ 4 ____ Kiwi ____ 2
105 ____ 1 ____ Ja
105 ____ 2 ____ Apfel
105 ____ 3 ____ Täglich
105 ____ 4 ____ Apfel ____ 1
105 ____ 4 ____ Birne ____ 2
105 ____ 4 ____ Kiwi ____ 3
106 ____ 1 ____ Weiß Nicht
106 ____ 3 ____ Nie
106 ____ 4 ____ Apfel ____ 4
106 ____ 4 ____ Birne ____ 4
106 ____ 4 ____ Kiwi ____ 3

Die Bewertungen der Obstsorten (1-4) habe ich in der Excel Tabelle in einer vierten Spalte (Bewertung) erfasst. Nun soll mit Access gezählt werden, wie viele Kunden der jeweiligen Obstsorte bspw. der Birne eine 1 gegeben haben, wie viele eine 2, 3 oder 4.

Wie ist dies möglich? Kannst du mir auch hier weiterhelfen?

Herzlichen Dank.

Fintch

Hi,

keine Problem, sollte dann ähnlich aussehen:

SELECT Auswertung.Frage, Auswertung.Antwort, Auswertung.Bewertung, Count(Auswertung.Bewertung) AS [Anzahl von Bewertung]
FROM Auswertung
GROUP BY Auswertung.Frage, Auswertung.Antwort, Auswertung.Bewertung
HAVING (((Auswertung.Bewertung) Is Not Null))
ORDER BY Auswertung.Antwort, Auswertung.Bewertung;

wenn du dannach in die Entwurfsansicht wechselst, dann siehst du eigentlich, wie es gemacht wird. Gruüüierung und Anzahl sind hier die Grundfunktionen. Damit kannst du auch noch ein wenig rumspielen, wenn du noch andere Auswertungen benötigst.

Damit sollte es gehen…

Gruß
Proteus

Hallo Finch,

diese Fragen erst mal vorweg:
1: Wie fitt bist Du mit Access und der Programmierung?
2: Hast Du schon eine Access-DB mit den Daten der Auswertung angelegt?

So, jetzt mal zu der Problemstellung von Dir:
3: Wie willst Du die Fragen auswerten?
Willst Du vorgeben, was Du auswerten willst oder eine gesamte Auswertung von allen Möglichkeiten?

Hier mal die Abfrage für die Auswertung einer einzelnen
Anazahl mit Vorgaben:

SELECT COUNT(*) FROM WHERE Frage = 2 AND Anworten = ‚Apfel‘

Gruß
Ingo

Hallo,

zunächst solltest du die Tabellen entwerfen und dir überlegen wie du sie aufteilen willst.

Logisch für mich als Aussenstehender wäre folgende Lösung:
1 Tabelle für die Personen (ID, Name oder was sonst so erfasst wird)
1 Tabelle für die Fragen (und nur die Fragen)
1 Tabelle für die Antworten (hier passiert die Zuordnung welche Antwort bei welcher Frage möglich ist)
und dann noch
1 Tabelle für die Erfassung der Umfrage.
-> Person ; Frage ; Antwort

Dann noch deine Abfragen und Formulare drauf und fertig ist die Datenbank…

Gruß
Marco Bergbold

Hallo,
durch „Normalisierung“ lässt sich das Ganze relativ einfach lösen:

  1. Tabelle: enthält die Fragen (ID_Frage, Fragentext)
  2. Tabelle: enthält die Antworten mit Fremdschlüssel auf Fragentabelle (ID_Antwort, ID_Frage, Antworttext)
  3. Tabelle: enthält die Kunden (ID_Kunde, Kundenname, …)
  4. Tabelle: enthält die abgegebenen Antworten pro Kunde (Antwort, Kunde)

Zwischen diesen Tabellen jeweils eine 1:n-Beziehung herstellen (Frage - Antwort, Antwort - abgegebene Antworten, Kunde - abgegebene Antworten) und schon kann man über eine Query die angesprochene Fragestellung beantworten.

VG
Robert

Wenn du eine neue Abfrage erzeugst und im SQL-Eingabefeld folgendes eingibst:

SELECT Tabelle1.Frage, Tabelle1.Antworten, Count(Tabelle1.Kundenident) AS AnzahlvonKundenident
FROM Tabelle1
GROUP BY Tabelle1.Frage, Tabelle1.Antworten;

hast du deine Lösung.
lG Robert

> in Access neue Abfrage erstellen und entweder per SQL-Befehl oder ziehen und klicken nur die Spalte
KUNDENIDENT und FRAGE auswählen - Gruppeneigenschaft auswählen - Anzahl Frage und im Kriterienbereich eintippseln Wie „Apfel*“

Sorry hatte ein paar Probleme,

ist die Anfrage gelöst?