Print side | Luk vindue

Nogen der vil lave database

Udskrevet fra: Dansk Access Forum
Kategori: Hjælp til Access
Forum navn: Generelt
Forum beskrivelse: Spørgsmål til den daglige brug af selve programmet Access
Web-adresse: https://www.accessforum.dk/forum_posts.asp?TID=68
Udskrevet den: 21-11-2024 kl. 19:15


Emne: Nogen der vil lave database
Besked fra: Bisgaard
Emne: Nogen der vil lave database
Posteringsdato: 29-04-2015 kl. 00:54
Hjælp til at lave en database til Dart træning 
Skulle der være en der har mod på at lave den ?Smile



Svar:
Besked fra: hkh
Posteringsdato: 29-04-2015 kl. 10:17
Citat: Bisgaard Bisgaard skrev:

Hjælp til at lave en database til Dart træning 
Skulle der være en der har mod på at lave den ?Smile


Hjælp er ikke noget problem, men at der er en som vil bruge tid på, at udvikle en database for dig, skal du nok ikke regne med medmindre der indgår hård valuta.

Men! du kan sagtens få hjælp til selv at bygge den.
Det kræver nogle oplysninger.

Det første du skal gøre er, at sætte dig og lave en liste over de oplysninger som du ønsker databasen skal kunne gemme.
Når du har styr på det, skal der oprettes nogle tabeller som oplysningerne kan gemmes i.

Jeg har ikke den store erfaring med dart, men jeg forestiller du skal have nogle oplysninger om personer, måske spilledag, måske runder og points.

Lidt afhængigt af hvor mange der deltager, skal oplysningerne gemmes i flere tabeller. Jo flere deltagere der er jo mere data skal der gemmes.
Derfor kan man have personoplysninger i en tabel, Træningsdag i en anden og points og runder i en tredje.
Når oplysningerne skal bruges, kan de hentes og samles med en forespørgsel.

Indtastning af oplysninger foregår i en formular.

Men du er velkommen til at stille uddybende spørgsmål.

-------------
Hans


Besked fra: Bisgaard
Posteringsdato: 30-04-2015 kl. 22:05
Hej Hans 

Tak for svar jeg er sgu ikke stærk i access, men vil da gerne prøve at bygge det op. Men det vil kræve en del hjælp

Punkt 1

Det kalder jeg jorden rundt i dubbel  ( Altså yderste ring på skiven ) fra 1 til 20 om må først gå videre til 2 når dubbel 1 er ramt ovs. eks hvis jeg trykker på enter tæller den bare pile med trykker jeg på dubbel 1 og enter går den vidre til dubbel 2 osv.

der vil jeg gerne den gemmer data på således.  spiller - antal pile total  dags dato - også skal man kunne trække data up på hvor mange pile der er brugt den dag på jorden rundt osg samtidig en avance pr tal og et diagram der kan vise pr. uge og på månd. Samtidig skal den vise den hurtigste runde der er lavet :) Det lyder måske indviklet men er. håber det er forståligt... der skal være en del flere ting i databasen,  men starter her  ellers bliver det for mange ting på en gang..

jeg vil gerne selv at lave tabeller og formular men må nok bede om meget hjælp :) 

Men hvad skulle det koste og få en database lavet



Besked fra: hkh
Posteringsdato: 01-05-2015 kl. 07:58
Ja -Hvad skal det koste! Det ved jeg ikke, men dem der udfører på bestilling nøjes ikke med 150.00kr i timen.
Mit bedste bud er, at det bliver dyrt.

Men til sagen. Der er nogle ting som jeg vil bede dig om at tage stilling til allerede nu. Det er navngivning af dine Objekter(tabeller, forespørgsler og formularer m.m.)

Jeg vil foreslå, at du døber dine, så du kan se hvad det er.
Access tillader en formular og en tabel der hedder det samme.

Jeg selv benytter Tab_Points ved tabeller, Frm_Points ved formularer og Rp_Points ved rapporter, hvis jeg har underformularer kommer de til at hedde Frm_Points_Ufm_VisStilling, så kan jeg senere når der er kommet mange formularer og rapporter nemt se hvordan de hænger sammen.
Det er noget jeg er begyndt på, efter nogle uheldige valg, hvor jeg kom til at spolere mit eget arbejde.
Jeg benytte altid stort begyndelsesbogstav ved objektnavn og Feltnavne. Hvis jeg har sammensatte ord er der Stort ved hvert ord. f.eks:
spillerid og SpillerId er det samme for Access, men det gør verden mere let for en selv, hvis man vælger sidste udgave.
Man kommer ikke uden om VBA, når man indtaster i VBA med små bogstaver spillerid ændrer Access til SpillerId, så kan man med det samme se om man har lavet en slåfejl.
Hvis jeg har brug for, at binde to tabeller sammen, det kunne være en Tab_Spiller og en Tab_Points, hvor jeg i Tab_Points har et felt der skal holde spillerens id døber jeg det Spiller_Id så kan jeg se om det er et nøglefelt eller bare et felt.

En anden ting er de danske tegn, Access kan godt benytte dem, men det kan give problemer. Det er så et punkt hvor jeg selv er faldet i.

Jeg opdeler mine databaser i to, således at jeg har en der kun indeholder data og en hvor formularer, rapporter m.m. er. Det har den fordel, at man kan lave forbedringer uden at miste sine data.

Jeg forsøger altid, at gøre det så let for mig selv, at benytte databasen. Det vil sige, at tingene kun skal gemmes et sted. Så sparer man plads i databasen og skal kun rette et sted hvis der skulle blive behov.

Hvilken udgave af Access benytter du?
Jeg benytter 2007.

Det første du skal gøre, er at danne dig et overblik over hvilke data du ønsker at gemme og hvor de skal gemmes.
Det kan gemmes i den samme tabel alt sammen, men det kan ikke anbefales.

Hvor mange tabeller man skal have, afhænger naturligvis af mængden af data.

Personoplysninger kan f.eks opdeles i to tabeller hvor postnr og by er i en tabel for sig, så gemmes kun selve postnummeret i persontabellen.

Det var en masse snak, men opbygning af tabeller er ret enkelt.
Der skal være et nøglefelt, jeg har med få undtagelser altid et autonummerfelt som nøglefelt. Det sikrer at man ikke kommer til at tildele samme id til to personer.

Derfor vil jeg foreslå dig følgende tabeller.
Tabelnavn=Tab_Spiller
Feltnavne:
SpillerId, Autonummer, Nøglefelt
Navn, Tekst, min. 25 tegn
osv.

Tabelnavn=Tab_Points
Feltnavne:
PointsId, autonummer, nøglefelt
Spiller_Id, heltal af typen long(Access vælver automatisk typen long når man vælger tal som felttype), Indekseret med Dubletter tilladt
DagsDato, Dato og klokkeslæt, Formateret som kort dato, Standardværdi som Date()
Dubbel_1, heltal
Dubbel_2, heltal
Dubbel_3, heltal
osv til 20
Så skal du måske også have
Dubbel_1_Ok, Ja/Nej, format sand/falsk
Dubbel_2_Ok, Ja/Nej, format sand/falsk
Dubbel_3_Ok, Ja/Nej, format sand/falsk
osv. Det afhænger lidt af, om en spiller gør sin runde færdi inden næste spiller kommer til eller hver spiller kaster et antal pile og næste spiller kommer til.
Så skal der jo være en holder for hvor langt hver enkelt spiller er nået.

Jeg forestiller mig, at Dubbel_? skal indeholde antallet af kast.

I formularen tænker jeg flere muligheder, men den simple kunne være.
Formularen skal være med en underformular. I hovedformularen vælges i Kombinationsboks den aktive spiller. I underformularen vises hans score.
For hvert felt på dartskiven skal der være to felter. Et der er bundet til Dubbel_? Et der er bundet til Dubbel_?_Ok, derudover et felt AntalKast der ikke er bundet til noget. Spillerens antal kast indtastes i AntalKast der selv lægger antallet af kast til i Dubbel_?, når spilleren har ramt Dubbel_1 markeres i Dubbel_1_Ok, næste AntalKast lægges til Dubbel_2 osv.

Det blev lidt af en smøre, men det var lige lidt om hvordan jeg ville gribe det an.



















-------------
Hans


Besked fra: hkh
Posteringsdato: 03-05-2015 kl. 14:10
Jeg forsøgte lige med en meget rå udgave.
Den er i Access 2007 og vedhæftet som zip.
Kun for at give en ide.

uploads/7/Dart.zip" rel="nofollow - Dart.zip

-------------
Hans


Besked fra: Bisgaard
Posteringsdato: 03-05-2015 kl. 18:36
Hej og tak Jeg briger access 2013 
Og takker for zip 
Jeg vil da førsøge at lave det :) 
men for mig virker det lidt uoverskueligt lige nu, men ser på det



Besked fra: hkh
Posteringsdato: 03-05-2015 kl. 23:06
Frm_Points benyttes til indtastning.
1. vælges dato.
Når datoen er valgt, vælges spiller, når spilleren's runde er færdig indtastes forbruget af kast.
Når der trykkes på enter eller tab opdateres forbruget af kast.
Når Når Dubbel_? rammes markeres ud for Dubbel_X
Næste gang bliver altal kast lagt til Dubbel_?+1 osv.

Til højre vises de bedst placerede spillere. Den spiller der har flest Dubbel_? ramt placeres øverst, dernæst sorteres de efter antal kast.

Der er et par småfejl, f.eks opdaterer dato ikke hvis man benytter datovælgeren, man skal indtaste ny dato.

Men spørg bare løs. Det kan jo være jeg har fåstået måden i spiller på helt bagvendt. Jeg har mere forstand på Rally.

Det var tanken, at når man dobbeltklikker i feltet med spillervalg skulle der komme en formular hvor nye spillere kunne oprettes, som det er nu skla de oprettes i tabellen.


-------------
Hans


Besked fra: hkh
Posteringsdato: 04-05-2015 kl. 22:19
Hvis du har brug for en skrit for skrit vejledning, så spørger du bare, så skal jeg forsøge at beskrive fremgangsmåden nærmere.

-------------
Hans



Print side | Luk vindue