Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[MS Office 2007 - Access] Berekening uitvoeren.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste Tweakers,

Ik heb een vraag over Access.
Ik ben sinds vorige week begonnen met Access.
Dit doe ik omdat ik graag wat meer hiervan af wil weten.
Nu wil ik een berekening doen... alleen lukt het niet.
Zouden jullie mij iets op weg kunnen helpen.

Ik post screenshots:

Query:
Afbeeldingslocatie: http://img198.imageshack.us/img198/4562/query.jpg

Database:
Afbeeldingslocatie: http://img199.imageshack.us/img199/663/databaser.jpg

Zoals je in het 2de screenshot ziet heb ik daar een zwarte circel neer gezet.
Nu wil ik in de kollom "Totaal" (in de query: Totaal Licentie) het bedrag hebben van 4x €150.50. Hiervoor had ik de volgende formule:
=sum("[Aantal] * [Prijs]")
Het lukt me wel om een optel te maken naar beneden van het totaal aantal en zelfde geld voor de prijs.
Maar nu zou ik graag de prijs willen weten van 4x €150,50.
Hoe kan ik dit uitrekenen, is dit wel mogelijk...??

Dit heb ik van de website van MS af.
Aantal bronnen die ik gebruikt heb:
-http://office.microsoft.com/nl-nl/access/HA101208541043.aspx
-http://office.microsoft.com/nl-nl/access/HP051885161043.aspx
-http://office.microsoft.com/nl-nl/access/HA012288671043.aspx
-http://www.google.nl/search?hl=nl&q=berekenen+met+access&meta=&aq=f&oq=

Alvast bedankt voor jullie hulp!

Met vriendelijke groet,

Jack.

LET NIET OP DE PRIJZEN VAN PRODUCTEN IN DIT ACCESS DOCUMENT.
Dit document maak ik in mijn vakantie om met acces te leren werken.
Dit is uit de mouw geschud :P

Verwijderd

Dat is toch gewoon Product: [Aantal]*[Prijs]?

Verwijderd

Topicstarter
Nee, Dat is niet wat ik wil :P
Ik wil dat het in die laatste kollom komt.
Wanneer ik het bovenstande doen : [Aantal]*[Prijs] dan krijg ik het volgende:
Afbeeldingslocatie: http://img142.imageshack.us/img142/513/leeg.jpg

  • dj_vibri
  • Registratie: Oktober 2007
  • Laatst online: 09-11 16:24

dj_vibri

int(e^x) = f(u)^n

Post eens een printscreen/code van de query zelf wanneer je enkel [Aantal] * [Prijs] gebruikt....

Last night I lay in bed looking up at the stars in the sky and I thought to myself, where the heck is the ceiling.


Verwijderd

Topicstarter
Ik gebruik geen SQL ik wil dit graag met Access zelf doen.
De gevraagde screenshot:

Afbeeldingslocatie: http://img188.imageshack.us/img188/7060/query2.jpg

  • Bozevkwa
  • Registratie: Augustus 2008
  • Laatst online: 19:34

Bozevkwa

The Falcons have landed

Het is mogelijk, om dit te berekenen op runtime.
Gebruik de volgende syntax in de Veld entry van je Query builder:
TotaalPrijs: Licentie besteld.Aantal*Licentie.Prijs

Het nut van de totaal kolom ontgaat mij op dit moment even. Of wil je dat het veld automatisch gevuld wordt bij het invoegen van het record?

[ Voor 60% gewijzigd door Bozevkwa op 29-06-2009 11:53 . Reden: Typo ]

"What day is it?" asked Pooh. "It's today" squeaked Piglet. "My favorite day" said Pooh.


Verwijderd

Topicstarter
Ik wil dat deze record automatisch gevuld word.
Meer wil ik niet. Dan ben ik klaar met deze en dan wil ik iets gaan maken met warschijnlijk SQL erachter.
Dit is echt puur voor het snappen en begrijpen van de kleine dingen in Access..

  • dj_vibri
  • Registratie: Oktober 2007
  • Laatst online: 09-11 16:24

dj_vibri

int(e^x) = f(u)^n

Verwijderd schreef op maandag 29 juni 2009 @ 11:46:
Ik gebruik geen SQL ik wil dit graag met Access zelf doen.
De User Interface in access, waarmee jij je query's maakt, zorgt voor achterliggende SQL statements dus eigenlijk maak je sowieso gebruik van SQL ;)

dit terzijde.

Hoe ik dit meestal oplos is door bv. enkel veld 'Aantal' en 'Prijs' te creëren in de tabel en via de query een veld te laten aanmaken 'Totaal'.

http://img35.imageshack.us/i/tabelo.jpg/
http://img7.imageshack.us/i/queryc.jpg/
http://img142.imageshack.us/i/runqueryresultv.jpg/

[ Voor 16% gewijzigd door dj_vibri op 29-06-2009 11:55 ]

Last night I lay in bed looking up at the stars in the sky and I thought to myself, where the heck is the ceiling.


  • Bozevkwa
  • Registratie: Augustus 2008
  • Laatst online: 19:34

Bozevkwa

The Falcons have landed

Verwijderd schreef op maandag 29 juni 2009 @ 11:52:
Ik wil dat deze record automatisch gevuld word.
OK, bovenstaande oplossing in mijn posting zou precies moeten doen wat je wilt.
Dus in het veld de formule en de rest leeg laten.

"What day is it?" asked Pooh. "It's today" squeaked Piglet. "My favorite day" said Pooh.


  • dj_vibri
  • Registratie: Oktober 2007
  • Laatst online: 09-11 16:24

dj_vibri

int(e^x) = f(u)^n

Verwijderd schreef op maandag 29 juni 2009 @ 11:52:
Ik wil dat deze record automatisch gevuld word.
Dan vrees ik dat je zal moeten werken met 'Rapporten' waar je achterliggend een update-query uitvoert....
Access is redelijk lang geleden bij mij, maar ik kan me niet herinneren dat je in 'tabel design' berekende velden kon plaatsen..... Maar hier spreek ik me niet over uit....

Last night I lay in bed looking up at the stars in the sky and I thought to myself, where the heck is the ceiling.


Verwijderd

Topicstarter
http://img7.imageshack.us/i/queryc.jpg/

Dit is de afbeelding die mij de oplossing geboden heeft :D
Dank je wel!
Ik had [Aantal]*[Prijs] goed maar niet op de goede plaats!

Dank je wel voor de informatie en hulp!

Gr, Jack

  • dj_vibri
  • Registratie: Oktober 2007
  • Laatst online: 09-11 16:24

dj_vibri

int(e^x) = f(u)^n

Verwijderd schreef op maandag 29 juni 2009 @ 11:52:
Dit is echt puur voor het snappen en begrijpen van de kleine dingen in Access..
Snap je überhaupt ook waarom je bij jou query geen resultaten terug kreeg?

Last night I lay in bed looking up at the stars in the sky and I thought to myself, where the heck is the ceiling.


Verwijderd

Topicstarter
dj_vibri schreef op maandag 29 juni 2009 @ 11:59:
[...]


Snap je überhaupt ook waarom je bij jou query geen resultaten terug kreeg?
Omdat ik hem niet op de goede plaats had staan? Ik had hem onder het kollom staan maar daar staat niets ingevuld in de andere kolloms. Omdat ik hem nu in het kollom zelf gezet heb vind die het wel omdat hij nu wel informatie uit de andere kolloms kan halen?

verder heb ik geen idee...
Daar ga ik nu even naar opzoek dan :D

[ Voor 34% gewijzigd door Verwijderd op 29-06-2009 12:07 ]


Verwijderd

Zo te zien had je de formule bij je criteria gezet. Kreeg je geen foutmelding bij het draaien?

  • Bozevkwa
  • Registratie: Augustus 2008
  • Laatst online: 19:34

Bozevkwa

The Falcons have landed

Verwijderd schreef op maandag 29 juni 2009 @ 12:05:
verder heb ik geen idee...
Daar ga ik nu even naar opzoek dan :D
Als ik je een tip mag geven: probeer voor dat je verder gaat het principe van tabellen, kolommen enz. te doorgronden. Als je al vastloop bij zoiets elementairs, dan heb je nog een lange vakantie voor de boeg :P

