rekenen in access

Status
Niet open voor verdere reacties.

zodiak

Gebruiker
Lid geworden
9 okt 2008
Berichten
241
ff een vraagje , dit zijn mijn tabellen:

tabel: stock_totaal
veld: product_id
productnaam
eenheidsprijs
totaal_instock

tabel: stock_in_uit
veld: trans_id
product_id
in
uit

wat ik zou willen doen is de gegevens van het veld in - het veld uit weergeven in het veld totaal_instock. maar ik weet niet hoe ik hieraan moet beginnen. vooral dan omdat dit gekoppeld moet blijven aan alles .

kan er iemand mij opweg zetten?
alvast bedankt
 
Hoi,

In je tabel stock_in_uit moet sowieso nog een veld aantal komen. Anders weet je nooit hoeveel erin of eruit gaat. ;) Misschien ook handig om automatisch een boekdatum toe te laten voegen.

Een structuur met totalen in een tabel vind ik niet aanbevelenswaardig. Maar goed, je zal er zo je redenen voor hebben om het zo op te zetten, dus:
- Wanneer wordt stock_totaal geupdate? Op basis van welke gebeurtenis?
- Waarom Productnaam en Eenheidsprijs in je stock_totaal? Die staan toch al in je tabel Product?
- Updaten naar stock-totaal kan je doen met een bijwerkquery, waarin je het totaal uit aftrekt van het totaal in. Dit levert dan je saldo op. Afhankelijk van je systeem kan dit dus negatief worden -> economische voorraad tov werkelijke voorraad tov gereserveerde voorraad. Maar dat terzijde.

Groet,

Zqwiqly
 
oei dit klinkt ingewikkeld. ik ben vrij nieuw met access.

infeite is het geen wat ik wil bereiken het volgende:

ik heb een kapsalon en heb een vooraad aan producten, ik zou ten alle tijden moeten weten welke producten ik officieel in stock heb en wat de eenheidsprijs daarvan is. ik zou dus wanneer ik nieuwe producten ontvang dit aantal toevoegen aan stock_in en producten die ik gebruik of verkoop aan de klant het aantal aan stock_uit wanneer ik dit ingeef in mijn formulier (waar de gegevens van bijde tabellen opstaan) dan moet automatisch het veld stock_totaal van dat product aangezpast worden.

hoe werkt nu zo'n bijwerkquerie en wat bedoel je met de datum?

alvast bedankt
 
Hoi,

In dit geval zou ik het nog even anders doen. Je hebt geen grote voorraad veranderingen (zoals bv in een warehouse) dus kun je het lekker simpel houden.

Je maakt twee tabellen:
tbl_Product:
Product_ID (mag autonummering zijn)
Product_Naam
Product_PrijsPerEenheid

tbl_Voorraad:
Vrd_ID (mag autonummering zijn)
Product_ID
Vrd_Aantal
Vrd_Datum
Vrd_In_Uit (Ja / Nee veldje)

Relatie tussen deze tabel op basis van Product_ID.
Uitleg: in tbl_Product houdt je alle producten bij zich in je salon bevinden, maar geen aantallen. In tbl_Voorraad houdt je alle mutaties bij van de voorraad, dus aantallen.

Als je een mutatie doet, kies je uit een keuzelijst een van de producten uit de tbl_Product, de datum (mutatiedatum) laat je automatisch invullen en in of uit gebaseerd op een vinkje. Totalen laat je vervolgens berekenen op basis van je mutatie tabel.

Zal zodadelijk even wat in elkaar prutsen en het hier op het forum zetten. Heb je een opstartje.

Groet,

Zqwiqly.
 
ok, thanks , ik ga dat dadelijk proberen en laat je iets weten
 
hey,

die mutatie versta ik niet goed.

de tabellen heb ik al aangemaakt en dat van die datum dat is ook gelukt (hij neemt dus steeds de datum van vandaag).
 
Bijgevoegd een voorbeeldje. Gebruik ervan wat je nodig hebt! :)

Denk dat je mutatie vraag ook opgelost is als je even in de db kijkt.

Groet en suc6,

Zqwiqly
 

Bijlagen

Het is aan het lukken maar moet nu de baan op voor mijn werk en ga dus straks of morgen pas kunnen verder doen, alleszins al bedankt
 
hallo,

ik heb nog met 1 bepaald veld een probleem in het formulier overzicht :

je hebt een veld waar in staat :
=[TotaalIN]-[TotaalUIT]

ik vermoed dat ik daar de naam van de query moet zetten zonder qry_ wat bij mij dan het volgende geeft: =[totaal_in]-[totaal_uit]
maar dan krijg ik in het tekstvak het volgende : #Naam?

aan wat zou dit kunnen liggen?
 
oeps , sorry heb het gevonden het is de naam van het veld . maar toch nog een ander vraagje, stell dat er bij voorraad in zaken staan maar niet bij voorraad uit dan blijft het vak voorraad totaal leeg.
kan ik daar nog iets aan toevoegen zodanig dat er toch altijd iets staat voor totaal voorraad.
kan ik zo ook een rapport met de vooraad laten afdrukken?

alvast bedankt
 
ik vermoed dat ik daar de naam van de query moet zetten zonder qry_

Nee je moet de namen van de velden hebben die je wilt salderen. De naam van een veld kun je vinden in de eigenschappen van en veld. Tabblad "Overige" of "Alle" bij "Naam" (1e veld van boven.
 
Mbt het nulsaldo:
In het formulier frm_Overzicht kan je bij de besturingselementbron van de velden TotaalIn en TotaalUit de volgende formule opnemen:
Code:
=IIf(IsNull([qry_TotaalIN_Som Van Vrd_Aantal]),0,[qry_TotaalIN_Som Van Vrd_Aantal])
Voor TotaalUit uiteraard wel even de namen van de velden aanpassen naar de juiste benaming.

Een rapport met het overzicht van de voorraad kan je denk ik zelf bouwen middels de wizzard. Je hebt alle bouwstenen die je nodig hebt op het frm_Overzicht staan. Aardig wellicht om toe te voegen aan je rapport een aantal*prijs voor elk artikel en vervolgens een som met de totale voorraad waarde. Rekenvelden kan je gewoon op je rapport toevoegen en het wordt ter plekke voor je uitgerekend als je het rapport opent.

Suc6

Zqwiqly.
 
bedankt Zqwiqly,

alles werkt perfect. dit is wat ik zocht

misschien nog 1 vraagje weet jij hoe ik bv een jaarlijks rapport kan opvragen van al de stock producten met het jaar totaal in, uit of drie maandelijks?

kan ik dit doen aan de hand van de bestaande query?

alvast bedankt
 
Yep, da's nou precies de reden dat je de datum opslaat in je voorraadmutatie tabel. :thumb:
Nou kan je namelijk een query maken waarin je bv eerst een begin en einddatum opgeeft en hij alleen alle mutaties laat zien van die periode. Wederom, je hebt alle bouwstenen, maak eens een query waarbij je zelf eerst begin en eind datum ingeeft. (Tipje: op het forum alhier vind je genoeg voorbeelden.... ;) )

Blij dat het is wat je zocht! :D

Cheers,

Zqwiqly
 
hey,

het eerste deel is al gelukt nu begin ik aan de rest. thanks
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan