Pre svega hvala na odgovorima i uloženom trudu.
Anketa nije velika i mogao sam analizu da napravim u Excell-u, pa čak i ručno, ali sam se nešto zainatio da to uradim u Access-u, možda i nije najjednostavnije, ali ću bar da naučim nešto.
Pogledao sam obe baze koje ste postavili, ova Zidareva mi je nešto jasnija, verovatno zato što je već popunjena, ali mi neke stvari i dalje nisu jasne, pre svega kako da unesem podatke. Ako ste mislili da unosim direktno u tabele ListicPitanja (Getsbi) odnosno Anketni_Listici (Zidar) tako što bih ubacivao šifre listića, pitanja i odgovora, to mi se ne čini baš praktičnim, a rekao bih da je i mogućnost greške poprilična. Kada bi mogao da se napravi Form koji bi izgledao kao repAnketniListic Report (Zidar), dakle kad otvorim novi zapis da mi se pojave sva pitanja i ponuđeni odgovori, a ne da moram da ih posebno ubacujem. Nažalost mislim da to nije moguće, bar ja nisam uspeo.
Ja sam ostao kod ideje jedno pitanje-jedno polje i otprilike sam rešio problem ovako:
Tabela Listici sadrži polje id, koje je primarni ključ i označava broj listića (anketa je anonimna pa mi ne treba ime i prezime) i onoliko polja koliko ima pitanja sa opcijom jednog odgovora. Sva polja su combo-box-ovi koji sadrže ponuđene opcije odgovora plus još jednu vrednost "nije odgovoreno". Polja sam jednostavno nazvao brojevima pitanja. Za pitanja na koja se može dati više odgovora sam napravio po jednu tabelu sa tri polja (id_listica,id_odgovora,broj pitanja), prva dva su ključevi, a broj pitanja combo sa ponuđenim odgovorima plus "nije odgovoreno". Povezao sam ove tabele sa Listici i napravio form sa tri subforma (toliko ima spoljnih tabela) preko koga ubacujem podatke.
E sad ono što me je mučilo je kako da izvučem zbirne podatke i to sam na kraju rešio pomoću UNION Query-ja
Code:
SELECT "1" AS pitanje, Listici.[1] AS opcija, Count(*) AS ukupno
FROM Listici
GROUP BY odgovori.[1];
UNION
SELECT "2" AS pitanje, Listici.[2] AS opcija, Count(*) AS ukupno
FROM Listici
GROUP BY odgovori.[2];
UNION
// itd za svako pitanje odnosno polje (1,2,3...)
.......................
.......................
// pa onda za "spoljne" tabele
SELECT "9" AS pitanje,[9].[9] AS opcija, Count(*) AS ukupno
FROM 9
GROUP BY [9].[9];
//itd za svaku tabelu (ime tabele je broj pitanja)
Možda nije baš najelegantnije rešenje ali sam dobio ono što mi treba (ubr da li bi mogla da se napravi VBA funcija koja bi generisala ovakav Query za određenu tabelu?)
Napravio sam i tabelu Pitanja sa poljima br_pitanja i tekst_pitanja i u novom query-ju povezao tekst_pitanja sa poljem pitanje iz union queryja i na osnovu njega napravio report, grupisao po tekstu pitanja i to je to.
Jedini problem je sa opcijama koje niko nije izabrao, one se ne pojavljuju u reportu, ali preživeću i bez toga (još nisam popunio sve podatke pa ne znam da li ću imati takav slučaj). Možda neko ima ideju kako da to izbegnem?
Još jednom zahvaljujem na odgovorima, kad završim ovo napraviću jedan primer pa ću da ga postavim (ovi podaci baš nisu za javnost :-)
/(bb|[^b]{2})/