Ook zou ik je willen adviseren om juist te starten met SQL (tip: van je 'gebouwde query' kun je door Access ook SQL laten genereren (Ribbon menu Design en dan de meest linkse knop SQL view selecteren)).

En koop een goed boek over het onderwerp.

"What day is it?" asked Pooh. "It's today" squeaked Piglet. "My favorite day" said Pooh.


  • dj_vibri
  • Registratie: Oktober 2007
  • Laatst online: 09-11 16:24

dj_vibri

int(e^x) = f(u)^n

Verwijderd schreef op maandag 29 juni 2009 @ 12:05:

Omdat ik hem niet op de goede plaats had staan? Ik had hem onder het kollom staan maar daar staat niets ingevuld in de andere kolloms. Omdat ik hem nu in het kollom zelf gezet heb vind die het wel omdat hij nu wel informatie uit de andere kolloms kan halen?

verder heb ik geen idee...
Daar ga ik nu even naar opzoek dan :D
Zoals Aragula reeds aanhaalde omdat je dit bij de criteria had gezet waardoor je dus letterlijk zou meegeven aan Access:

- Toon mij alle records waarvan het veld 'Totaal' = aantal * prijs ....... vermits er geen records waren met als waarde 'null' (leeg veld 'Totaal') krijg je ook geen records terug.

Vb. waar je deze criteria kunt gebruiken: Veld 'Land' --> query criteria op het veld 'Land' : "Nederland" dan zou je alle records terug krijgen waar 'Nederland' ingevuld is.

hoop dat je het een beetje begrijpt, anders googlen op bv. Access Query Builder where .....(ofzoiets :) )

Last night I lay in bed looking up at the stars in the sky and I thought to myself, where the heck is the ceiling.


Verwijderd

Topicstarter
Verwijderd schreef op maandag 29 juni 2009 @ 12:10:
Zo te zien had je de formule bij je criteria gezet. Kreeg je geen foutmelding bij het draaien?
Ja, Daar kreeg ik wel een foutmelding op.
Daarom ben ik hier heen gekomen.
Op de foutmelding had ik gezet maar kwam daar niet echt uit.

----

DJ_Vibri,

Dank je wel voor je hulp :D
Ik ga er zeker nog even verder naar kijken.
Dit is overigens wel leuk om te doen :)
Zelf weet ik eigenlijk niet zo veel van databases af en dit is wel een leuke manier om er mee te leren werken.

[ Voor 26% gewijzigd door Verwijderd op 29-06-2009 12:25 ]


  • dj_vibri
  • Registratie: Oktober 2007
  • Laatst online: 09-11 16:24

dj_vibri

int(e^x) = f(u)^n

Verwijderd schreef op maandag 29 juni 2009 @ 12:24:

Zelf weet ik eigenlijk niet zo veel van databases af en dit is wel een leuke manier om er mee te leren werken.
Nog een kleine tip waar menig DB administrators/creators/tweakertjes :) mij in zullen volgen (denk ik dan) : Verdiep je ook in het 'normalisatie' gebeuren!!!! Als je dit onder de knie hebt zal je zien dat je een belangrijke fout (niet slecht bedoeld :) ) gemaakt hebt, nl. een berekend veld in je tabel opnemen... not done!

Klein voorbeeldje: velden: Naam, Geboortedatum
Dan ga je sowieso geen veld 'leeftijd' plaatsen, hoewel dit logisch klinkt als je de leeftijd nodig hebt plaats je dit niet in je tabel omdat je de 'Leeftijd' kan berekenen adhv de geboortedatum.... (dit is een enorm aangehaald voorbeeld als het over normalisatie gaat :) )

good luck!

Last night I lay in bed looking up at the stars in the sky and I thought to myself, where the heck is the ceiling.


Verwijderd

