Avatar billede hcsj Nybegynder
10. januar 2009 - 18:02 Der er 17 kommentarer og
1 løsning

Varestryring i Acces

Hej alle,

Jeg har en mindre virksomhed hvor jeg skal lave noget lagetstyring til.

På nuværende tidspunkt benytter jeg excel hvor jeg laver alle mine opdateringer og beregninger i. Min erfaring er dog at der let sker en del fejl. Specielt nu hvor mit data strækker sig over et par bliver det let meget tungt og uoverskueligt. 

Min tanke er derfor at opbygge en database fra grunden i acces. I den forbindelse har jeg en række spørgsmål.

1. Er acces en god løsning eller er der bedre systemer? Det skal her nævner at systemet ikke må være dyrer end acces.

2. Jeg har forstået (tror jeg) det basale system i acces med at man kan lave relationer. Jeg har dog et problem når man skal blande tabeller med datoer og tabeller som beskriver indholdet.
For at klaregøre mit problem vil jeg forsøge at illustrer tre tabeller som jeg ønsker at kombinerer på forskellige måder.


Tabel 1:
Denne tabel viser lagerbeholdningen for hver vare hver dag og ser således ud:
Dato          Vare 1      Vare 2      Vare 3...
01-01-2009      500          250        800
02-01-2009      600          250        300

Tabel 2:
Tabel 2 viser prisen for de pågældende vare hver dag og ser således ud.
Dato          Vare 1      Vare 2      Vare 3...
01-01-2009      1000,-      500,-        200,-
02-01-2009      1000,-      400,-        300,-

Tabel 3:
Tabel 3 giver information omkring de pågældende varer og ser således ud:
Vare      Type    Leverandør  Land
Vare 1    A        1          1
Vare 2    B        1          1
Vare 3    A        2          2
Vare 4    C        3          3


Jeg ønsker at kombinerer disse tre tabeller således at jeg kan få de to følgende tabeller:

Tabel A:
Tabellen skal angive hvor meget der er af hver type af vare på lageret på et pågældende tidspunkt. Dvs den skal kombinerer tabel 1 og 3 så den ser således ud:
Dato          Type 1    Type 2  Type 3
01-01-2009   
02-01-2009

Tabel B:
Denne tabel skal vise mængde på lageret, pris, type, leverandør og land for en bestemt dato. Den kombinerer således alle tre tabeller. For den 2. januar skal den således vise

Vare      Antal    Pris      Type    Leverandør    Land
Vare 1      600      1000,-    A      1            1
Vare 2      250      400,-      B      1            1
Vare 3      300      300,-      A      2            2


Det blev et meget langt spørgsmål. Jeg håber I kan hjælpe og at det kan løses. På forhånd tak.
Avatar billede mugs Novice
10. januar 2009 - 18:11 #1
Access er et udmærket system til dette brug. Så vidt jeg husker ligger der en Template i Access Northwind.

Jeg vil foreslå, at du slåtr Tabel1 og 2 sammen. Det er jo den samme vare du beskriver blot med forskellige data.

TabelA. Hvorfor denne tabel. Data ligger i Tabel1

TabelB: Data for Type, land og leverandør er knyttet til varerne i Tabela og bør flyttes dertil.
Avatar billede hcsj Nybegynder
10. januar 2009 - 18:49 #2
Så vidt jeg kan forstå mener du, at jeg skal samle alt data i en tabel eller? Det vil jeg helst undgå (medmindre det er dårlig løsning selvfølgelig) fordi jeg får noget af data fra en ekstern kilde.
Det jeg lidt havde håbet på man kunne var, at lave en relation mellem de tre tabeller således man kan benytte sql til at lave to forespørgsel så man får hhv. tabel A og B. ved at kombinerer de tre tabeller.

Jeg glemte vist at bemærke at jeg bruger acces 2007. Ved ikke om det gør en forskel.
Avatar billede hcsj Nybegynder
10. januar 2009 - 18:57 #3
Min forklaring er vist ikke helt klar omkring tabel A. Tabel A skal vise den samlede mængde af hver type ved alle datoer. Dvs den skal se således ud:

Dato          Type A    Type B  Type C
01-01-2009 
02-01-2009

Søjlen med type A skal således indeholde summen af beholdningen af varer som er af type A. Dvs summen af vare 1 og vare 2 der er de eneste varer af type A.
Avatar billede hcsj Nybegynder
10. januar 2009 - 18:57 #4
Jeg mener selvfølgelig vare 1 og 3
Avatar billede mugs Novice
10. januar 2009 - 20:21 #5
Access 2007 > Kender der ikke.

"Tabel A skal vise den samlede mængde af hver type ved alle datoer"
Kan du ike gøre det med en forespørgsel?
Avatar billede Slettet bruger
10. januar 2009 - 21:46 #6
Du kan hente ms access's egen lagerstyringsdatabase fra www.spgprogramming.com
Avatar billede hcsj Nybegynder
11. januar 2009 - 12:32 #7
Jeg har kunnet finde mange gode lagerstyringsprogrammer på nettet. Det som jeg ikke kan finde er et som også har dato med.
Det er meget vigtigt for mig at min database ikke kun er et nutidsbillede af hvad der er på lageret, men at jeg kan også historisk kan se hvad der præcist har været på lageret til alle datoer.

Er der nogen som kan hjælpe mig med det specifikke problem
Avatar billede mugs Novice
11. januar 2009 - 13:00 #8
http://www.makeiteasy.dk/Home.asp

Oppe til højre Downloads og rul ned til "Historik på dine tabeller".
Avatar billede Slettet bruger
11. januar 2009 - 13:14 #9
Indtaster du selv data i tabel1?~)
Avatar billede Slettet bruger
11. januar 2009 - 13:16 #10
Hvis du gør det, så kan du bare lave en forespørgsel, som finder maks dato, grupperer på vare og som har <=forms!DinFormular!DitDatofelt som kriterie under din maks dato!~)
Avatar billede Slettet bruger
11. januar 2009 - 13:18 #11
Hvis det er en udregning, så brug en forespørgsel til at finde summeringerne og relater til den i den forrige forespørgsel!~)
Avatar billede Slettet bruger
11. januar 2009 - 13:42 #12
...jeg har desværre ikke tid lige præcis nu, men jeg tror du skal have lidt hjælp med din tabelstruktur....

Det ser ud til at du kun skal bruge:

LagerTabel:
idLager (autogeneret, primærnøgle)
Dato
Vare
Antal
Pris (double) (Med skiftende priser, så mener jeg det er en fordel at "stemple" prisen ind i lagertabellen, når der lagerlægges, medmindre der nedskrives ved prisfald... og det så bare er den gældende pris, der giver lagerværdi)

VareTabel:
idVare (autogeneret, primærnøgle)
Vare
Type
Leverandør
(Pris) (hvis du bare vil opdatere den enkelte pris manuelt ellers skal du have en separat pristabel, som vil hedde: idPris, Dato, Vare, Pris)

...under alle omstændigheder, så er disse tabeller nok til at lave et datagrundlag, som ved hjælp af forespørgsler kan give dig de oplysninger du ønsker!~)

måske senere idag eller en af de nærmeste dage, kan jeg kigge på din db, hvis det er nødvendigt!~)

spg.eksperten@gmail.com
Avatar billede Slettet bruger
11. januar 2009 - 13:44 #13
Det er også relevant at se på dine eksterne data, så du bare kan importere dem (eller copy/paste!~)
Avatar billede hcsj Nybegynder
12. januar 2009 - 08:31 #14
Jeg tror du har helt ret spg.

Det eneste problem jeg har er at det måske bliver lidt overskueligt i idLager fordi jeg har omkring 30 varer som skal prisfastsættes hver dag. Med din foreslåede opstilling skal jeg gentage hver dato 30 gange. Tror du det er den bedste både at gøre det på?
ELlers tusind tak for hjælpen.
Avatar billede mugs Novice
12. januar 2009 - 08:35 #15
Du kan i VBA kopiere en record og så blot skrive prisen.
spg foreslår at prisfeltet i lagertabellen skal være af typen double. Hvorfor? det bør da være en currency.
Avatar billede hcsj Nybegynder
12. januar 2009 - 08:44 #16
Det lyder smart. Jeg får priserne fra en ekstern kilde hver dag. Dvs. jeg først får priserne ind i excel og herefter vil jeg så kopiere dem ind i acces. Det kan man gøre ved at oprette en kæde til det pågældende ark eller?
Avatar billede mugs Novice
12. januar 2009 - 09:10 #17
Du kan godt oprette en kæde eller hente dit Excel ark ind som en tabel. Eller importere dit excel ark med koden docmd.transferspreadsheet. Evt. lav en makri og eksperimenter lidt med den.
Avatar billede rookie44 Juniormester
02. december 2009 - 14:59 #18
Prøv at kigge på et program der hedder Makapor på www.makapor.dk
Det indeholder bl.a. lagerstyring.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester