Probleem met lege velden.

Status
Niet open voor verdere reacties.

Johgs

Gebruiker
Lid geworden
19 mei 2011
Berichten
340
Door het samenvoegen van tabellen waarbij 1 van de tabellen al was uitgebreid met een extra veld heb ik nu een nieuwe samengevoegde tabel, uiteraard met het nieuwe veld, maar waarbij een groot aantal records in dat veld geen waarde hebben.
Voor nieuwe records geen probleem, standaard wordt een 0 ingevoerd.
Probleem is echter met query's op perioden voor de samenvoeging. Een aantal query's bepalen o.a. de Som en Gem van een veld en als deze verder worden gebruikt in berekeningen, is de uitkomst uiteraard blanco.
Ik heb op allerlei plaatsen al zitten experimenteren met Nz maar zonder succes.

Hoe kan ik de oorsprongs query voor perioden met lege velden toch een uitkomst laten geven?

NB. Deze query's zijn gemaakt via de wizard met totalen voor Som en Gem.
 
Ik heb op allerlei plaatsen al zitten experimenteren met Nz maar zonder succes.
Dan doe je het ergens niet goed, want dat zou toch moeten werken. Maar de makkelijkste oplossing is natuurlijk een bijwerkquery en alle lege velden vullen met 0.
 
Dat ik iets ergens fout doe was me al duidelijk ;-)

Maar, ik heb tabel met 4 kolommen, 1 kolom kan lege velden bevatten.

Query bepaald de som van elke kolom (over een gekozen periode)

rapport toont deze 4 totalen maar moet ook het totaal van deze 4 totalen bepalen. Bij dit laatste gaat het fout als kolom 4 leeg is voor de periode.

Het lijkt mij dat ik best bij de query al een Nz in de formule opneem voor die vierde kolom, alleen hoe ik 't ook formuleer, het lukt niet. Wat is de juiste formulering?
 
Laat eerst eens zien wat je er van gebrouwen hebt.
 
Bijwerk Query was inderdaad het makkelijkste, kwestie van even de juiste knop toevoegen op de werkbalk.

Maar bij veld staat nu: Som Van Cat4: Cat4 (Cat 4 is de kolomnaam)
Bij tabel: de tabelnaam
Bij totaal: Som
en weergeven staat aangevinkt.

In het rapport voeg ik de velden toe en in het totaal veld: =Som([Som Van Cat1])+Som([Som Van Cat2])+Som([Som Van Cat3])+Som([Som Van Cat4])

en dit werkt, behalve bij lege velden (die nu gelukkig gevuld zijn door die bijvoerquery), maar wil toch graag weten hoe ik die Nz functie toevoeg.


Ik denk dat ik weet wat ik fout doe, ik probeer de Nz aan de bestaande formulie toe te voegen, maar deze moet apart. Alleen kan dat in de bestaande kolom of moet de kolom nogmaals toegevoegd en voor expressie gekozen worden?
 
Laatst bewerkt:
Bijwerk Query was inderdaad het makkelijkste, kwestie van even de juiste knop toevoegen op de werkbalk.
Waarom een aparte knop? Je hebt die bijwerkquery toch maar één keer nodig?
Maar dit terzijde.

In het rapport voeg ik de velden toe en in het totaal veld: =Som([Som Van Cat1])+Som([Som Van Cat2])+Som([Som Van Cat3])+Som([Som Van Cat4])
Als je in de rapportvoettekst een totaalveld berekening maakt, doe je dat door velden te sommeren. Als [Som Van Cat1] al een totaal is, dan heeft Som([Som Van Cat1]) geen enkele zin, want dat resultaat is dan hetzelfde als [Som Van Cat1]. Dus volgens mij gebruik je overbodige functies. De Nz functie vervangt een leeg veld door wat jij maar wilt. Meestal is dat een getal. Dan krijg je iets als: Nz([Som Van Cat1];0) + Nz([Som Van Cat2];0) + Nz([Som Van Cat3];0) + Nz([Som Van Cat4];0). En op die manier gebruik je de Nz functie dus.
 
De knop toegevoegd omdat ik 'm vaker denk te gebruiken.

De dubbele Som is ontstaan doordat op een ander formulier per dag van cat1 een som wordt berekent. In het rapport met het probleem worden deze dagwaarden over een bepaalde periode weer opgeteld, maar inderdaad, rekenkundig maakt het voor de PC niet uit.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan