Optellen van berekende velden in een nieuw veld lukt niet!

Status
Niet open voor verdere reacties.

J Manussen

Gebruiker
Lid geworden
16 dec 2009
Berichten
30
Forumleden,

Ik wil in een query een paar berekende velden bij elkaar optellen.
Dit lukt me echter niet.
Vb. veld1(naam "pro1") eigenschappen: notatie: ; invoermasker: ;(waarde: 12,7)
veld2 (naam "pro2")eigenschappen: notatie: ; invoermasker: ;(waarde: 34,6)

veld3(naam:"sompro")expr:Nz([pro1]+NZ([pro2])
eigenschappen: notatie: ; invoermasker: ;(uitkomst bijv:12,734,6)

Nb:vb. "pro1" heeft als expressie IIf([soort]=2;[cijfer1]*[factor1];"")
"pro2" heeft als expressie IIf([soort]=2;[cijfer2]*[factor2];"")

Ziet access de waarden niet als numerieke waarden??
Wat doe ik fout?
Graag zie ik hulp tegemoet.

Joop
 
Ik heb geen flauw idee wat je allemaal aan info geeft; twee velden optellen is simpel: [Veld1]+[Veld2]. Meer is niet nodig. Als je de resultaten van twee IIF formules wilt optellen, wordt het wat anders. Maar het zou simpel kunnen zijn als je het veld bij Onwaar niet leeg laat, maar 0 geeft.
 
Hallo Michel,
Allereerst dank voor je uitermate snelle reactie!
Verder is het jammer, dat ik kennelijk niet erg duidelijk ben geweest bij de introductie van mijn probleem.
Toch heeft jouw laatste opmerking over de 0-waarden mij deels verder geholpen.
De optelling: [veld1] + [veld2] lukt nu, ook al zijn die velden opgebouwd m.b.v. IIf-expressies.
Echter, wanneer ik nu verderop in de query de numerieke waarden van bijv. [veld3]door[veld4] deel, krijg ik een getal dat "afgekapt" lijkt te zijn.
Ik wil deze uitkomst (rapportcijfer) echter in 1 decimaal nauwkeurig hebben.
Hoe is dit op te lossen?
Groet,

Joop
Ik voeg een voorbeeld toe.
voorbeeld.jpg
 
Met alleen een plaatje doen we niet zoveel; ik geloof je namelijk wel als je zegt dat je een verkeerde uitkomst krijgt. Ik ben meer geïnteresseerd in de formules die je gebruikt. Waar je waarschijnlijk geen rekening mee gehouden hebt, is dat een IIF formule een tekst teruglevert, en geen getal. Dat wil niet zeggen dat in een tekstveld geen cijfers, mogen staan, integendeel. Maar het getal dat je ziet, blijft dus wel tekst. En als je daar mee door wilt rekenen, moet je het 'getal' dus eerst converteren. Bijvoorbeeld door met deze constructie te werken: CDbl([Veld4]).
Overigens raad ik je aan om je velden fatsoenlijke namen te geven; straks heb je geen idee meer wat de formules voorstellen...
 
Michel,
Naar aanleiding van je opmerking de gebuikte formules mee te zenden het volgende:
Wil rapportcijferso en rapportcijferse berekenen.
Hiervoor nodig: cijfers (c1;c2 …)
per cijfer weegfactor (f1;f2….)
per cijfer soort werk (csrt1;csrt2…)
* er is keuze uit 3 soorten werk: so; se; se/so
(so= schoolonderzoek ; se= schoolexamen; se/so= werk telt voor zowel se als so )
Ik heb de volgende tabellen: soort werk; weegfactoren; cijfers
De gebruikte formules in berekende velden in query:
Weegfactoren (factor1): f1: IIf([c1]>0;[1f1];IIf([c1]="";0))
Weegfactorenso (factor1so): f1so: IIf([f1]=0;0;IIf([srt1]="se";0;IIf([f1]>0;[f1])))
Weegfactorense (factor1se): f1se: IIf([f1]=0;0;IIf([srt1]="so";0;IIf([f1]>0;[f1])))
Produkten (produkt so1): prso1: IIf([srt1]="se";0;[c1]*[f1so])
Produkten (produkt se1): prse1: IIf([srt1]="so";0;[c1]*[f1se])
Soort werk (cijfer 1): srt1: IIf([c1]>0;[csrt1];"")
Som van de factoren so: somfso: NZ([f1so])+NZ([f2so])+NZ([f3so]) enz..
Som van de factoren se: somfse: NZ([f1se])+NZ([f2se])+NZ([f3se]) enz..
somprso: NZ([prso1])+NZ([prso2])+NZ([prso3]) enz..
somprse: NZ([prse1])+NZ([prse2])+NZ([prse3]) enz..
Tot hier ging het goed…
Rapport so : rapso: NZ([somprso])\NZ([somfso])
Rapport se : rapse: NZ([somprse])\NZ([somfse])
Hier ging het mis: de berekende rapportcijfers lijken te worden “afgekapt”

Misschien zou je weer verder kunnen helpen.
Groet,
Joop
 
Je moet in je laatste formules (en ik vraag me af of je ze hier ook nodig hebt (NZ([f1so])) geen Nz gebruiken, maar CDbl. Je wilt er tenslotte getallen van maken met decimalen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan