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.
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));
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.
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?