Procent berekenen

Status
Niet open voor verdere reacties.

dejobse

Gebruiker
Lid geworden
7 jul 2008
Berichten
722
Hallo,
Voor een opdracht moet ik een percentage berkekenen aan de hand van een Query.
Ik moet hiervoor de totale voorraad van een product delen door de voorraad van het product, hoe bereken ik de totale voorraad en deel deze dan door de voorraad?

Wat ik dacht:

'Percentage: ([voorraad])/(Som[Voorraad])

maar dan kreeg ik de fout:
dat mijn query (zie hierboven) geen deel uitmaakt van een statische array,

Alvast bedankt.
 
Laatst bewerkt:
Je hebt ook geen Som nodig: gewoon het ene veld delen door het andere, en het veld een Percentage opmaak geven.
 
Ik heb wel een som nodig... dus stel:
voorraden:
10 stoelen
10 tafels
10 bedden
10 boeken
samen 40
hoeveel procent is het aantal tafels? --> 10/40= 0,25%..


dus [voorraad van het product]/[totaalvoorraad]
in de database staan alleen apparte voorraden van de producten.
 
Laatst bewerkt:
Dan moet je een extra veld toevoegen waarin het totaal staat. Bijvoorbeeld door een extra query te maken die met de knop Totalen het totaal uitrekent, of rechtstreeks in de query met DSUM.
 
Weet ik. maarja, dat berekende veld is geen probleem... das gewoon som([vorraad]) maar dan.. ik moet in de Artikelnaam ook in die querry steken maar dan krijg ik een fout(vanboven vermeld)
 
Ik denk dat je berekende veld nu juist wèl het probleem is.... je kunt namelijk niet zomaar een totaalveld maken, en dan een percentage berekenen. Daar heb je een extra tabel (of virtuele tabel) voor nodig. Maak eens een voorbeeldje, dan kunnen we wat makkelijker meedenken.
 
(tabel)
voorraden:
10 stoelen
10 tafels
10 bedden
10 boeken

(querry)
samen 40 (wordt berekend door de functie (totale voorraad:( [Voorraad]/(som[voorraad])
(in dezelfde querry:)

Percentage van het aantal tafels tov "totale voorraad" berekenen --> 10/40= 25%..
Dus ik gebruik de functie "totalen"van acces niet!
 
Laatst bewerkt:
Knappe jongen als je deze query aan de praat krijgt zonder de knop Totalen aan te zetten.... Dan gaat hij toch echt niet werken! Bovendien is dit Som([Voorraad]/[voorraad]) grote onzin, want daar komt altijd 1 uit, en zeker geen 40. Je deelt namelijk [Voorraad] door [Voorraad]. Oftwel: een deling door hetzelfde veld. Is per definitie altijd 1. En daar kun je de som van nemen: De som van 1 is uiteraard ook 1. En laatste, maar dat zal ik maar als een typfout bestempelen: 10/40=0,25, of 25%. Niet 0,25%.

Maar ik ben heel benieuwd naar de SQL van jouw query, die dus blijkbaar wel het juiste resultaat geeft. En ik denk ik niet alleen :)
 
maar ik heb toch ook gezegd dat ik denk dat het zo moet... ik krijg een fout die ik vanboven heb vermeld, als jij met een oplossing kan komen ben ik blij dus ik zal een heel duidelijk voorbeeld geven:
stel dit is de tabel
Voorraaden Artikelnaam Prijs
10 tafels €50
20 Stoelen €10
10 Banken €80


dat is dus de tabel, nu moet ik een querry hebben waarin het procent van de voorraad berekend word(hier dus vb. bij stoelen: 20/40 = 0,5(vorig bericht idd typfout) = 50%) en de artikelnaam moet er ook in komen.
 
Bijgaand een voorbeeldje met 2 manieren om e.e.a. te berekenen.
In de query qryPercentage wordt het totaal berekend met DSum. In de query qryPercentage2 wordt gebruik gemaakt van een 2de query om de totaal voorraad te berekenen. Bij heel veel records kan de 2de manier iets sneller zijn.
 

Bijlagen

Oh echt HELD! dankjewel, het werkt perfect nu moet ik aan dit deel nog 1 ding doen en dat is er een rapport van maken :')


maar euhm, ik heb nog een vraagje...
dus ik heb ook een tbl klanten, en ik heb een brief in een worddoc(dit is een taak trouwens) nu moet de brief gepersonaliseerd worden voor elke klant, om verstuurd te worden en opgeslagen worden onder de naam van de klant :s dit zouden we tijdens de les gezien hebben maar ik denk dat ik toen ziek was want hier kan ik mij niks van herinneren...

dit is de letterlijke opgave:
Code:
Bedoeling is om alle klanten een gepersonaliseerde brief te sturen met daarin een uitnodiging om te profiteren van een korting. 
Ontwerp een systeem waardoor wij onze klanten makkelijk en snel een brief kunnen verzenden. 
Zorg ervoor dat in het bestand “Uitnodiging.doc” bovenaan de juiste gegevens vermeld worden Bewaar dit document Voornaam_Naam_Uitnodiging.doc.

al heel erg bedankt om me te helpen met het vorige deeltje!!
 
Laatst bewerkt door een moderator:
Nu riekt het ineens wel heel erg naar een huiswerkvraag.... En daar helpen we in beginsel niet bij. Althans: ik maak daar geen kant-en-klare voorbeelden voor. Wel wil ik je een beetje in de goede richting duwen...
Maak van je Worddocument een samenvoeg document, dat je vervolgens koppelt aan een query of een tabel. Dan heb je je persoonlijke brieven. Of maak de brief in Access, maar dat zal wel niet mogen in de opdracht...
 
jep, ik had het net gevonden :D(ik zag afdruksamenvoegen wel staan maar ik had niet verwacht dat het dit zou zijn, ik dacht dat het moeilijker zou zijn) wel nog 1 probleempje, ik kan de brief openen in 1 word document (daar dan 100 klanten in) maar ik zou dit in 100 verschillende wordocumenten moeten opslaan vrees ik... heb echt alles afgezocht, maar vind hier niks van terug... kan je me hier wel nog een beetje de goede richting mee insturen ^^?
 
Een Samenvoegdocument is altijd maar één pagina, of net zoveel pagina's als je in één brief aanmaakt. Pas bij het uitvoeren van de samenvoeging worden de afzonderlijke brieven aangemaakt. Daarbij maakt Word voor elke brief een eigen Sectie aan; een eigenschap die je weer kunt gebruiken als je de uiteindelijke brieven bijvoorbeeld apart zou willen opslaan. Normaal gesproken krijg je bij het uitvoeren op basis van een bestand van 100 adressen dus één document met 100 secties/pagina's. Met behulp van een macro kun je daar dan weer 100 aparte documenten van maken. Bedoel je zoiets?
 
Ik denk wel dat ik zoiets bedoeld, maar macros ik weet wat het is, maar heb er nog nooit eentje geschreven, is er geen andere oplossing :s?
 
Dat hangt er vanaf wat je wilt; een standaardsamenvoeging voldoet meestal wel. Die macro heb ik zelf bijvoorbeeld nooit nodig, want waarom zou je gescheiden documenten willen bewaren? Maar zonder macro kan het inderdaad niet.... Overigens heb ik 'm niet thuis, maar op het werk. Maar op deze site vind je zowel een add-in als de macro om e.e.a. te doen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan