Avatar billede Slettet bruger
27. juni 2008 - 10:02 Der er 10 kommentarer og
1 løsning

Sum af værdier i 2 forespørgsler

Jeg har 3 forespørgsler liggende i min database:
qryPositivFlex
qryNegativFlex
qryFlexsaldo

I qryPositivFlex bliver opsparede flextimer summeret pr. medarbejder. I qryNegativFlex bliver forbrugte flextimer opsummeret pr. medarbejder. I qryFlexsaldo har jeg et felt som beregner summen af flextimerne i de 2 første forespørgsler.

Hvis en medarbejder kun har positive (eller negative) flextimer kommer vedkommende ikke med i qryFlexsaldo. Kan man få løst det problem?
Avatar billede jensen363 Forsker
27. juni 2008 - 10:05 #1
Du manler antageligt nogle relationer, eventuelt til alle medarbejdere
Avatar billede jensen363 Forsker
27. juni 2008 - 10:11 #2
Eksempel :

Hvis en medarbejder udelukkende findes i qryPositivFlex og en anden udelukkende findes i qryNegativFlex, og du ikke sikrer at alle kombinationer af medarbejdere og mulige forekomster af saldi findes til beregning af Flexsaldo, så mangler disse medarbejdere i beregningen.

Dette kan du omgå ved at benytte reletioner til den tabel hvor du har alle medarbejdere med fra
Avatar billede Slettet bruger
27. juni 2008 - 10:18 #3
Data hentes fra 2 tabeller. En medarbejder, tabel og en tabel med tidsregistreringer.
Jeg har forsøgt at indsætte medarbejder-tabellen i forespørgslen qryNegativFlex og hente medarbejdernummeret fra medarbejder-tabellen (hvor alle er med) og tidsregistreringen fra tidsregistreringstabellen. Medarbejderen uden negative flex-registreringer kommer stadig ikke med. Har også forsøgt at ændre på join-forbindelsen, men uden held.
Avatar billede jensen363 Forsker
27. juni 2008 - 10:24 #4
Du skal have din medarbejdertabel med i Flexsaldo beregningen, og benytte left/right join til af relatere til dine positive/negative beregninger
Avatar billede Slettet bruger
27. juni 2008 - 10:26 #5
Okay, så må du lige forklare mig hvad left/right join er.
Avatar billede Slettet bruger
27. juni 2008 - 10:35 #6
Tror jeg fandt ud af det med join.

Nu har jeg fået alle medarbejdere med i flexberegningen, men saldoen der bliver beregnet er blank på min "problem-medarbejder". Der skal jo stå den positive flex. Måske er det min formel jeg skal have rettet?

Flexsaldo: qryFlexPositiv!SumOfUnits+qryFlexNegativ!SumOfUnits
Avatar billede jensen363 Forsker
27. juni 2008 - 10:37 #7
Benyt Nz()

Nz(qryFlexPositiv!SumOfUnits)+Nz(qryFlexNegativ!SumOfUnits)
Avatar billede jensen363 Forsker
27. juni 2008 - 10:38 #8
Nz konverterer blank til 0 ( Null to Zero )
Avatar billede Slettet bruger
27. juni 2008 - 10:49 #9
Det virker!! Mange tak for hjælpen - læg et svar så du kan få dine point.

Er der et sted man kan se en oversigt over sådan nogle smarte funktioner?
Avatar billede Slettet bruger
27. juni 2008 - 10:53 #10
Åh nej....når jeg så trækker min forespørgsel ind i Excel får jeg følgende fejl:

[Microsoft][ODBC Microsoft Access-driver] Der er en ikke-defineret funktion "Nz" i udtrykket.

Hvad nu?
Avatar billede jensen363 Forsker
27. juni 2008 - 11:04 #11
Mulig løsning :

Gem resultaterne fra sidste qry i en tabel og eksportér derfra til excel
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