Welkom op het forum van startpagina!

Dit forum staat op alleen-lezen. Je kan hier informatie zoeken en oude berichten terugvinden, maar geen nieuwe berichten plaatsen.

Naar overzicht van alle forums

negatief getal alleen weergeven als 0

  • Willem Alberts

    Kan iemand mij helpen met het volgende probleem.

    Ik ben bezig met een database te maken om een golfanalyse te kunnen maken.

    Het probleem is dat ik in eenm query berekende velden moet maken deze wordt opgebouwd met behulp ban de volgende formule Stableford 1: ([HPCP1+2)-

    Een voorbeeld is (5+2)-8

    Het antwoordt is -1 maar ik mag alleen hier een 0 krijgen, dus zodra er een negatief getal als uitkomst komt moet dit 0 worden, alle andere uitkomsten zijn wel goed.

    Ik heb dit veld Stableford 18 maal nodig.

    Weet iemand een oplossing voor dit probleem

  • willema

    Moet toch kunnen met een Iff functie in jouw query !

    Iff( < 0,0,)

  • Willem Alberts

    Wordt dit dan de volgende formule:

    Iff[Stableford1:(1+2)-<0,0,Stableford1()-

    En moet ik deze dan bij de criteria plaatsen of bij de opbouw van deze experssie.

    In ieder geval al bedankt.

  • Wille Alberts

    Als ik de expressie bij de criteria invul, zoals deze Iff ((+2)-< 0,0, (+2)-) dan geeft hij aan dat de expressie een ongeldiggetal bevat.

    Hoe is dit op te lossen

  • willema

    Dag Wille,

    Zet uw query eens in SQL-weergave. Kopieer ze en plak ze in een antwoordje hieronder.

    Ik neem aan dat Phcp 1 en Score 1 velden zijn in een tabel. Zijn het numerieke velden ? En zo ja, welke ?

    Groeten,

    Marnik

  • Willem Alberts

    Geachte willema,

    Hier onder volgt de query is SQL, ik hoop dat je er iets mee kan, zodat ik de oplossing van mijn probleem ken en dat ik het kan oplossen.

    SELECT tblScoreCard.Golfbaan, tblScoreCard.Datum, tblScoreCard.Naam, tblScoreCard.Lidnummer, tblScoreCard.EGA, tblScoreCard.Phcp, tblGolfBanen., tblGolfBanen., tblScoreCard., tblScoreCard., (+2)- AS , tblGolfBanen., tblGolfBanen., tblScoreCard., tblScoreCard., (+2)- AS , tblGolfBanen., tblGolfBanen., tblScoreCard., tblScoreCard., (+2)- AS , tblGolfBanen., tblGolfBanen., tblScoreCard., tblScoreCard., (+2)- AS , tblGolfBanen., tblGolfBanen., tblScoreCard., tblScoreCard., (+2)- AS , tblGolfBanen., tblGolfBanen., tblScoreCard., tblScoreCard., (+2)- AS , tblGolfBanen., tblGolfBanen., tblScoreCard., tblScoreCard., (+2)- AS , tblGolfBanen., tblGolfBanen., tblScoreCard., tblScoreCard., (+2)- AS , tblGolfBanen., tblGolfBanen., tblScoreCard., tblScoreCard., (+2)- AS , ++++++++ AS , ++++++++ AS , ++++++++ AS , ++++++++ AS , tblGolfBanen., tblGolfBanen., tblScoreCard., tblScoreCard., (+2)- AS , tblGolfBanen., tblGolfBanen., tblScoreCard., tblScoreCard., (+2)- AS , tblGolfBanen., tblGolfBanen., tblScoreCard., tblScoreCard., (+2)- AS , tblGolfBanen., tblGolfBanen., tblScoreCard., tblScoreCard., (+2)- AS , tblGolfBanen., tblGolfBanen., tblScoreCard., tblScoreCard., (+2)- AS , tblGolfBanen., tblGolfBanen., tblScoreCard., tblScoreCard., (+2)- AS , tblGolfBanen., tblGolfBanen., tblScoreCard., tblScoreCard., (+2)- AS , tblGolfBanen., tblGolfBanen., tblScoreCard., tblScoreCard., (+2)- AS , tblGolfBanen., tblGolfBanen., tblScoreCard., tblScoreCard., (+2)- AS , ++++++++ AS , ++++++++ AS , ++++++++ AS , ++++++++ AS , + AS PAR, + AS Score, + AS , + AS Stableford

    FROM tblGolfBanen INNER JOIN tblScoreCard ON tblGolfBanen.Golfbaan = tblScoreCard.Golfbaan;

  • willema

    Dag Willem,

    Ik bekijk het vandaag. Mag ik je wel al een tussentijdse tip geven ?

    Vermijd veldnamen met spaties zoals Index 1, Score 1, Phcp 1, enz…

    Beter veldnamen aan elkaar schrijven en als je voor de leesbaarheid graag wat ruimte hebt, zet er dan een underscore tussen Index_1, Score_1.

    Dan zijn we om te beginnen al van al die vierkante haakjes hierboven vanaf.

    Als ik het in één oogopslag juist zie, heb je twee tabellen tblGolfbanen en tblScoreCard.

    In tblGolfbanen heb je 36 velden.

    In tblScoreCard heb je 42 velden.

    Eerste vraag : Zijn de 54 velden waarmee je rekent Phcp 1 tem 18, Score 1 tem 18, en Par 1 tem 18 allemaal numerieke velden in je tabellen ?

    Groeten,

    Marnik

  • Willem Alberts

    Beste Willema,

    De veleden Score, Par, PHCP en Index zijn allemaal numerieke velden.

    Je advies over de schrijfwijze zal ik vandaag nog invoeren in de query, alvast bedankt voor de tip.

    Met vriendelijke groet, Willem Alberts

  • willema

    Dag Willem,

    Ik heb een reconstructie gemaakt van jouw database met twee tabellen.

    En vervolgens een kleine query gemaakt gebaseerd op tblScoreCard

    SELECT tblScoreCard., tblScoreCard., (+2)- AS , IIf((+2)-<0,0,(+2)-) AS StablefordTEST

    FROM tblScoreCard;

    Ik laat hierin 4 kolommen zien

    1. Phcp 1

    2. Score 1

    3. Berekend veld Stableford 1 zoals jij het had, dus met negatieve waarden

    4. Berekend veld StablefordTEST zoals ik voorstel met IIf functie om een negatieve waarde weer te geven als 0.

    En dat werkt.

    Kopieer dus bovenstaande SQL.

    Maak een nieuwe query in je database.

    Open de SQL weergave en plak deze SQL er in.

    Zou moeten lukken. Bekijk dan eens waarom het bij jouw niet lukte en laat maar weten op dit forum.

    Groetjes,

    Marnik

  • willema

    'k heb één van je vorige posts eens herlezen. Daar spreek je van een expressie invullen bij de criteria.

    De fout zal wellicht daaran liggen. Deze expressie zet je in een veld, net zoals jouw Stableford 1-expressie.