Avatar billede verakso Nybegynder
24. juli 2006 - 12:08 Der er 15 kommentarer og
2 løsninger

Lave sum af en sub-tabel på en formular

Dette er lidt af en forlængelse af den Access database som jeg også rode med i http://www.eksperten.dk/spm/655419

Jeg har en formular der er bundet op på en tabel.
I denne fomular er der så en en sub-tabel, eller hvad man nu skal kalde det, men en tabel (med filter) hvist i formularen.

I denne sub-tabel skiver man så timer forbrugt på en opgave, og her er de så at jeg godt kunne tænke mig at lave en totalsum af timerne på selve formularen.

Formularen bruger tabellen tblJob, og sub-tabellen bruger tblJobLog med en FK til JobID i tblJob

Jeg har lavet en querry (forespørgsel) der ser således ud:
SELECT Sum(tblJobLog.Timer) AS TotalTid
FROM tblJobLog
WHERE (((tblJobLog.JobID)=[JobNr]));
Men jeg har et problem med at få dette ind og virke på min formular.

Så hints, links eller guides til at komme videre modtages.
Avatar billede jensen363 Forsker
24. juli 2006 - 12:10 #1
Har du forsøgt at benytte formularfod til summeringer ?
Avatar billede Slettet bruger
24. juli 2006 - 12:12 #2
Har du feltet jobnr på hovedformularen..
Avatar billede Slettet bruger
24. juli 2006 - 12:13 #3
Ja, du kan i subtabellen lave et felt i formularfoden og gøre =sum([timer]) til kilde!~)
Avatar billede Slettet bruger
24. juli 2006 - 12:14 #4
Det var apropos jensen363's kommentar...
Avatar billede verakso Nybegynder
24. juli 2006 - 14:27 #5
Lad mig se om jeg kan finde alle svarene

Formularfod - jeg vil gætte på at det er det jeg kalder en sub-tabel, med andre ord en underformular til formularen. Nej det har jeg ikke forsøgt, jeg er ret blank hvad angår formularer i Access, og vil faktisk hellere have logiken i VB koden

Feltet jobnr findes på hovedformularen, men

subtabellen er lavet som et dataark ikke som en sub-formular, så igen er jeg lidt blank hvor jeg finder formularfoden ;)

Kunne man ikke lave en event på denne sub-tabele, eks EfterOpdatering der så kalder forespørgslen og smidder værdien ind i et felt på formularen?

Faktisk så er det nok det med at kalde forespørgslen med det korrekte id der diller mig.
Avatar billede Slettet bruger
24. juli 2006 - 14:29 #6
Gå i underformularen og vælg vis formularhoved/formularfod!~)
Avatar billede Slettet bruger
24. juli 2006 - 14:30 #7
Ellers så zip lige db'en og send den til spgeertz på hotmail...
Avatar billede verakso Nybegynder
24. juli 2006 - 14:47 #8
Jeg har fået lavet en label /txt med =sum([Timer]) som kilde på foden af den underformular der ligger, men jeg har stadigt problemet med at fange dette felt og få det vist på selve formularen.
Avatar billede Slettet bruger
24. juli 2006 - 14:51 #9
Nå, men det er fordi at denne løsning vil vise summen i bunden af underformularen. Det virker selvfølgelig kun hvis dit design i underformularen er sat til enkelt eller fortløbende formular!~)
Avatar billede Slettet bruger
24. juli 2006 - 14:58 #10
SELECT Sum(tblJobLog.Timer) AS TotalTid
FROM tblJobLog
WHERE (((tblJobLog.JobID)=[forms]![hovedformular]![JobNr]));
Avatar billede verakso Nybegynder
24. juli 2006 - 15:03 #11
Det virker, specielt hvis man læser hvad der skrives og ikke koder som man tror det er forklaret.
Fejlen lå i at jeg havde lagt feltet på et almindelige sidefod ikke formularsidefod, så med denne lille ændring fungerer det fint. Selve formularen har så fået en ny label/tekst der så blot henter værdien.
Det er fikst og det virker, så der er point
Avatar billede Slettet bruger
24. juli 2006 - 15:10 #12
!~)
Avatar billede Slettet bruger
24. juli 2006 - 15:12 #13
Husk jensens første kommentar!~)
Avatar billede jensen363 Forsker
24. juli 2006 - 15:20 #14
Minimal indsats herfra
Avatar billede verakso Nybegynder
24. juli 2006 - 18:40 #15
Så er der givet point for ide og standhaftighed.
Det blev lavet ved at sætte et tekstfelt ind i FORMULARsidefoden med =sum([Timer]) og derpå indsætte en label/tekst felt på hovedformularen, med værdien af det tekstfelt der er oprettet i underformularen.

Det kunne sikkert laves meget pænere, men det virker.
Avatar billede jensen363 Forsker
24. juli 2006 - 19:00 #16
Jeg takker :o)
Avatar billede Slettet bruger
24. juli 2006 - 23:40 #17
!~)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester