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

[Acces 2007] SQL-query voor "aftrekken".

Pagina: 1
Acties:

  • Woodsy
  • Registratie: Juni 2005
  • Laatst online: 30-11 19:48
Ik ben bezig met een voorraadsysteem in Acces 2007. Na wat ERD's te hebben gemaakt ben ik tot de volgende constructie gekomen;

Een tabel met binnengekomen producten, en daar wil ik de tabel verkopen van aftrekken.

Ik gebruik dus;

select product, COUNT(product) as Aantal
from binnengekomen
GROUP BY product.


Nu wil ik een gelijke constructie maken voor de tabel factuur. Het verschil wordt dan de actuele voorraadlijst. Ik krijg het echt niet voor mekaar dit logisch voor mekaar te krijgen.

Is mijn constructie / idee fout? Is er iets beter? Of hoe kan 2 tabellen van mekaar laten aftrekken?

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Ik zou eerder denken aan één mutatietabel dan twéé, waarna een som() voldoende is.

Count is hier echt misplaatst, dus ik zou beginnen met een SQL-tutorial door te nemen.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • Witte
  • Registratie: Februari 2000
  • Laatst online: 13:25
Inderdaad. Je hebt een tabel nodig met alle artikelen, voorzien actuele voorraad (is niet echt noodzakelijk, maar wel handig om bij te houden), en een tabel met mutaties.
Dan kan je altijd de actuele voorraad berekenen (of een voorraad in het verleden, mocht dat nodig zijn).

[ Voor 12% gewijzigd door Witte op 24-04-2008 10:11 ]

Houdoe


  • Woodsy
  • Registratie: Juni 2005
  • Laatst online: 30-11 19:48
Oke bedankt, SUM klinkt inderdaad een stuk logischer.

Alleen in welke hoek moet ik zoiets zoeken, uiteraard is het geen probleem als ik hiervoor extra bronnen moet aanspreken. Ik heb al 3 boeken gekocht van Acces, maar ze gaan allemaal alleen maar in op het bijhouden, niet op het muteren.

Nu heb ik er eentje speciaal gekocht omdat daarbij de workcase order met meerdere items voorkwam, maar ook deze werkt niks bij.

Ik wil via een formulier dingen bijboeken en via een factuur afboeken. Dan moet ik dus in de tabel producten al een entiteit hoeveelheid toevoegen.

  • Witte
  • Registratie: Februari 2000
  • Laatst online: 13:25
Via een factuur afboeken???
Ik zou het iets anders doen:
- je maakt een tabel "order". Hierin sla je ordergegevens op, zoals de klant, afleveradres, besteldatum, leverdatrum etc.
- je maakt een tabel orderlijntjes. Hierin sla je de bestelde artikelen op, met de op dat moment geldende prijsinfo.

Vanuit de order met orderlijntjes kan je dan je mutaties regelen, en ook je facturatie.
een factuur bestaat dan minimaal uit 2 tabellen (net als order)
- de tabel "factuur" met daarin de factuurinfo, zoals factuuradres, factuurdatum, het totale factuurbedrag inclusief btw, exclusief btw, de btw zelf etc.
- de tabel "factuurlijntjes" met daarin de lijntjes (artikelen).

Je hebt dan dus 6 tabellen nodig:
- artikelen
- mutaties
- orders
- orderlijntjes
- facturen
- factuurlijntjes

[ Voor 8% gewijzigd door Witte op 24-04-2008 13:13 ]

Houdoe


  • Woodsy
  • Registratie: Juni 2005
  • Laatst online: 30-11 19:48
Bedankt, je bent een uitstekende hulp _/-\o_.

Bij mutaties wil je gewoon binnengekomen producten inboeken, of kiezen voor producten in mindering brengen? Dus een soort van opbouw ; Product, entiteit verkocht / ingekocht en dan een "null" bij welke niet van toepassing is? De producten haal je dan uit de tabel producten, en de voorraad bereken je door alle verkocht / ingekocht bij mekaar op te tellen?

Begrijp ik het goed dat je dat bedoeld?

Nu verwacht ik niet dat wij de nieuwe Hema worden met honderdduizenden artikelen. Maar gaat de query die de de huidige voorraad berekend aan de hand van mutaties op den duur dan niet te traag worden?

Nogmaals bedankt voor je hulp in ieder geval.

  • Witte
  • Registratie: Februari 2000
  • Laatst online: 13:25
een mutatie (= voorraadbeweging) ziet er zo uit:

- ID
- artikelID
- datum mutatie
- aantal
- voorraad_voor
- voorraad_na
- soort_mutatie
- (evt. gebruiker)

en dan heb je dus verschillende soorten mutaties:
zoals:
- verkoop
- inkoop
- correctie voorraad
- afvoeren

De huidige voorraad is alle mutaties van een bepaald product bij elkaar opgeteld. (vergelijk je banksaldo). Maar om een en ander sneller te laten gaan, kan je bij elke mutatie de voorraad_voor en de voorraad_na opslaan, en in het artikel zou ik ook de huidige voorraad bijhouden.

[ Voor 41% gewijzigd door Witte op 24-04-2008 14:43 ]

Houdoe


  • Woodsy
  • Registratie: Juni 2005
  • Laatst online: 30-11 19:48
Oke nogmaals bedankt. Hij is een stuk helderder nu.

Later wilde ik eventueel nog modulen toevoegen, maar voorlopig heb ik even dit (eerst proberen);

Factuur
Factuur_details
Producten
Mutaties
Zakenrelaties
Kleine opzoektabellen als; betalingstype, termijn, soort mutatie, merk & productgroep.

Dit is wel makkelijker dan mijn oude constructie met bijvoorbeeld ook een tabel RMA, bedrijven, prive-klanten etc. Ik kan dan "RMA" ook toevoegen als soort mutatie. En evt. gebruiker zou dan een zakenrelatie (bedrijf, klant & leverancier) kunnen zijn.

Alleen de voorraad_voor; haal je die op via een SQL query? Voorraad_na kan ik neem ik aan laten uitrekenen of moet dit met de hand? Uitrekenen wil ik wel eigenhandig uitzoeken, maar was benieuwd of het uberhaupt zo kon. Ik neem aan dan aan de hand van bijvoorbeeld; select aantal op laatste datum.

[ Voor 4% gewijzigd door Woodsy op 24-04-2008 14:55 ]

Pagina: 1