07. juli 2003 - 02:07Der er
4 kommentarer og 1 løsning
Flytte data fra en tabel til en anden automatisk.
Jeg har en Access database med to tabeller: tabel1 og tabel2.
I tabel2 er der en række poster for hver stemme der er blevet afgivet: stemmeid - sideid - karakter
I tabel1 er der en række poster for hver side som er tilmeldt mit stemmesystem: sideid - navn - gennemsnit
Nu vil jeg så gerne have beregnet gennemsnits karakteren for hver tilmeldt side. Altså Access skal beregne gennemsnittet ved at ligge alle posters karakter i tabel2 sammen og dividerer tallet med antal poster i alt i tabel2. Det fundne gennemsnit skal så indsættes i feltet gennemsnit i tabel1 automatisk.
Lav en forespørgsdel og hent tabel2 ind i designvinduet, men ingen felter i gitteret. Derefter sætter du markøren i forerspørgslens første felt og skriver:
Sum([f1])
I næste felt skriver du:
Antal(*)
Når du kører forespørgslen vil de 2 felter nu være døbt Udtryk1 og Udtryk2. I det 3. felt skriver du:
Dont see why you need to have the average in tabel1 the data is available in tabel2 already. So you only need to make a query JOINing tabel1 to get the "Navn" field.
SELECT Tabel1.SideID, Tabel1.Navn, Avg(tabel2.karakter) AS AvgOfkarakter FROM Tabel1 INNER JOIN tabel2 ON Tabel1.SideID = tabel2.SideID GROUP BY Tabel1.SideID, Tabel1.Navn;
If you MUST update the field then you can use the following, and I am still assuming that you wnat to update the appropriate SideID with the average taken from tabel2 for that sideID
UPDATE Tabel1 SET Tabel1.Gennemsnit = DAvg("karakter","tabel2","SideID = " & [tabel1]![SideID]);
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.