Ostot ostajittain raportti (SQL)

Kysymys: Meillä on useita ostajia, joilla jokaisella on tietty vuosiraja, kuinka paljon he saavat tehdä ostoja vuoden aikana. Miten saan ostoreskontrasta raportin, josta näemme euromäärät, kuinka paljon kukin ostaja on ostanut?

Vastaus: Tämä onnistuu valitsemalla ostolaskusta sopivan kentä, johon säilötään ostajan tunniste. Toimi seuraavasti:

Laskua lisättäessä kirjaa Valuutta kenttään ostajan tunnus (nimikirjaimet tai numero)

Jo kirjattuihin ostolaskuihin voit käydä lisäämässä ostajan tunnuksen seuraavasti:

  • valitse avoimet ostolaskut tilassa ikkuna /kaikki reskontratapahtumat
  • selaa lossilla laskun valuutta kenttä näkyviin
  • lisää laskun valuutta kenttään myyjän tunnus ja siirry nuoli alas -näppäimellä seuraavalle riville
  • lisättyäsi vanhoihin laskuihin myyjän tunnukset, palaa avoimet ostolaskut ruutuun

Laadi tarvittavat SQLkyselyt seuraavien ohjeiden mukaan:

Ostajien ostot kumulatiivisina

Ostajien ostot kumulatiivisina:

  • Valitse tulosta / kyselytilastot /luo kyselyitä
  • Valitse pudotuslistalta vapaa kysely
  • kirjoita raportin nimesi ostot myyjittäin
  • esitettävä kysymys 1:alkupäivä ja siihenvastaus 1.1.2020
  • esitettävä kysymys 2: loppupäivä ja siihen vastaus 31.12.2020

kirjoita kyselyksi

SELECT [laskun valuutta] as Ostaja,format(SUM(summa),”0.00″) AS [ostot euroa]

FROM ostolaskut

WHERE CDate(Ostolaskut.[Laskun pvm]) BETWEEN DateValue(’%1’) AND DateValue(’%2’)

AND ((Tila = ’1’ OR Tila = ’2’ OR Tila = ’3’))

GROUP BY [laskun valuutta]

Napsauta Suorita

Jos kysely ilmoittaa ”Virhe kyselyssä NULL-arvon käyttö ei kelpaa”, johtuu se siitä, että ostoreskontrassa on laskuja, joissa ei ole päivämäärää.

Toimi seuraavasti

Napsauta Tallenna

Valitse avoimet ostolaskut tilassa ikkuna /kaikki reskontratapahtumat ja käy lisäämässä laskun päivä niille laskuille, joissa ei ole laskun päivää

Tai voit muuttaa kyselyn WHERErivin seuraavasti:

laskuja, joissa laskun päivää ei ole annettu, ei oteta mukaan:

WHERE IIF(ISNULL(Ostolaskut.[Laskun pvm]),FALSE, CDate(Ostolaskut.[Laskun

pvm]) BETWEEN DateValue(’%1’) AND DateValue(’%2’) )

laskuja, joissa laskun päivää ei ole annettu, otetaan mukaan:

WHERE IIF(ISNULL(Ostolaskut.[Laskun pvm]),TRUE, CDate(Ostolaskut.[Laskun

pvm]) BETWEEN DateValue(’%1’) AND DateValue(’%2’) )

Jatkossa saat raportin valitsemalla avoimet ostolaskut tilasta tulosta / kyselytilastot / valmiit kyselyt ja valitsemalla määrittämäsi kyselyn

Ostajan ostot eriteltyinä

Raportin ostajan ostoista saat kyselyllä:

Valmiin kyselyraportin ostajan ostoista saat kopioitua SQL-määritysruutuun tästä:

SELECT [Tavaran selostus],[Laskunnumero],[Laskun pvm],format(Summa,”0.00″) as [Laskun summa]

FROM ostolaskut

WHERE IIF(ISNULL(Ostolaskut.[Laskun pvm]),FALSE, CDate(Ostolaskut.[Laskun pvm]) BETWEEN DateValue(’%1’) AND DateValue(’%2’) )

AND ((Tila = ’1’ OR Tila = ’2’ OR Tila = ’3’))

AND [Laskun Valuutta] = ’%3’

Ostajien ostot eriteltyinä

Ostajien ostot eriteltyinä saat kyselyllä:

Valmiin kyselyraportin ostajien ostoista saat kopioitua SQL-määritysruutuun tästä:

SELECT [Laskun valuutta] AS ostaja, [Tavaran selostus],[Laskunnumero],[Laskun pvm],format(Summa,”0.00″) as [Laskun summa]

FROM ostolaskut

WHERE IIF(ISNULL(Ostolaskut.[Laskun pvm]),FALSE, CDate(Ostolaskut.[Laskun pvm]) BETWEEN DateValue(’%1’) AND DateValue(’%2’) )

AND ((Tila = ’1’ OR Tila = ’2’ OR Tila = ’3’))

ORDER BY [Laskun Valuutta]