Rekenen in Access....

Status
Niet open voor verdere reacties.

PaDalton

Gebruiker
Lid geworden
17 jun 2021
Berichten
32
Beste mensen,

Sinds een week ben ik Access aan het verkennen en het lijkt mij een enorm leuk programma om mij daarin beter te verdiepen.

Snap er nog niet veel van maar heb hele dagen de tijd :) om te oefenen.
Waar ik niet (nog) uitkom is het rekenen met velden. Dat gaat compleet anders als in Excel.
Wie wil mij helpen (en uitleggen) hoe je in het bijgesloten bestandje twee velden kunt berekenen.

Voor jullie is het misschien eenvoudig, maar mijn zondag is er al aan kapot gegaan....

Alvast heel veel dank

Pa Dalton
 

Bijlagen

Toch werkt het rekenen in Access vergelijkbaar aan Excel. In Access moet je alleen voorkomen dat je berekeningen gaat doorvoeren in een tabel. Dit is in de meeste gevallen niet nodig. Berekeningen laat je uitvoeren in een Query, Formulier of Rapport of een combinatie van dit alles. In jouw voorbeeldje zijn de velden 'Critical Rating' en 'ABC Indicator' overbodig omdat deze afhankelijk zijn van de velden 'Effect on Production', 'Maintainability' en 'Relaibility'
Kleine tip: gebruik nooit spaties in de veldnamen. Of nog beter gebruik nooit spaties in objecten.

Open frmtestje in de ontwerpweergave. En zorg ervoor dat de properties zichtbaar zijn. Voor 'Critical Rating' pas je de Control source aan naar =[Effect on Production]*[Maintainability]*[Relaibility] Alle velden kan je vinden door op de drie ... te klikken
Voor 'ABC Indicator' pas je het aan naar =IIf([Critical Rating]=0;"C";IIf([Critical Rating]<7;"B";"A"))
 

Bijlagen

  • Knipsel.JPG
    Knipsel.JPG
    128,9 KB · Weergaven: 31
Laatst bewerkt:
Je zondag laten kapot gaan is zonde, dat mogen we niet laten gebeuren :p.
Het principe: in de tabel staan de baiswaarden. De berekende waarden neem je (meestal, zoals bij elke regel zijn er uitzonderingen) niet op in de tabel.
Trouwens een tip: gebruik geen spaties in objectnamen, dan moet je bij berekeningen veel minder haakjes typen.
Die kan je berekenen in:
* een query , hoe kan je zien in https://www.youtube.com/watch?v=TKHyv1GhdDY
* een formulier: https://www.youtube.com/watch?v=jqGlcRJtqlw
* een rapport: https://www.youtube.com/watch?v=K_sZcH62pQU

Bereken voorbeeld in een query (de ALS functie is in access de IIF (Immediate If) functie, ik heb die in het voorbeeld niet helemaal uitgewerkt, maar als je het principe kent, dan kom je er zelf wel)

In een formulier veld:
 

Bijlagen

  • CalcInQuery.JPG
    CalcInQuery.JPG
    71,7 KB · Weergaven: 34
  • CalcInForm.JPG
    CalcInForm.JPG
    43,4 KB · Weergaven: 25
@NoellaG, je moet ook altijd het laatste woord hebben:p:D
 
Zal ik dan maar het laatste woord hebben?

@VenA
Hartelijk bedankt.
Je tip over spaties volg ik direct op.

@NoellaG,
Hartelijk bedankt voor de plaatjes, deze zeggen meer dan ... woorden.
Met query's ben ik nog niet aan toegekomen.
Daar kan ik deze plaatjes en de you-tube filmpjes best wel bij gebruiken

Pa Dalton
 
@VenA,
Die handleiding kan ik mooi eens doornemen.

btw. klopt het dat het veld Critical Rating en het veld ABC Indicator niet weggeschreven worden?

Pa Dalton
 
Dat klopt inderdaad. Zie zowel de opmerking van @NoellaG als die van mij hierover.

Het principe: in de tabel staan de baiswaarden. De berekende waarden neem je (meestal, zoals bij elke regel zijn er uitzonderingen) niet op in de tabel.

In Access moet je alleen voorkomen dat je berekeningen gaat doorvoeren in een tabel. Dit is in de meeste gevallen niet nodig. Berekeningen laat je uitvoeren in een Query, Formulier of Rapport of een combinatie van dit alles.
 
Laatst bewerkt:
Maak het jezelf niet zo moeilijk en maak de berekeningen in de onderliggende query, en niet op het formulier. Berekeningen in formulieren zijn in mijn ogen minder makkelijk te onderhouden dan formules die je in (opgeslagen, dat ook) queries maakt. Die kan je namelijk altijd aanpassen zonder dat je het formulier hoeft te ontwerpen.
 

Bijlagen

Goedemorgen Octafish,

Ik ben net je cursus aan het doornemen.....
Ben nu bij hoofdstuk 2

Pa Dalton
 
Octafish,

Ik ben net je testje aan het doornemen maar ik kan niet zien waar je de berekening gedaan hebt.
Als ik de query open in de ontwerpweergave dan zie ik alleen maar het 4 kantje met de tbl gegevens.
Moet ik nog ergens iets "aanzetten"?
 
De door mij gebruikte query heet 'qRatings' en ziet er zo uit:
Code:
SELECT [Effect on Production], Maintainability, Relaibility, [Critical Rating], [ABC Indicator], [Effect on Production]*[Maintainability]*[Relaibility] AS CR, IIf([CR]=0,"C",IIf([CR]<7,"B",IIf([CR]>=7,"A",""))) AS ABC FROM tbltestje;
Als je die query in de Ontwerpfase opent, zie je twee extra velden (CR en ABC) die op het formulier gebruikt worden om de berekeningen te laten zien.
 
Overigens zou ik de typefout in de veldnaam "Relaibility" aanpassen naar "Reliability" :)
 
Typefoutje is gewijzigd.:rolleyes:

Kan je mij aanwijzen waar deze velden staan?
Meer als dit zie ik niet.
 

Bijlagen

  • Schermafbeelding 2021-07-05 113911.png
    Schermafbeelding 2021-07-05 113911.png
    26,8 KB · Weergaven: 25
gevonden...ik kon nog een balk naar boven slepen en daar was het.:o:o:o
 
Zou je mij alleen nog kunnen uitleggen hoe de de velden CR en ABC hebt aangemaakt?
 
Kwestie van rechte haken typen en de veldnamen er tussen plakken :).
Dus ik begin zo:
Code:
CR: []*[]*[]
En daarna kopieer ik het eerste veld ("Effect on Production") en dat plak ik tussen de eerste haken.
Code:
CR: [Effect on Production]*[]*[]
Dan het volgende veld:
Code:
CR: [Effect on Production]*[]*[Maintainability]
En dan de laatste:
Code:
CR: [Effect on Production]*[Maintainability]*[Relaibility]

Op die manier hoef je ook geen rekening te houden met spelfouten :).

Het andere veld doe je op dezelfde manier, al is dat iets meer gewoon tikwerk vanwege de IIF:

Een IIF functie bevat een vergelijking ("[CR]=0"), en twee uitkomsten: WAAR of ONWAAR. In het ene geval doe je dit, in het andere geval dat. De "Dit" is hier de letter "C", de "Dat" een volgende vergelijking (die kun je namelijk nesten).
Het eindresultaat is dan deze formule:
Code:
ABC: IIf([CR]=0;"C";IIf([CR]<7;"B";IIf([CR]>=7;"A";"")))
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan