2450 error

Status
Niet open voor verdere reacties.

crujazz

Gebruiker
Lid geworden
6 jul 2009
Berichten
15
Beste forum leden,

Ik heb een database met daarin een formulier OrderCalc.
De gegevens van OrderCalc worden geleverd door een subform (dat prima werkt).
In OrderCalc wil ik een berekend veld maken dmv if then...(getest en het werkt) probleem ontstaat echter als ik een VB-module een functie wilt laten aanroepen

Function Afronden()

If Forms!OrderCalc!Te_bestellen < 0 Then Forms!OrderCalc!varBest = 0
If Forms!OrderCalc!Te_bestellen = 0 Then Forms!OrderCalc!varBest = 1
If Forms!OrderCalc!Te_bestellen > 0 Then Forms!OrderCalc!varBest = 2
End Function


In controle venster roep ik functie Afronden op en dan krijg ik een 2450-error, Microsoft Access kan OrderCalc niet vinden.

Kan iemand mij helderheid hierin verschaffen?

bvd,

C
 
Op welke plek roep je de functie op? Op het subformulier, of op het hoofdformulier?
 
re

Best Octa,

Ik heb de functie in VB (module) gezet en op het formulier word de functie geroepen dmv varBest --> = Afronden()
 
Heb je dit al geprobeerd?

Code:
Function Afronden(Waarde) as integer

Select Case Waarde
     Case <0
          Afronden=0
     Case 0
          Afronden=1
     Case >1
          Afronden=2
End Select

End Function

Op het formulier roep je de functie dan zo op:

Afronden(Forms!OrderCalc!Te_bestellen)
 
re

Beste OctaFish,

Hartelijk dank voor je support, de functie aanroepen werkt maar ik zit alleen nog met het volgende.

Ik heb een onderliggende query met minimaal 1,maximaal 5 regels (de waarden komen dus te staan in veld Te bestellen)

Wanneer ik de functie Afronden oproep dan vult ie voor alle 5 de regels de waarde 0, 1 danwel 2 in. Eigenlijk wil ik dus dat de functie per regel word toegepast, ik zat te denken aan een recordset (heb ik het verleden wel zoiets gemaakt maar ben al mn referenties kwijt :evil: )

Dien je dan in de functie een subfunctie te maken zodat ie elk regel gaat controleren?
 
Je kunt deze functie zonder problemen ook in een query gebruiken, hij is niet eenkennig :D Aanroepen op dezelfde manier, maar dan met de veldnaam als parameter.
Ben je gelijk van de problemen op het formulier af...
 
En het is zo makkelijk... Als je veld in de query [Te bestellen] heet, dan maak je in een lege kolom in je query de volgende expressie aan:

TeBestellen:Afronden([Te Bestellen])

Zou moeten werken, en voor elke regel een eigen afronding geven. Op het formulier gebruik je dan als Besturingselementbron het queryveld [TeBestellen]
 
Re

Thanks (1000 in het kwadraat)

Oplossing van jou was echt te makelijk haha, functie werkt zoals ik het graag wilt hebben.

Super
 
Mag je de vraag ook nog afsluiten....
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan