berekening maken

Status
Niet open voor verdere reacties.

Carlito2224

Gebruiker
Lid geworden
5 sep 2022
Berichten
14
Ik ben een beginner met Acces en heb de volgende vraag:

Ik heb een veld [uurloon], een veld [Km meer 70] en een veld [Totaal uren]en een veld [eindbedrag uitvaart]
Het veld [Km meer 70] heeft de keus ja of nee.
Als de keus nee is dan wordt het uurloon gewoon vermenigvuldigd met {Totaal uren] en komt de uitkomst in het veld [Eindbedrag uitvaart].
Wat ik nu wil is dat als de keus in het veld [Km meer 70] op ja staat er automatisch 25 euro bij de uitkomst van de vermenigvuldiging komt te staan in het veld [Eindbedrag uitvaart]

Mijn vraag is nu: Hoe maak ik dat en waar en hoe schrijf ik dat dan weg. Het liefst krijg ik een antwoord in Jip en Janne taal ivm met kennis op dit gebied. :)
 
Die vraag komt me wel heel bekend voor. Volgens mij heb ik die (elders) al eens beantwoord.
 
Ja dat klopt alleen kwam ik er niet uit. Ik kreeg geen idee hoe en waar ik het moest plaatsen, vandaar
 
In de meeste gevallen is het niet gewenst dat je een berekend veld wegschrijft. In dit geval is dat te verdedigen omdat de toeslag in de loop der tijd kan veranderen en je natuurlijk altijd het bedrag wilt weten op basis van de toeslag op het moment van vastlegging.
Ik zou er in dit geval voor kiezen om op het formulier waarmee je de gegevens vastlegt, op de velden [uurloon], [Km meer 70] en [Totaal uren] een gebeurtenis "na bijwerken" te maken waarin je [Eindbedrag uitvaart] berekent. Misschien wat lastig voor een beginner. Ik heb daarom een voorbeeldje bijgevoegd.
 

Bijlagen

  • 70km.zip
    24,9 KB · Weergaven: 15
Dag Peter

BEdankt hetgeen je hebt gestuurd werkt inderdaad zoals ik het ook wil. Kan ik de gebeurtenissen die jij hebt gebruikt een op een overnemen in mijn eigen DB of is dat niet mogelijk?

gr Karel
 
De veldnamen kloppen waarschijnlijk niet helemaal. Het is beter om geen spaties te gebruiken in veldnamen omdat dat juist bij het maken van gebeurtenissen problemen kan geven. In mijn voorbeeld heb ik daarom veldnamen zonder spaties gebruikt.
Je moet de gebeurtenissen dus even aanpassen op jouw veldnamen.
 
Berekening

Dag Peter

Het is heel vreemd maar ik heb de gebeurtenissen aangepast aan mijn veldnamen maar bij het aanvinken van de box telt er geen 25 bij op

Dit is hoe het er nu uitziet:

Option Compare Database
Option Explicit
Sub BerekenBedrag()
Me.EindbedragUitvaart = IIf(Me.KmMeer70, (Me.Uurloon * Me.TotaalUren) + 25, Me.Uurloon * Me.TotaalUren)
End Sub

Private Sub KmMeer70_AfterUpdate()
Call BerekenBedrag
End Sub


Private Sub TotaalUren_AfterUpdate()
Call BerekenBedrag
End Sub

Private Sub Uurloon_AfterUpdate()
Call BerekenBedrag
End Sub

Heb jij enig idee wat ik nu nog fout doe?

gr Karel
 
Berekening

Ik krijg bij hetr aanpassen van de uren nu deze melding

PsPAAAAABJRU5ErkJggg==
 
Kan je misschien een kopie van je database, mag zonder gegevens, hier posten? Er kunnen allerlei oorzaken zijn en daarom is het lastig dit op afstand te beoordelen.
 
Kun je mij uitleggen hoe ik een lege database moet verzenden. De bijlage heb ik gelezen alleen ik weet niet hoe ik een lege database moet krijgen
Sorry voor de dommigheid maar ik ben lerende :)
 
De bijlage heb ik gelezen alleen ik weet niet hoe ik een lege database moet krijgen

Het gaat er in ieder geval om dat er geen privacygevoelige gegevens in de database staan. Als die er niet in staan kan je hem gewoon met data verzenden.

Een tabel die leeg moet open je via het navigatievenster. Klik op ctrl-a om alle records te selecteren en klik dan op de delete-toets.
 
Berekenen

Ik denk dat ik het voor elkaar heb :)
 

Bijlagen

  • 1_leeg.zip
    77,6 KB · Weergaven: 11
Ik heb hem draaiend. Kostte wel wat moeite. Er waren inderdaad wat dingen mis gegaan door het wijzigen van de veldnamen. Je had ook bij de Recordbron van het formulier een query uitgeschreven. Daar stonden nog oude veldnamen in. Ik heb nu de tabel als Recordbron aangeduid.

Ik heb ook het veldtype van EindbedragUitvaart aan moeten passen. Dat stond op "Berekend", maar dan kan je er met de gebeurtenissen geen waarde meer aan toekennen. Je kan het type "Berekend" niet meer wijzigen. Ik heb het veld dus verwijderd en opnieuw toegevoegd als "Valuta".
Je moet sowieso nog eens naar de veldtypes kijken. Datums zou je bijvoorbeeld het veldtype datum/tijd moeten maken. Dan kan je er nooit wat anders dan een geldige datum invullen.

Op het uurloon heb ik geen gebeurtenis gezet, simpelweg omdat het niet op het formulier staat en je het dus ook niet kan wijzigen.
Het is denk ik geen handige oplossing om de hoogte van het uurloon als standaardwaarde van een veld in het tabelontwerp op te nemen. Gebruikers zouden dat zelf aan moeten kunnen passen en je laat gebruikers niet rommelen aan de tabellen. Maak er een tabel voor.

Bij het meer dan 70 km verhaal zet ik ook vraagtekens. Ik zie dat je een tabel met plaatsen voorziet waarin je afstanden kunt vastleggen. Dan zou het systeem dus zelf kunnen bepalen of het meer dan 70 km is.
 

Bijlagen

  • 2_leeg.zip
    74,3 KB · Weergaven: 12
Peter sorry maar nog even een vraag, hoe krijg ik alle records weer terug in de door jou gerepareerde database?
 
Ik denk dat je beter even het veldtype van EindbedragUitvaart in jouw database kunt aanpassen (dus veld verwijderen en weer toevoegen).
Dan het formulier verwijderen uit jouw database en dat importeren uit mijn database.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan