Avatar billede gimmer Nybegynder
13. april 2011 - 21:47 Der er 8 kommentarer og
1 løsning

Lave en Sum if i en query - jeg fatter det simpelthen ikke!

Hej,
Jeg har en linked table if Acces fra excel. Der har jeg lavet en query som ser nogenlunde sådan ud:
(tabel data)
Person  Sales doc    Type    Pris    Betaling
xx          xx        xx      xx     
yy        yyyy      yy      yy
zz          xxxx      zz      zz

så har jeg en anden tabel (betaling)
således:
Person    Sales doc  betaling
xx          xxxx        xxx

så vil jeg gerne have den ender således:

Person  Sales doc    Type    Pris    Betaling
xx          xx        xx      xx      xxx (fra tabel betaling)
yy        yyyy      yy      yy
zz          xxxx      zz      zz

mit problem er at da sales doc i tabel er flere steder vil den automatisk kun se på sales doc og ikke sales doc OG person... så jeg ender med at både person xx og zz har fået xxx ibetaling!
Avatar billede terry Ekspert
14. april 2011 - 19:10 #1
Not sure I undertsand your problem, any chance of seeing the dB?

ekspertenATsanthell.dk

AT=@
Avatar billede gimmer Nybegynder
14. april 2011 - 19:32 #2
Unfortunately the tables are linked to Excel, so I have no idea how to transfer the DB!

To wrap up:
I have a query creating the following (DATA):
Person     Sales doc     Type     Pris     Betaling
JB    123    PP    100   
LT    456    PO    200
LT    123    SF    300

And a table (betaling)
Perosn    Sales Doc    Betaling
JB    123    100
JB    789    200
LT    123   

Then I like the query to return 100 from the betaling table (came from Person JB with sales doc 123 - these combined so it will leave  person LT even though the sales doc is the same!!!)
so the final query DATA will be:
Person     Sales doc     Type     Pris     Betaling
JB    123    PP    100    100
LT    456    PO    200    (blank)
LT    123    SF    300    (blank)

Does it make sense?
Avatar billede terry Ekspert
14. april 2011 - 20:12 #3
I'll have a play around and get back ASAP
Avatar billede terry Ekspert
14. april 2011 - 20:27 #4
You obviuosly need to alter the table names


SELECT tblData.Person, tblData.[Sales Doc], tblData.Type, tblData.Pris, Sum(tblBetaling.Betaling) AS SumOfBetaling
FROM tblData LEFT JOIN tblBetaling ON (tblData.[Sales Doc] = tblBetaling.[Sales Doc]) AND (tblData.Person = tblBetaling.Person)
GROUP BY tblData.Person, tblData.[Sales Doc], tblData.Type, tblData.Pris;

This is the result

Person    Sales Doc    Type    Pris    SumOfBetaling
JB    123    PP    100    100
LT    123    SF    300   
LT    456    PO    200
Avatar billede gimmer Nybegynder
14. april 2011 - 20:29 #5
I'll have to check tomorrow, but it seems to be just what i'm looking for!

THANKS! (so far)
Avatar billede gimmer Nybegynder
14. april 2011 - 20:30 #6
I'll award you the points tomorrow if it works it this ok?
Avatar billede terry Ekspert
14. april 2011 - 20:35 #7
No problem, hope it works for you
Avatar billede gimmer Nybegynder
15. april 2011 - 16:20 #8
Perfect Thanks!
I managed to make it work!
Best
Lars
Avatar billede terry Ekspert
15. april 2011 - 16:48 #9
Super, thanks for the point and a good weekend
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