Avatar billede adhn Nybegynder
16. marts 2005 - 19:36 Der er 7 kommentarer og
1 løsning

Kriterie på beregnet felt i forespørgsel

Jeg har en forespørgsel med en dato (forfalddato) og et beregnet felt (beløb).
Problemet er hvis jeg skal have vist de poster som har en forfalddato som er > dagsdato og med et beøb > 0.
I kriteriet for forfalddato indtaster jeg >Date() og det virker, men når jeg samtidig under beløb indtaster >0 får jeg ingen resultater selv om der burde være 1.
Avatar billede sjap Praktikant
16. marts 2005 - 19:59 #1
Jeg har prøvet det samme, men her fungerer det fint.

Min forespørgsel er lavet således

SELECT ForfaldDato, [Beløb1]-[Beløb2] AS Beløb
FROM tblForfald
WHERE (((ForfaldDato)>Date()) AND (([Beløb1]-[Beløb2])>0));
Avatar billede terry Ekspert
16. marts 2005 - 20:12 #2
what is the result when you only test for beløb > 0?
Avatar billede adhn Nybegynder
16. marts 2005 - 21:05 #3
Terry
Jeg har ikke prøvet kun med beløb>0, men med forfald>date() så virker det.

sjap
Jeg har ikke mulighed for at prøve det, da jeg er på arbejde nu, prøver senere i aften eller i morgen.
Avatar billede sjap Praktikant
16. marts 2005 - 21:35 #4
adhn > Ok. Så væbner vi os blot med lidt tålmodighed :0)
Avatar billede adhn Nybegynder
16. marts 2005 - 23:53 #5
Jeg fandt ud af det. Uden at være helt sikker, tror jeg det var fordi mit felt "beløb" var en beregnet værdi udfra 4 andre beregnede værdier og min forespørgsel var et udtræk fra 2 tabeller og 3 andre forespørgsler. SQL strengen ser sådan ud:
SELECT Ordre.Ordre_id, Ordre.Ordredato, Ordre.Kunde_id, Kunder.Navn, Ordre.Forfalddato, Ordre.Porto, Ordre.Fragt, Ordre.Total_excl_moms, ([Total_excl_moms]+[Fragt])*0.25 AS Moms, [Total_excl_moms]+[Fragt]+[Moms]+[Porto] AS Fakturabeloeb, Kreditnota_qry.Kredit_incl_moms, IIf(IsNull([Kredit_incl_moms]),0,[Kredit_incl_moms]) AS Udtryk1, Ordre_betalt.SumOfBetalt_beloeb, IIf(IsNull([SumOfBetalt_beloeb]),0,[SumOfBetalt_beloeb]) AS Udtryk2, Ordre_gebyrer.SumOfGebyr, IIf(IsNull([SumOfGebyr]),0,[SumOfGebyr]) AS Udtryk3, Sum([Fakturabeloeb]-[Udtryk1]-[Udtryk2]+[Udtryk3]) AS Forfaldent_beloeb
FROM Kunder RIGHT JOIN (((Ordre LEFT JOIN Kreditnota_qry ON Ordre.Ordre_id = Kreditnota_qry.Ordre_id) LEFT JOIN Ordre_betalt ON Ordre.Ordre_id = Ordre_betalt.Ordre_id) LEFT JOIN Ordre_gebyrer ON Ordre.Ordre_id = Ordre_gebyrer.Ordre_id) ON Kunder.kunde_id = Ordre.Kunde_id
GROUP BY Ordre.Ordre_id, Ordre.Ordredato, Ordre.Kunde_id, Kunder.Navn, Ordre.Forfalddato, Ordre.Porto, Ordre.Fragt, Ordre.Total_excl_moms, Kreditnota_qry.Kredit_incl_moms, Ordre_betalt.SumOfBetalt_beloeb, Ordre_gebyrer.SumOfGebyr
HAVING (((Ordre.Forfalddato)<Date()));

Men hvis jeg lavede en ny forespørgsel på baggrund af ovenstående forespørgsel så virker det.
Den nye forespørgsel kom til at se sådan ud:
SELECT Ordre_forfalden.Ordre_id, Ordre_forfalden.Navn, Ordre_forfalden.Forfalddato, Ordre_forfalden.Fakturabeloeb, Ordre_forfalden.Udtryk1, Ordre_forfalden.Udtryk2, Ordre_forfalden.Udtryk3, Ordre_forfalden.Forfaldent_beloeb
FROM Ordre_forfalden
GROUP BY Ordre_forfalden.Ordre_id, Ordre_forfalden.Navn, Ordre_forfalden.Forfalddato, Ordre_forfalden.Fakturabeloeb, Ordre_forfalden.Udtryk1, Ordre_forfalden.Udtryk2, Ordre_forfalden.Udtryk3, Ordre_forfalden.Forfaldent_beloeb
HAVING (((Ordre_forfalden.Forfaldent_beloeb)>0));

Håber at ikke at det ser alt for mærkeligt ud, men tak for hjælpen alligevel.
Hvordan gør jeg med pointne?
Avatar billede sjap Praktikant
17. marts 2005 - 11:32 #6
Hvis du synes jeg har hjulpet, kan jeg jo lægge et svar. Ellers må du tage dem selv.
Avatar billede adhn Nybegynder
17. marts 2005 - 11:53 #7
Det gav mig lidt en ide om hvad der var galt, så værsgo!
Avatar billede sjap Praktikant
17. marts 2005 - 12:44 #8
Pænt tak :0)
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