min waarde in berekend veld

Status
Niet open voor verdere reacties.

mdegeest

Gebruiker
Lid geworden
10 aug 2011
Berichten
76
In mijn tabel heb ik een berekend veld.
Ik bereken het totaal m2 van breedte x hoogte.
Maar als de m2 < 0.50, dan moet ik de waarde veranderen in 0.50.
Hoe kan ik dit in mijn berekend veld zetten ?
Ik werk met access 2010 en heb in mijn tabel een berekend veld staan voor de m2.
 
Gooi het berekend veld weg uit je tabel, en werk er verder nooit meer mee, want dat is zo'n beetje de meest idiote uitvinding van Bill en zijn kornuiten sinds ze Access hebben overgenomen... Berekeningen maak je in queries of op formulieren, maar niet in een tabel. Daarin sla je hooguit de uitkomst op (bijvoorbeeld als je prijzen berekent, en de prijs fluctueert). Berekende velden worden namelijk nooit herberekend. Niet meer gebruiken dus!
Ik neem aan dat je een formulier hebt voor het invoeren van je gegevens. Maak een berekening op de velden Breedte en Hoogte die het oppervlak berekent (en wegzet in het veld Oppervlakte) en zet daar een check in of de afmeting onder of boven de drempelwaarde zit. In het geval van eronder, dan de drempelwaarde gebruiken. Dus iets als:

Code:
Option Compare Database
Option Explicit
Dim iOpp As Double
Const iDrempel = 0.5

Code:
Private Sub txtBreedte_Change()
    If IsNumeric(Me.txtBreedte.Text) And IsNumeric(Me.txtHoogte.Value) Then
        OppBerekenen Me.txtBreedte.Text, Me.txtHoogte.Value
    Else
        Me.txtOppervlak = iDrempel
    End If
End Sub

Code:
Private Sub txtHoogte_Change()
    If IsNumeric(Me.txtHoogte.Text) And IsNumeric(Me.txtBreedte.Value) Then
        OppBerekenen Me.txtHoogte.Text, Me.txtBreedte.Value
    Else
        Me.txtOppervlak = iDrempel
    End If
End Sub

Code:
Function OppBerekenen(Breedte As Double, Hoogte As Double)
    If Not Breedte = 0 And Not Hoogte = 0 Then
        iOpp = CDbl(Breedte) * CDbl(Hoogte)
        If iOpp < iDrempel Then
            Me.txtOppervlak = iDrempel
        Else
            Me.txtOppervlak = iOpp
        End If
    End If

End Function
 
Heb de code kunnen toepassen en min.wordt nu berekend.
Dank voor de hulp.:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan