Avatar billede alkor Nybegynder
28. april 2003 - 10:57 Der er 12 kommentarer og
3 løsninger

Iif

Jeg forsøger (uden held) at få beregnet en formel i en forespørgsel. Beregningen er af typen Iif og formlen er vedlagt nedenfor. Der er sikkert fejl i udtrykket, men jeg kan ikke se hvad...

Kornstr<63: IIf([Rådata]![Kornstr<0,032]="";[Rådata]![Kornstr<0,063];[Rådata]![Kornstr<0,063]+[Rådata]![Kornstr<0,032]+[Rådata]![Kornstr<0,016]+[Rådata]![Kornstr<0,008]+[Rådata]![Kornstr<0,004]+[Rådata]![Kornstr<0,0027])

Hvad jeg prøver, er flg.: Hvis feltet Kornstr<0,032 er tomt, indsæt da værdien af feltet Kornstr<0,063. Er feltet ikke tomt, indsæt da summen af x-antal felter i stedet...

Det virker som sagt ikke! Hvis betingelsen er opfyldt returneres et tomt felt. Hvis betingelsen ikke er opfyldt returneres #Fejl.

Hvad gør jeg galt? Hjælp venligst en eller anden...

Med venlig hilsen
Allan
28. april 2003 - 11:07 #1
Lad mig starte med, at sige, at det er nogle ret uhensigtsmæssige (læsevanskelige) navne, du har valgt ;o)

Er alle dine x-antal-felter af typen Tekst?

I så fald bør den nok se således ud:

Kornstr<63: IIf([Rådata]![Kornstr<0,032]="";[Rådata]![Kornstr<0,063];nz(val([Rådata]![Kornstr<0,063]);0)+nz(val([Rådata]![Kornstr<0,032]);0)+nz(val([Rådata]![Kornstr<0,016]);0)+nz(val([Rådata]![Kornstr<0,008]);0)+nz(val([Rådata]![Kornstr<0,004]);0)+nz(val([Rådata]![Kornstr<0,0027]);0))

PS: Der tages forbehold for slå-fejl :o)
Avatar billede tma_oksboel Nybegynder
28. april 2003 - 11:10 #2
Du har en test på din sanddel. Det betyder at du også her skal bruge IIF
Avatar billede tma_oksboel Nybegynder
28. april 2003 - 11:12 #3
Sorry, så det som en test, men det var jo underlige feltnavne som thomas også nævnte.
Avatar billede alkor Nybegynder
28. april 2003 - 11:15 #4
Hej thomasjepsen

Jeg beklager de lettere vanvittige navne, men vi har så mange kolonner at vi er nødt at give nogenlunde beskrivende (ja, det er de faktisk ;-)) navne for selv at kunne finde ud af det...

Med hensyn til felt-typen er de alle af typen Tal, så det er nok desværre noget andet jeg har gjort forkert!

Med venlig hilsen
Allan
28. april 2003 - 11:17 #5
Men har du prøvet mit forslag? Det burde virke uanset om det er tekst eller tal. Hvis det er tal, kan du dog fjerne Val()-udtrykkene for at gøre udtrykket kortere. Men det har ingen praktisk betydning.

Problemet med + er at hvis blot ét af felterne er Null, vil det samlede resultat også blive Null
Avatar billede alkor Nybegynder
28. april 2003 - 11:27 #6
Nej, det har jeg faktisk ikke! Jeg prøver det lige og vender tilbage snarest, dog muligvis ikke før tidligt på eftermiddagen...

Med venlig hilsen
Allan
Avatar billede alkor Nybegynder
28. april 2003 - 11:45 #7
Så har jeg prøvet (med Val()) og det havde en effekt, med desværre ikke den ønskede. Nu får jeg #Fejl i samtlige poster i stedet for blot i de, hvor betingelsen ikke var opfyldt! Meget mystisk...

Jeg har i øvrig checket for slå-fejl, men fandt ikke umiddelbart nogen.

Med venlig hilsen
Allan
Avatar billede sjap Praktikant
28. april 2003 - 11:45 #8
Hvis [Kornstr<0,032] er tal, så prøv at ændre starten til:

IIf(IsNull([Rådata]![Kornstr<0,032]);
Avatar billede tma_oksboel Nybegynder
28. april 2003 - 12:12 #9
Sørg lige for et nz om sand-delen også. Jeg har ofte brugt nz og val, men tror egentlig typisk at jeg vender dem den anden vej, dvs. først en undersøgelse af null, og derefter en val på resultatet. F.eks:
val(nz([Rådata]![Kornstr<0,004];0))
Avatar billede tma_oksboel Nybegynder
28. april 2003 - 12:14 #10
Du kan eventuel sende tabellen og forespørgslen til torben@soelbaekdata.dk så skal jeg gerne oprette forespørgslen. (hvis jeg kan)

Torben
Avatar billede alkor Nybegynder
28. april 2003 - 12:52 #11
Hej Alle,

Jeg er tilbage på min pind og er ved at prøve Jeres forslag samt de forskellige kombinationer af dem. Vender tilbage snarest muligt...

Med venlig hilsen
Allan
Avatar billede alkor Nybegynder
28. april 2003 - 13:32 #12
Jeg fik flg. formulering til at virke:

Kornstr<63: IIf(IsNull([Rådata]![Kornstr<0,032])="";nz([Rådata]![Kornstr<0,063];0);nz([Rådata]![Kornstr<0,063];0)+nz([Rådata]![Kornstr<0,032];0)+nz([Rådata]![Kornstr<0,016];0)+nz([Rådata]![Kornstr<0,008];0)+nz([Rådata]![Kornstr<0,004];0)+nz([Rådata]![Kornstr<0,0027];0))

Det må vel nærmest siges at være en kombination af tre svar, så jeg har tilladt mig at fordele points efter bedste evne. Håber, at ingen føler sig urimeligt behandlet...

Jeg takker mange gange for god hjælp!

Med venlig hilsen
Allan
Avatar billede sjap Praktikant
28. april 2003 - 14:14 #13
alkor
Jeg tror lige du skal fjerne  =""  - det gvier vist ikke nogen mening.
Avatar billede alkor Nybegynder
28. april 2003 - 14:30 #14
superjap
Det har du da ret i! Det er fra før IsNull blev indsat. Ingen grund til at det er der længere. Det er hermed fjernet...

Jeg takker!
Avatar billede tma_oksboel Nybegynder
28. april 2003 - 15:00 #15
Det er fint nok mht. point, det er ikke et pointræs fra min side, men rart at give/få hjælp. Man har jo selv ofte nok behov...

Torben
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