Bozevkwa schreef op maandag 29 juni 2009 @ 12:14:
Ook zou ik je willen adviseren om juist te starten met SQL (tip: van je 'gebouwde query' kun je door Access ook SQL laten genereren (Ribbon menu Design en dan de meest linkse knop SQL view selecteren)).
en andersom trouwens ook : sql-code plakken, terugswitchen naar designmodus voor de query en dan kan je zien hoe deze query opgebouwd kan worden via de gui (niet alle sql-statements kunnen omgezet worden in designmodus view)

Verwijderd

Topicstarter
Ik ben nu bezig geweest met de SQL - Code.. En dat werkt opzich wel goed alleen snap ik het nog niet 100%.
Gisteren bezig geweest om via SQL 2 tabelen aan te spreken en dan een bepaalde kollom.
Dit werkt goed.
Nu wil ik het met 3 tabelen doen alleen die krijg ik nog niet gekoppeld :P
Nog ff uitzoeken.

  • Bozevkwa
  • Registratie: Augustus 2008
  • Laatst online: 19:34

Bozevkwa

The Falcons have landed

[b][message=32182776,noline]Nu wil ik het met 3 tabelen doen alleen die krijg ik nog niet gekoppeld :P
In principe werkt dit op dezelfde manier als twee tabellen.
Voorbeeld:

Tabel A en Tabel B wil je koppelen op, laten we zeggen artikel_ID
dan doe je dat in SQL als volgt in de where clause*: tabela.artikel_ID = tabelb.artikel_ID

Stel dat je ook nog een tabel c hebt die ook het artikel_ID heeft dan wordt het:
WHERE tabela.artikel_ID = tabelb.artikel_ID
AND tabela.artikel_ID = tabelc.artikel_ID

Je hoeft niet meer te vergelijken met tabel B, want die is al gelijk aan tabel A
Natuurlijk kun je ook een andere kolom nemen als je een derde tabel toevoegd.
En zorg dat je geen appels met peren gaat vergelijken... ;)

Voor de volledigheid nog even het geheel:
SQL:
1
2
3
4
5
6
7
8
SELECT tabela.atikel_ID
, tabelb.willekeurigveld
, tabelc.eenanderwillekeurigveld
FROM tabela
, tabelb
, tabelc
WHERE tabela.artikel_ID = tabelb.artikel_ID
AND tabela.artikel_ID = tabelc.artikel_ID



* ik laat het join statement nu met opzet even buiten beschouwing. Access gebruikt die bijna standaard, maar dat maakt het m.i. nodeloos ingewikkeld in de meeste gevallen.

"What day is it?" asked Pooh. "It's today" squeaked Piglet. "My favorite day" said Pooh.


Verwijderd

Topicstarter
dank je wel!
Ik ga gelijk weer ff verder.

Ik had hem zo staan:

SELECT tabela.atikel_ID ,tabelb.willekeurigveld ,tabelc.eenanderwillekeurigveld
FROM tabela, tabelb, tabelc
WHERE tabela.artikel_ID = tabelb.artikel_ID, tabela.artikel_ID = tabelc.artikel_ID

  • Bozevkwa
  • Registratie: Augustus 2008
  • Laatst online: 19:34

Bozevkwa

The Falcons have landed

Verwijderd schreef op dinsdag 30 juni 2009 @ 11:26:
dank je wel!
Ik ga gelijk weer ff verder.

Ik had hem zo staan:

SELECT tabela.atikel_ID ,tabelb.willekeurigveld ,tabelc.eenanderwillekeurigveld
FROM tabela, tabelb, tabelc
WHERE tabela.artikel_ID = tabelb.artikel_ID, tabela.artikel_ID = tabelc.artikel_ID
In de WHERE clause mogen geen komma's staan.
Zie het als een criteria zoals je die tegenkomt bij if statements in een gemiddelde programeer taal.
Dus alleen AND and OR om voorwaarden van elkaar te scheiden.

Om je nog wat verder te helpen, hierbij een linkje naar een PDF file met de SQL syntax. Ik heb het in boek vorm en het is enorm handig om even te te controleren wat de syntax ook al weer was voor een statement.
Wel een waarschuwing: Access gebruikt soms een iets andere syntax dan in het Oracle document staat vermeld.

"What day is it?" asked Pooh. "It's today" squeaked Piglet. "My favorite day" said Pooh.

Pagina: 1