Avatar billede Oscar560 Novice
24. januar 2012 - 16:48 Der er 13 kommentarer og
1 løsning

Stor database mangler ide

Jeg skal i gang med at lave et database, troede det kunne laves i excel, men er kommet i tvivl om det kan lade sig gøre med excel, derfor vil jeg se om nogen har forslag til en database i access 2010.
Det skal siges at jeg har ikke arbejdet meget med access, derfor vil jeg nok møde en masse udfordringer, lige nu virker det umuligt.

Jeg skal lave et database som ligner et livs træ, den er delt op flere niveau. Problemet er at den får rigtig mange grene til at man bare kan dele det op i en masse tabeller, så det må være en smartere løsning.
Jeg har 5 afdelinger, de er delt op i 3 niveu, hver afdeling har en bestemt antal rækker de må bruge
Første afdeling har rækker fra 001-299,andet fra 300-699 tredje  700-799 og fjer fra 800-899, femte fra 900-999, det vil sige alt i alt 999 rækker som er fordelt på 5 afdelinger. Det er niveau 1, der er også meget enkelt men så kommer problemet for hver række man opretter af de 999 får man så 999 muligheder igen i niveau 2, og dem men har i niveau 2 kan så deles igen med 999 rækker.

Det vil sige:
Niveau 1 har:
999 rækker fordelt på 5 afdelinger
Niveau 2 har:
999*999=998001 rækker
Niveau 3 har
998001*999=997002999 rækker!

Jeg kan ikke give mig til at oprette alle de tabeller eller rækker, så jeg håber på lidt automatik.
Databasen vil blive udfyldt løbende med nye data, derfor tænkte jeg om der er muligt at definere databasen punkter hvor stor den må blive i antal rækker, og så lave en user form hvor man vælger
Afdeling, underafdeling, og så 3 felter hvor man indtaster data (data er tekst) Sådan så de automatisk knytter sig til hinanden efter indtastningen. Så skal der være 2 rapport typer, en som laver rapport over indholdet af databassen og en som viser oversigt over de tomme nummer i rækkerne som er tilbage?

Jeg håber det findes en ultimativ access haj derude som kan hjælpe mig med dette. 200 point gives, hvis der er for lidt må vi finde en måde vi kan få flere overført :-)
Avatar billede claes57 Ekspert
24. januar 2012 - 17:13 #1
4 tabeller:
1)
(autoid)
afdelingsnavn

2)
(autoid)
konstant=1
afdelingsid fra 1)
rækkenr

3)
(autoid)
konstant=2
id fra 2)
rækkenr

4)
(autoid)
konstant=3
id fra 3)
rækkenr

ved i access at lave nogle forespørgelser kan du let få en liste med alle rækker tilhørende en afdeling opdelt på niveau.
tilsvarende må der kunne laves en forespørgelse på ubrugte numre.
Avatar billede Oscar560 Novice
24. januar 2012 - 17:38 #2
Hmm, har du mulighed for et sende mig et eksempel, har forsøgt at lave den uden helt, tror det han noget med referencer, jeg har 5 stor "afdelinger" som deler nummerene, men inden niveau 1,2,3 kommer er det ligesom underafdelinger og, så kommer niveau 1 emne, niveau 2 spørgsmål, niveau 3 underspørgsmål.
Skal jeg så have flere end 3 niveau?
Avatar billede claes57 Ekspert
24. januar 2012 - 19:49 #3
hvis det, du vil lave er en form for styret samtale (et spg fra en afdeling, og al kommunikation derefter i underniveauer) så er det en helt anden opdeling - hvorfor ikke bare bruge et standard forum og have 5 brugere (en for hver afdeling) og så kan man stille spg til afdelingen, og følge sin egen tråd. Så slipper du for al opdeling i niveauer og rækker.
Avatar billede claes57 Ekspert
24. januar 2012 - 20:59 #4
Ellers - glem alt om at beskrive databasen - men forklar, hvad du vil have lavet (brug gerne mange ord). Så er jeg mere tunet ind på opgaven.
Avatar billede Oscar560 Novice
24. januar 2012 - 21:46 #5
Det er et tlf. system hvor det skal bygges et standard op, der er 5 hoved afdelinger og en masse sluser under de 5 afdelinger, så kommer de 3 niveau med niveau 1 emne niveau 2 spørgsmål, niveau 3 underspørgsmål. Der er begrænsning på antal rækker, der er 999 i første niveau, og så er der ellers 999 rækker for hver række i niveau 2 og for hver række i niveau 2 er der 999 rækker i niveau 3. Det skal bygges gradvis op, derfor skal man i formular kunne udfylde  data for niveau 1,2,3. Rapport skal laves så man kan se tilknytningen af emner, spørgsmål, underspørgsmål til afdeling og sluse. Og rapport af hvilken rækker som ikke er brugt.
Forsøgt og lave det i excel hvor jeg er stærk men det kunne ikke lade sig gøre manuelt, er ikke så stærk til access, men kan se at opgaven skal laves i access hvis det skal kunne fungere efter hensigten. Har lige købt 2 e-bøger for at blive lidt beder til access. Kan godt nok ikke gennemskue det så alt hjælp vil gøre underværker :-)
Avatar billede Slettet bruger
24. januar 2012 - 23:22 #6
Som nævnt i #1  kan det opfattes som en træ struktur - det vi også kender fra mange andre sammenhænge som f.eks. filsystemmapper og internetadresser.
Her er en ide:
Tabel: telSp(id,sti,data)
Feltet sti, et tekstfelt, bruges til at angive en 'rækkes' tilhørsforhold til afdeling,emne,evt.spørgsmål eller evt. underspørgsmål. Det hedder i øvrigt poster i database sammenhæng og til forskel for rækker har de ingen indbyrdes orden i sig selv (modsat rækker i excel)


eksempler på indholdet af feltet sti i udvalgte poster':

Afdeling 2 - et emne
sti=a2/e300

Afdeling 2 - et andet emne
sti=a2/e301

Afdeling 3 - et spørgsmål til emne 701
sti=a3/e701/s001

Afdeling 3 - femte underspørsmål til spørgsmål 311
sti=a3/e701/s311/u005

Af #1 fremgår at der ønskes 3 datafelter - blot for at anskueliggøre denne ide - så skal der kun bruges et datafelt for at knytte emne, spørgsmål og underspørgsmål sammen.
f.eks inderholder posten der har feltværdien:
  sti=a3/e701/s311/u005
i sit felt, 'data', formulering af underspørgsmål 5 til det spørgsmål der er formuleret i posten der har feltværdien:
  sti=a3/e701/s311
der i sit felt 'data' har formulering af spørgsmål 311 under det emne der er formuleret i posten der har feltværdien:
  sti=a3/e701
Avatar billede Oscar560 Novice
24. januar 2012 - 23:39 #7
Tak for en god forklaring, ja jeg har bemærket et jeg er groet fast i excel, derfor har jeg svært med at "give slip" på måden man arbejder på i excel i forhold til access, jeg vil imorgen forsøge mig med at se på din løsning, er godt nok kørt træt nu, har nu også arbejdet med det i mange timer idag.
Men der er helt rigtigt en database i form af et træ.
Avatar billede claes57 Ekspert
25. januar 2012 - 09:29 #8
mit forslag ser sådanne ud
http://flic.kr/p/bihEBi
ved at oprette en forespørgelse kan man let søge på alt vedr en afdeling, eller fx alle emner i en afdeling oprettet i en given periode.
Ved at spørge på fx afdeling og niveau1_konstant=1 så får du alle emner i afdelingen, evt sorteret i datoorden.

Jeg vil indrømme, at jeg ikke fatter rækkenr - det er helt overflødigt i access, men ellers kan det da tilføjes.
Avatar billede Oscar560 Novice
25. januar 2012 - 19:24 #9
tak på sådan nogen gode forslag jeg vil se på dem nå min søn er gået i seng :-) Super med en tegning Claes57. Rækker nr er der grund til der er sådan at man kun kan have det begrænsede antal række nr. , eller post nr. , de er fordelt til de 5 afdelinger og skal også bruges til at styre hvor mange af dem er tilbage. Indtil videre er det kun bestemt antal rækker til bestemte afdelinger som også gøre det mere svært.
Niveau 1
Afdeling 1 fra 1-299 poster
Afdeling 2 fra 300-699 poster
Afdeling 3 fra 700-799 poster
Afdeling 4 fra 800-899 poster
Afdeling 5 fra 900-999 poster
Niveau 2
Hver post fra niveau 1 har 999 poster på niveau 2
Niveau 3
Hver post fra niveau 2 har 999 poster på niveau 3
Avatar billede claes57 Ekspert
25. januar 2012 - 20:31 #10
du kan da (via databasen) sagtens optælle om der er fx 300 brugte emner i en afdeling - det behøver de ikke at være i nummerorden for.
hvis du fx spørger (jf tegning) på en afdeling og niveau_id=1 så får du fx 'fundet 245 poster' - så er der så 54 tilbage.
Du skal lære at tænke database, og ikke regneark i rækker.
Avatar billede Oscar560 Novice
25. januar 2012 - 23:40 #11
Den felt som hedder konstant? hvad gøre den og hvordan får man den til at vise =1 =2 =3 altid?
Avatar billede Oscar560 Novice
26. januar 2012 - 00:08 #12
desværre har jeg ikke kunne få det til at virke, jeg far lavet tabellerne, men nå jeg laver formular så kan den ikke udfylde andet end første felt
Avatar billede claes57 Ekspert
26. januar 2012 - 13:51 #13
konstant er et talfelt, og i access har jeg sat standardværdi til hhv 1, 2 og 3 i de 3 tabeller.
Det bruges i forespørgelsen fspgafdeling - så kan man vælge alle med en afdeling og niveau1_konstant=1, og så får man alle emner i afdelingen.
Når du laver en formular, så opret den ud fra fspgafdeling i stedet for afdeling-tabellen - så har du adgang til alle felter. Formularen skal laves i trin, da der jo er flere poster til en afdeling.
Avatar billede Oscar560 Novice
13. februar 2012 - 17:02 #14
Ingen af løsningerne var brugerbare, fik en anden løsning af en kollega og nu virker databasen som smurt.
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