2017-04-18 9 views
0

ich diese SQL bin mit:Pivot Kombinationsfeld Tabelle in MS Access

TRANSFORM Max(table1.[quiz]) AS MaxOfquiz 
SELECT table1.[quizdate], table1.[studentname], Max(table1.[quiz]) AS [Total Of 
quizscores] 
FROM table1 
GROUP BY table1.[quizdate], table1.[studentname] 
PIVOT table1.[coursename]; 

Um zu versuchen und eine Combobox Tisch zu schwenken:

Table1

ID quizdate coursename studentname quiz 
1 02-Jan-21 math  john  100  
2 03-Feb-21 science  joe   99  
3 04-Mar-21 physics  monica  97  
4 05-Apr-20 language mike  88 

Wo course ist ein Drop-Down (Mathematik, Naturwissenschaften, Physik, Sprache) in

Tabelle 2

studentname math science physics language 
john  100 
joe    99 
monica     97 
mike        88 

ich diese Ergebnisse erhielt:

quizdate studentname Total Of quizscores 1 2 3 4 
4/4/2016 moe   88       88 
1/1/2017 john  100        100 
2/2/2017 joe   99      99  
3/3/2017 monica  97     97   

Es scheint, dass combox Box course nicht als Spaltenname geschwenkt werden kann, aber die Zahlen statt. Kann mir jemand erklären, wie ich die richtigen Ergebnisse erzeugen kann?

+2

Warum möchten Sie sogar eine CROSSTAB-Abfrage als RowSource für eine Combobox verwenden? – June7

Antwort

0

Sie es selbst beantworten:

Wo course ist ein Drop-Down (Mathematik, Naturwissenschaften, Physik, Sprache)

Also, in der Abfrage, wird der Wert aus dem Feld wird die ID von diesen "Dropdowns".

Um coursenames zu erhalten, verschieben Sie diese in eine separate Tabelle und verbinden Sie diese mit Table1 in Ihrer Abfrage.

+0

Der Grund ist ein Drop-Down (Combo-Box) aufgrund dieser cursenames sind Lookup von einer anderen Tabelle. Daher ist der Datentyp coursename die Nummer und kann aufgrund der Beziehung nicht in einen kurzen Text geändert werden. – user7865035

+0

Der Grund, dass ich brauche Pivot-Tabelle verwenden, aufgrund ich einen Bericht wie \t Schülername \t Kursname \t Kursname \t Kursname \t Kursname \t Kursname \t Kursname \t Datum Attended \t Datum Attended erstellen müssen \t Datum Attended \t Datum Attended \t Datum Attended \t Datum Attended \t \t Quiz Score (n) \t Quiz Score (n) \t Quiz Score (n) \t Quiz Score (n) \t Quiz Score (n) \t Quiz Punktzahl (en) – user7865035

+0

Nun, dann schließen Sie sich diesem "anderen Tisch" an, der die Namen des Vereins enthält. – Gustav