Avatar billede trm Nybegynder
15. oktober 2007 - 11:17 Der er 4 kommentarer og
1 løsning

Kobling af flere tabeller fra Navision via Microsoft Query

Jeg vil oprette en databaseforespørgsel, som henter 2 tabeller fra Navision, Medarbejdere og Lønsatser. I tabellen Lønsatser er der flere records pr. medarbejder, og det resulterer i flere linier pr. medarbejder i min forespørgsel. Records skal afgrænses på den record i Lønsatser, som har den højeste Dato i et datofelt. Nogen som ved hvordan jeg sætter den til at finde den højeste datoværdi?

/trm
Avatar billede luffeladefoged Praktikant
15. oktober 2007 - 12:38 #1
Du kunne f.eks.
- sortere dine data først efter navn og derefter dato descending.
- lave en unik filter liste med kun navnet een gang
- lave en lookup i denne liste til din hovedliste - den vil så tage den første værdi i hvert tilfælde, hvilket er den nyeste.

Sig til om du ikke her tjek på unik filtrering eller lookups

Hilsen  Leif
Avatar billede trm Nybegynder
15. oktober 2007 - 13:10 #2
Har lige opdaget, at seneste dato ikke er nok som filter, da lønsatserne for f.eks. elever er tastet ind for hele elevforløbet jvf. gældende overenskomst. Det kan jeg se mig ud af ved at lave et filter som <=[Indtast Løndato], hvor man så indtaster den seneste dato, man ønsker vist - f.eks. dags dato. (Hvis nogen har en bedre ide er jeg lydhør).

Ellers har jeg lavet sortering på medarbejdernr. og dato stigende, men er i tvivl om, hvordan jeg laver en unik filtrering så hver medarbejder kun vises en gang. Jeg arbejder inde i Microsoft Query.

/trm
Avatar billede luffeladefoged Praktikant
15. oktober 2007 - 13:31 #3
Den sortering jeg tænkte på var medarb.nr., men så dato faldende så den nyeste stod først. Og så lave en unik sortering af dine med.arb.nr. i xl:
Skriv overskriften for med.arb.nr et andet sted i sheet'et, og tag menu - data - filter - advanced filter, click på options "copy to another location" og på "unique records only". Definer list range til hvor med.arb.nr står - eks. $A$1:$A$1000, criteria range til den samme $A$1:$A$1000 og copy to boksen til hvor du har skrevet overskriften med.arb.nr anden gang - eks.$e$1 og tryk OK. Så vil en lookup til denne nye liste hele tiden tage den nyeste løn.

Alternativt kunne du, hvis du som du nævner har dato i stigende orden i col.B og medarb.nr i col.A og løn i col.C lave følgende formel i col.D: begydende i D2:
=IF(A2<>A3;C2;"gammel")
den vil så tage den løn hvergang med.arb.nr skifter, men vil så til gengæld kræve en simpel sortering til sidst for at få listen unik per medarb.nr

/ Luffe
Avatar billede trm Nybegynder
15. oktober 2007 - 15:46 #4
Fandt ud af, at det nok var for besværligt at få det rigtige resultat via en forespørgsel i Excel, så jeg lavede en funktion i Navision som selv opretter et regneark med de rigtige data. Men Luffe, du gav mig et par fif alligevel, så hvis du svarer på denne får du pointene.

/trm
Avatar billede luffeladefoged Praktikant
15. oktober 2007 - 16:03 #5
Tak for det.
Ellers må du vende tilbage - sortering / udvælgelse kan jo gøres på mange måder.
// Luffe
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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