15. februar 2010 - 14:45Der er
27 kommentarer og 1 løsning
Kan man lave beregninger i Access?
Jeg er ny i Access, men har beslutte mig for at prøve at lave en lille databaser over vores omkostninger.
Jeg har således oprettet en tabel med Medarbejder information og en tabel hvor medarbejderens relaterede omkostninger ligger. Mit problem er, at jeg gerne vil have fordelt omkostningerne ud på perioder. Langt de fleste relatere sig til måneder, men der er også kvartalsvise, halvårlige og årlige omkostninger.
Det jeg havde tænkt mig (men nok ikke er så smart) er, at for hver omkostning ligge omkostningen i perioden. Dvs. tabellen får månedens 12 måneder, hvori jeg vil ligge en udregning.
Mit spørgsmål er således tvetydig 1) Kan jeg ligge en udregning i en tabel, så der eksempelvis i januar bliver taget 1/12 af totalbeløbet? 2) Kan der laves en smartere relation?
Det vigtige for mig er, at jeg kan trække omkostninger per medarbejder per måned.
Jeg er meget taknemmelig for hjælp, og uddyber naturligvis gerne, hvis mine spørgsmål ikke er forståelige - som sagt, er ikke så fortrolig med Access.
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
Access er dog ikke et regneprogram som Excel. Men som du kan benytte Excel som en database, kan du også benytte Access som et regneprogram. Men en database i Excel er ikke så god som en database i Access og omvendt. Men grænsen hvorbår du skal benytte det ene program fremfor det andet er flydende.
Til dine spørgsmål:
1. Principielt er det forkert at lægge beregninger i en tabel, idet de jo kan genberegnes til hver en tid.
2. Det er svært at sige uden et nøjere kendskab til din database.
I en forespørgsel kan du lave flere beregninger. De følger alle de normale matematiske principper med .feks. regnetegnene med * som multiplikations tegn, / som division og + eller -.
Dit eksempel med 1/12 kan gøres således:
[Total]/12
Der kan skrives flere sider om emnet, men lad dette være nok som en indledning.
Mugs, du slog mig med 11 minutter. Jeg var i gang med at skrive et indlaeg. Det viser sig at vi stort set er enige, saa jeg skal supplementere med mine tanker:
"jean01ad, du udtrykker dig ikke saerlig konkret. Jeg forstaar at du i Access vil registrere omkostninger og saa rapportere omkostningerne periodevis. For at svare paa dine direkte spoergsmaal, (1) ja det kan sagtens lade sig goere, og (2) jeg vil umiddelbart mene det er smartest at du definerer et antal omkostningsklasse saa som en aarsfordelingsklasse og en kvartalsfordelingsklasse og saa i dine tabeller kun registrerer de faktiske omkostninger og hver omkostnings klasse og saa laegger beregningerne i de rapportere du traekker ud. Saa har jeg vist svaret i lige saa abstrakte vendinger som du beskrev problemet i.
Hvis du oensker mere konkrete foreslag maa du give mere konkrete oplysninger. Det ville vaere nyttigt at vide hvor stor, saadan cirka, din medarbejder skare er og hvilken branche du er i. Maa vi se de to tabeller du siger du allerede har lavet? Kan du give eksempler paa maanedlige, kvartalsvise, aarlige, og andre periode udgifter? Skal du rapportere dine faktisk afholdte omkostninger saaledes at du 31 januar rapportere de maanedslonninger du betalte i januar og hvis du i januar betalte en kvartalsbonus vil du rapportere en tredjedel og gemme resten til februar og marts, og ligeledes hvis du i maj betaler feriepenge vil du inkludere en tolvdedel i maj og rapportere resten fordelg over de kommende 12 maaneder? Eller er vi mere ovre i budgetteringen saaledes at du 1 januar rapporterer de maanedsloenninger du forventer at betale i januar plus en tredjedel af det kvartalsbonus du forventer at skulle betale i marts plus en tolvdedel af de feriepenge du forventer at skulle betale i maj?"
Hej Christian > Øvelse gør mester. Jen har dog været her i omkring 8 år i Access kategorien.
M.h.t. periodisering af omkostningerne, vil det hjælpe en hel del, hvis hver enket omkostning var dateret. På den måden kan man benytte funkrionen DatePart til at udtrække f.e.ks måned, kvartal og år m.v. og danne omkostningsrapporter fordelt på disse data.
Glem heller ikke guiden Rapport, der kan tilbyde at lave totaler samt subtotaler og procentvise omkostninger af en hovedtotal. Den er nok lidt overset men ganske udmærket.
Ja, Puha jeg er en ren novice indenfor Access. Jeg vil normalt bare lave tingene i Excel, men jeg forstår sådan set godt fordelene ved Access - men jeg har rigtig svært ved at udfører tankerne i praksis og ved at få sat tingene rigtig op. Derfor er jeg også super glad for både jeres tid og svar - Det er kanon, at der er nogen der vil bruge tid på at hjælpe, tak for det 
Jeg forstår at det med udregningerne ikke er speciel optimalt, og fandt ganske hurtig ud af at gøre det, men det generer på 90% af posterne redundant data, så det er ikke en holdbar løsning. Derfor vil jeg gerne se om jeg kan være mere konkret i min spørgsmål og måske få et helt optimalt svar.
Jeg har ca. 30 konti i en kontoplan, hvor omkostningernes direkte driver er medarbejder. Eksempelvis
Herudover har jeg ca. 200 mand der kommer med indput til de forskellige konti, nogle har pension andre har ikke - nogen har firmabil andre har ikke, men kører privatbil og skal derfor have kørselsgodtgørelse osv. osv. Det vil sige, at hver medarbejder har sin egen omkostningsprofil.
Det ultimative resultat skulle gerne være en forespørgsel der ser ud som følgende: Kontonummer Afdeling Funktion januar, februar, marts, april, maj, osv. på de 12 mdr.
Jeg vil selvfølgelig gerne kunne lave analyser ned på medarbejder niveauer, mellem afdelinger og funktioner osv. Men jeg ved ikke hvordan det er bedst at registrere så jeg får omkostningerne ud på måder. Oplysninger på en medarbejder kunne eksempelvis lyde:
Initialer: Jean (Er primær nøgle) Afdeling: 1910 Funktion: Økonomi Løn: 5000 (månedsløn) Bonus: 1000 (Kvartalsvis) Pension: 10% af grundløn Ferietillæg: 1 % som skal ligge i april Leasing bil: Ja - kører 40.000 km (fordeles månedsvis) Benzinomk. 40.000 *1 (Fordeles månedsvis) Forsikring: 5.000 Årlig Osv. osv. osv.
Principielt er jeg således over i noget budgettering og har ikke fokus på de realiserede tal i førsteomgang. Christian, måske forstår jeg din ide med fordelingsklasserne - men har et problem med årsfordelinger som kan kommer i enhver måned. De kan falde i april, men også i oktober, så hvordan sikrere jeg, at de kommer med i rigtig måned? Ved at lave en klasse for hver måned?
Mugs. Omkostningerne er ikke daterede, men de rykker sig aldrig over en måned. Dvs. at jeg godt ville kunne ligge alle omkostninger for januar ind som 01.01.2010 osv. hvis det vil have en ønskelig effekt. Men umiddelbart forstår jeg ikke rigtig den sidste del. Jeg vil dog rigtig rigtig gerne have input til en smart måde at gøre dette på. Som skrevet - det er virkelig noget jeg vil kunne sparer tid ved.
Jeg vil hellere end gerne uddybe yderligere, og har ikke til hensigt at være vag i mine spørgsmål - er dog slet ikke inde i termer og tankegange omkring access, til at jeg kan være skarp, så hvis jeg udtrykker mig dårligt, så spørg endeligt.
Jeg har lavet et super lavpraktisk eksepel på ovenstående i forhold til fordelingsklasser. Og det kan jeg måske godt få nogle fornufige forespørgsler ud på. MEN jeg er ikke i stand til at tænke det her helt i bund - så jeg har stadig stort behov for hjælp.
Hvad gør jeg hvis en medarbejder først starter i Februar alternativt siger op i maj. i de to tilfælde skal jeg jo kun have ham med i omkostningerne i hhv. 11 måneder og 5 måneder...
kan den oplysning mon ligges på medarbejderen?
jeg arbejder videre, men som skrevet, så er jeg meget taknemmlig for input.
Et godt råd i forbindelse med udviklingen af et sådant 'budget/regnskabs-program' er at få det tænkt rimeligt igennem inden brug, og få lavet nogle krav mv. Desuden kunne jeg anbefale dig at tage kontakt til en og få hjælp til det grundlæggende tabelopbynging, og en grundlæggende programmering uden det dog skal blive kæmpestort og dyrt.
Men ja Access kan være rigtigt sjovt, og man får hurtigt bygget noget brugbart sammen, pas dog på ikke at bruge en masse tid og energi på noget som senere må kasseres grundet manglende planlægning. Det var jeg selv ude for de første par gange jeg byggede en DB.
Så vidt jeg ved er der en del af dem som færdes herinde som til daglig lever af det (jeg selv gør IKKE), men der er også andre muligheder.
jean01ad, forventer du flere indlaeg paa denne traad? Jeg kan se at du er blevet tilbudt direkte hjaelp fra et medlem. Blev spoergsmaalet derved besvaret? Hvis spoergsmaalet ikke laengere er aktuelt kan jeg saa bede dig lukke det? Det giver god orden, og saa staar det ikke laengere som aabent i min liste af indlaeg.
Nej jeg har faktisk ikke fået svar på mit spørgsmål. Jeg vil så også erkende at det nok har ændret format på baggrund af de indlæg der er kommet.
Det bedste er måske, at jeg fjerne spørgsmålet her, siger tak for input og ellers opretter et nyt mere konkret spørgsmål.
Jeg ved ikke rigtig hvad man gør med point i en sådan situation. Jeg har ikke rigtig fået et anvendelig svar, men er meget taknemlig for den tid der er brug i forsøget på at hjælpe mig, så jeg giver gerne point.
Jeg er som skrevet meget taknemmelig for, at I har brugt jeres tid på at forsøge at hjælpe mig. Jeg kender ikke proceduren for pointgivning i et sådant tilfælde. Point betyder ikke så meget for mig, det der betyder noget er, at der findes et sted som dette, hvor man kan få inspiration, og ekspert hjælp.
Hvis I ligger et svar, er en pointdeling så ikke på sin plads - da jeg jo bestemt har fået noget ud af jeres input.
Det ligger saaledes at jeg var, og stadig er, interesseret i at udarbejde et loesningsforslag til denne traad. (Min motivation er at jeg selv er i gang med at opbygge erfaring med Access. Jeg har et temmelig solidt teoretisk kendskab til databaser men ikke megen erfaring med Access, og her er en realistisk opgave.)
Da jeg saa dine yderligere oplysninger i #4 begyndte jeg at skrive et indlaeg hvor jeg ville forklare hvordan jeg nu forstod spoergsmaalet og soege bekraeftelse (eller korrektion) med henblik paa at kunne udarbejde et konkret loesningsforsla. Inden jeg var klar saa jeg at et andet medlem (der har arbejdet med Access laengere end jeg) var i gang med at "strikke noget sammen" saa jeg trak mig.
Men hvis det stadig er aktuelt saa lad mig fyre det foelgende af:
Jeg forstod dit oprindelige spoergsmaal saaledes at du ville fordele de ikke-maanedlige omkostninger ud paa maaneder saaledes at for eksempel de feriepenge du udbetaler i april ville du vise med en tolvdedel i hver af aarets maaneder. (Du sagde, blandt andet, "...der eksempelvis i januar bliver taget 1/12 af totalbeløbet..." Dine tal ville saaledes reflektere omkostningsforloebet (du har omkostninger til feriepenge maanedligt selv om du kun har "cashflow" en gang om aaret.)
Jeg faar saa fra #4 det indtryk at du tvaert imod vil vise omkostningerne i de maaneder du skal udbetale dem. Altsaa en oversigt over din cashflow, hvilke beloeb du skal soerge for at have likvide i hvilke maaneder. Du er kun (for naervaerende) interesseret i hele maaneder og i planlaegningstal (som kan vise sig at vaere lidt forskellige fra aktuelle tal.) Er det korrekt forstaaet?
Er det saa saaledes at det for4 hver konto i kontoplanen ligger fast hvornaar udbetalingen skal ske? For eksempel loen maanedlig, feriepenge altid i april, bonus i marts, juni, september, og december, pension indbetales til pensionsfonden i januar, april, juli, oktober, forsikring i august, o.s.v. Forstaa det korrekt, jeg spoerger ikke her i hvilke maaneder du betaler hvad men om det altid, per konto, kan fastlaegges i hvilke maaneder betaling sker. Hvis ikke, hvordan ved du saa hvornaar du skal betale?
Og saa vil du have en rapport der viser tallene for hver af aarets tolv maaneder. Jeg gaar ud fra at den rapport altid viser maanederne startende med januar. Aarstal er (formodenligt) ikke relevant, hvis medarbejder Hansen's maanedsloen er 20,000 kr saa bruges det tal i alle maaneder indtil det registreres at han nu faar 21,000 kr. Hvis du traekker rapporten i august 2010 saa viseer den dine forventede udbetalinger per maaned for august 2010 indtil juli 2011. ??
Hvis du bekraefter (eller retter) ovenstaaende og at du stadig er interesseret saa skal jeg gaa i gang.
For sent igen. Men hvis du synes saa kan vi bruge den teknik at jeg udarbejder forslag og du saa bagefter opretter en ny traad med "Points til christian_belgien.
M.h.t. periodiseringen af et cashflow, så lad mig komme med et godt råd:
Hav altid en dato for betalingen oh kun en dato. Derefter benyttes funktionen DatePart i f.eks.en forespørgsel til at uddrage måned, kvartal eller år. På den måde kan man med kriterier udtrække et cashflow gældende for en periode. På samme måde sammenligne alle måned 4 for flere år ad gangen.
En anden ting er, at skal der sammenlignes for flere perioder, skal man overveje hvorledes data er gemt. Hvis en db med relationer til f.eks. løn, bonus og andre variable beløb ændrer beløbene vil disse ændringer slå igennem til poster i tidligere perioder og derved umuliggøre en sammenligning. Men kan komme om ved problemet, ved at man, f.eks. efter periodens udløb, sender data til en separat tabel uden relationer til andre tabeller. På den måde sikrer man historikken i db.
Det her er fin service. Jeg er stadig rigtig rigtig interesseret i at arbejde videre med tankerne. (jeg har møder frem til i aften, så jeg kan ikke nå at kigge på det nu). i aften vil jeg kigger mere indgående på det, som i begge har skrevet, og prøve at at relatere til det jeg har i mine tanker og det arbejde jeg lagde i det i sidste uge.
Efterfølgende vil jeg ligge det som en ny tråd (med mindre man kan genåbne denne), gøre mig selv mere tydelig og måske åbne nogle nye spøgsmål og råb om hjælp, samt uddybe de underspørgsmål du har stillet Christian.
Som skrevet - jeg er mere end interesseret i at finde nogle løsninger (Da jeg bliver mere og mere overbevist om, at dynamikken i en database, er det eneste rigtig i forhold til behovet). Så Christian du er bestemt ikke for sent - men jeg skal nok forsøge at konkretisere yderligere.
Jeg ligger den nye tråd under samme navn som denne - så der ikke er tvivl. Håber det er ok.
Det er noteret. En sidste kommentar paa denne traad: Jeg er overbevist om at problemet er ikke et Access problem (Access er bare et redskab) men et problem med data-struktur. Hvis du (naar dine moeder er ovre) kan svare bekraeftende til mine spoergsmaal saa mener jeg allerede at jeg ved hvordan det kan loeses.
Jeg har lagt en ny tråd "kan man lave udregninger i Access", tror jeg, at jeg fik kaldt den. Den er direkte stilet til jer.
Jeg har virkelig forsøgt at være detaljeret, hvilket har givet en stor beskrivelse. I må ikke misforstå mig, jeg søger ikke nødvendigvis en færdig løsning, men kunne rigtig godt tænke mig, endnu mere uddybning af, om de jeg drømmer om er muligt og er i harmoni med databaseteorien.
På forhånd tak.
Jesper
Synes godt om
Ny brugerNybegynder
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.