bij berekening een min zetten

Status
Niet open voor verdere reacties.

noukietje

Gebruiker
Lid geworden
3 apr 2006
Berichten
106
Probleem 1: Als ik een berekening doe en dat is getal is bijvoorbeeld lager dan 10 moet het automatisch 10 worden.

Probleem 2; ik zit met verschillende ritten. Naar de klant toe word er een forfait van 10h aangerekend dus moet bij de berekening min 10 zijn. Maar bij de chauffeur is de forfait 9.

Probleem 3; niet elke rit en elke chauffeur heeft een forfait.

Nu zit ik met Tabel chauffeurs(hierin staan de gewone dingen vb naam, woonplaats enz), tabel ritten (bestaat uit 2 velden, de rit en welke klant), tabel planning (waar dus een relatie is nr chauffeur en rit en waarbij dan de uren komen (beginuur, einduur pauze)

Dan maak ik een query voor het loon van de chauffeur is het de uren - de pauze (en dit moet dus afgerond worden naar negen indien het een chauffeur is met een forfait)

En dan heb ik nog een query voor de klant op dezelfde wijze ongeveer maar zonder aftrek pauze.


Voor zo lang geleden te zijn ben ik al ver geraakt maar nu zit ik ferm in de knoop dus help mij aub uit de nood :o

Groetjes,
Noukietje
 
1.
If getal < 10 Then getal = 10

2.
select case rit
case "klant"
forfait = -10
case "chauffeur"
forfait = 9
end case

3.
Fantastisch, maar wat is de vraag?

Samenvattend:
Je geeft veel te weinig informatie om een goed antwoord te kunnen geven.
Je worsteld met een aantal heel verschillende problemen, die zul je stuk voor stuk moeten gaan oplossen en niet alles in één, veel te algemene, vraag proberen te stoppen.

Zonder een goed datamodel van je toepassing zijn dit soort vragen niet goed te beantwoorden.

Herformuleer je vragen en post je mdb, dan is het een stuk eenvoudiger om je vragen te beantwoorden.
 
Alvast bedankt voor je antwoord

Ik kan nu al iets verder. Mijn ander probleem is dat niet alle chauffeurs en klanten die forfait hebben. dus hebben ze niet altijd 9 of 10.
Maar wat bedoel je met post je Mdb?

Maar toch alvast bedankt!!!
 
Je kunt je mdb in een zip-bestandje zetten en die als bijlage bij je reply zetten. Onder het venster waarin je je reply zet zit een knop Beheer bijlagen. Daar doe je dat mee.

Als iets niet voor alle personen geldt, dan zul je per persoon moeten bijhouden of het wel of niet geldt. Een indicatie in een tabel dus.
 
die formule van if ... ik zet dat bij criteria in mijn query maar daar spreekt hij van een expressiefout?
 
In een query moet je de iif() functie gebruiken. Zoek die maar eens op in de help functie van access, daar staan ook wat voorbeeldjes van het gebruik hiervan.
Ook is het handig om bij het maken van queries de opbouw functionaliteit te gebruiken (rechtermuisknop op een veld van een query). Die geeft een hoop hulp bij het correct opbouwen van expressies.
 
Laatst bewerkt:
Ik heb het opgezocht en kreeg dit als voorbeeld Function CheckIt (TestMe As Integer)
CheckIt = IIf(TestMe > 1000, "Groot", "Klein")
End Function

Dus heb ik in mijn veld waard de volgende al stond uren: [einduur]-[beginuur]-[pauze]-1
en heb ik dus op basis van het voorbeeld dit van gemaakt uren:IIf( [einduur]-[beginuur]-[pauze]-1 ) < 10;"10" maar dit lukt ook niet.

groetjes,
Julie
 
Is er echt niemand die mij de concrete formule kan aanreiken?

PLEASE denk allemaal eens goed na(ook geprobeerd maar mijn denkvermogen laat me in de steek:rolleyes: )
 
zonder je post verder gelezen te hebben denk ik dat je de else tak mist in je iif statement en je sluit het statement niet goed af.
Code:
IIf( [einduur]-[beginuur]-[pauze]-1 ) < 10;"10"
Als je dit ervan maakt krijg je in ieder geval geen foutmelding
Code:
IIf( [einduur]-[beginuur]-[pauze]-1 < 10 ; "kleiner dan tien" ; "groter dan tien")
Hierin moet je de teksten "kleiner dan tien" en "groter dan tien" vervangen door weet ik veel.

HTH
Weest gegroet,
Guus
 
Een simpele druk op de F1 toets (de help toets dus) had voor jou ook de oplossing van je probleem gebracht.
Als je een foutmelding krijgt op een specifiek statement in je code, selecteer dan dat statement (in dit geval iif) en druk op F1. Je krijgt dan hulp op dat specifieke statement. In heel veel gevallen kun je dan je probleem meteen oplossen en kun je snel weer verder.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan