Delen door Null

Status
Niet open voor verdere reacties.

Systeempje

Gebruiker
Lid geworden
8 sep 2009
Berichten
149
Beste,

ik heb het probleem met delen door Null, nu is er zat te vinden op het forum maar ik kom er niet uit.

Het gaat om de volgende formule:

Code:
Public Function bereken_vasteprijs_marge(bvm As Form)
    bvm.[prijs3] = CDbl(bvm.[prijs1]) - CDbl(bvm.[prijs2])
End Function

Dit moet vast niet moeilijk zijn, wie kan mij helpen?
 
hoe bedoel je delen door null?

door getal 0 of Null??
eerste is antwoord altijd 0 maarre 2e kan niet.?
 
Zoek in de Help van Access naar "Nz". Daar wordt uitegelegd hoe de Nz functie werkt. Is een functie die omgaat met het:

Gebruik de functie Nz om nul, een tekenreeks met lengte nul (" ") of een andere opgegeven waarde te retourneren wanneer een Variant Null is.
 
Beste,

Tuurlijk ga ik eerst zoeken voordat ik een vraag post!
Ik heb op de volgende pagina 2 codes gevonden, enkel hij struikel over de ;

bij [waarde1] en [waarde2] vul ik dan de veldnaam in....
 
Wat wil je precies, en waarom gebruik je daar deze functie voor?
 
Ik heb een aantal getalen

nu moet ik bedrag delen door uren, soms staan de uren nog op 0 en krijg ik het probleem delen door 0 (NULL FOUT) kan niet.

Nu wil ik dat hij in dit geval van 0 een 1 bereken in de volgende formule.
 
Laatst bewerkt:
Waarom gebruik je geen IIF om de waarde van Uren te testen?
IIF[Uren] =0;Berekening1;Berekening2)
 
Klopt, dit werkte
(later kreeg ik toch een foutmelding, zie verdere berichten).
 
Laatst bewerkt:
Dat kun je toch regelen met de IIF?
 
Hoi,

Nog steeds bezig, bij waarde 0 moet het 1 worden, anders gewoon waarde behouden.
Nu krijg ik de fout kan niet delen door 0..

ik heb het volgende

Code:
Public Function bereken_vasteprijs_uurloon(bvu As Form)
    IIf [uren] = 0, 1, [uren]
    bvu.[uurloon] = CDbl(bvu.[marge]) / CDbl(bvu.[uren])
End Function

Wat doe ik verkeerd


Had het voorbeeld: IIF[Uren] =0;Berekening1;Berekening2) maar wat er bij berekening1 en berekening2 moet ben ik kwijt..
 
Laatst bewerkt:
Zowel OctaFish als Bakk4318 hebben je goede suggesties aan de hand gedaan.
Ik krijg het gevoel dat je niet echt thuis bent in VBA.
Gebruik een query.
Voeg daaraan een berekend veld toe.
Gebruik daarin de Nz functie.
Hoe staat prima beschreven in Access Help.
Ook de IIF functie staat daarin prima beschreven.

Voor de rest heb je info genoeg gekregen om eea verder uit te puzzelen.

Tardis
 
Beste,

Ik heb nog even gekeken maar ik kom er echt niet uit...
(bestandje volgt, moet even eigen info eruit halen).

Code:
IIF[Uren] =0, [marge] / 1 ,[marge] / [uren]
(als uren = 0, dan marge delen door 1, anders marge delen door uren)

Ik heb veel gezocht, maar ik kan iik genoeg vinden, maar ik doe gewoon ergens iets niet goed, ook binnen de query kom ik er niet uit met deze code.

Maar eigenlijk is de berekeing niet zo probleem deze los ik momenteel op met:
Code:
Public Function personeelsurentotaal2(purent2 As Form)
    purent2.[vasteprijs_uren] = CDbl(purent2.[uren11]) + CDbl(purent2.[uren12])
End Function
Werkt perfect,

Het punt is eigenlijk dat hij bij 0 de waarde 1 moet invullen in het bewuste record, dan ben ik ook van de foutmelding af.
Dus ik dacht ik zet deze code op het bewuste record (cel) maar deze doet niet veel volgens mij...
Code:
IIf ([vasteprijs_uren] = 0), 1, [vasteprijs_uren]
 
Laatst bewerkt:
Je hebt deze code al een paar keer gepost, steeds met een fout er in:
IIf ([vasteprijs_uren] = 0), 1, [vasteprijs_uren]

Moet uiteraard zijn:
IIf ([vasteprijs_uren] = 0; 1; [vasteprijs_uren] )
(in een query; in een functie ; vervangen door ,)
 
Beste,

Klopt, ik zat inderdaat ook met . en ;.
Maar met de functie werkt het toch niet zoals je zeg..

Ik krijg een fout bij de afterupdate (na bijwerken)..

Toch vreemd..
 
Waarom gebruik je eigenlijk IIF in een AfterUpdate, en niet IF?
 
Hoi Octafish,

Eigenlijk omdat ik dit eerder gezien heb ik meerdere voorbeelden.

Zie mijn bijlage,
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan