Avatar billede florint Nybegynder
25. september 2005 - 16:48 Der er 10 kommentarer og
2 løsninger

antal meter gange antal omgange

Hej
Jeg har en tabel(Ryttere) med felterne rytternavn, adresse,omgange og kilometer.
Så en tabel(Omgang) med feltet længde.
Kan jeg lave en formular der udregner antal omgange X antal meter, og placerer resultatet i feltet kilometer(selvfølgelig omregnet til KM)
Hvorfor så det? Jeg har igennem længere tid kørt med denne database, men der skrev jeg antallet af kilometer i tabellen istedet for omgange x længde, og derfor er feltet kilometer brugt i en del rapporter. Jeg vil gerne undgå at skulle rette i samtlige rapporter og udregninger andre steder i DB'en.
På forhånd tak.
Mvh
Avatar billede mugs Novice
25. september 2005 - 16:52 #1
Kan du ikke blot kalde feltet noget andet?
Hvis du laver dit flet (omgange x antal meter) som et udtryk i forespørgslen behøver du ikke at gemme det i tabellen. Det betyder ligeledes, at du kan bruge beregningen i dine rapporter.
Avatar billede mugs Novice
25. september 2005 - 16:54 #2
Hvis du absolut vil gemme det i tabellen kan du jo kalde feltet hvad som helst, og benytte egenskaben Titeltekst til at vise et andet navn end  feltnavnet. Svarer lidt til feltets formatering, hvor du rent faktisk ser noget andet end den værdi, der er lagret på HD.
Avatar billede florint Nybegynder
25. september 2005 - 17:00 #3
Hej
Antallet af kørte km er grundlaget for en del udregninger i DB'en, og dermed er dette felt brugt i mange udregninger i rapporter og forespørgsler. Derfor ville det letteste for mig være at kunne regne omgange x meter og placere resultatet i feltet kilometer. Før har jeg regnet det aktuelle antal km og indsat det i db, og så herudfra beregnet en del tal. Nu vil jeg gerne lade DB'en overtage den del af udregningen også, da omgangslængden kan variere fra løb til løb. Så ville det blive lettere da jeg så kun skulle taste antallet af omgange ud for den enkelte rytter :-)
Avatar billede mugs Novice
25. september 2005 - 17:03 #4
OK - I din formular kan du i et af felterne omgange eller meter (afhængig af hvad der sidst opdateres) eller i dem beggge blot indsætte denne:

Me!km = Me!omgange * Me!meter
Avatar billede terry Ekspert
25. september 2005 - 19:58 #5
Can you tell us a bit more about your application. I dont want to make any suggestions without a bit more information.

Why do you have KM in the (Ryttere) table? This can only give you a TOTAL KM ridden. If you had this information in another table ythen it would be possible to see how far a rider has ridden on a given date/time (for example).

If the table (Omgang) contains a distance (længde) then having anothert table would also allow you to have a relationship between the new table and (omgang) and then having a field the the new table where you enter the actual number of laps (omgang).

This would then eliminate the need for updating KM.
Avatar billede claesdamlund Nybegynder
26. september 2005 - 00:07 #6
Hvad med at indsætte følgende formel i dit "KM-felt" under Kontrolelementkilde:

=(Omgange * Længde)/1000
Avatar billede mugs Novice
26. september 2005 - 07:39 #7
claes > Er vi så ikke tilbage til det ubundne felt jeg tidligere har foreslået, og som brugeren ikke ønsker?
Avatar billede florint Nybegynder
26. september 2005 - 07:50 #8
Hej
Vi kan godt blive enige om at opbygningen måske ikke er helt perfekt, men sådan er den nu en gang lavet :-(
Jeg bruger databasen til at holde styr på et cykelløb. Den består af en tabel med rytternavne indeholdene felterne rytternavn, adresse, postnr, kilometer, bemærkning og startnummer. En tabel med postnr og by og en tabel med sponsorer hvor felterne er sponsorid, sponsornavn, sponsoradresse, postnr, rytternavn, kr.pr.km, fastbeløb og betalt/ikke betalt.
Så har jeg lavet en formular baseret på ryttertabellen og en underformular baseret på sponsortabellen.
Når cykelløbet er kørt, har jeg tastet antal kørte km for hver rytter efter en manuel udregning, og så kan jeg så finde ud af hvor mange penge hver rytter har tjent, hvem der skal betale hvad og hvorfor osv.
Banelængden varierer år for år og derfor ville det være genialt at få den udregning lavet i databasen hvis jeg taster antallet af omgange på hver rytter.
Så kunne jeg løbbende under hele løbet se hvor langt vi var nået og hvem der havde kørt hvor mange kilometer.
Jeg har så tilføjet et felt "omgange" til ryttertabellen og lavet en lille tabel "Omgang" med feltet længde til databasen så jeg kan indsætte omgangslængden på løbet.
Meningen var så at jeg skulle kunne indtaste antallet af omgange på den enkelte rytter så blev antallet af kørte kilometer automatisk indsat i feltet kilometer i ryttertabellen.
Umiddelbart ville det være den letteste løsning - tror jeg - da jeg har 10 forespørgsler og 12-14 rapporter hvori feltet kilometer indgår som en del af udregningerne.
Håber forklaringen er ok nu.
/Mvh
Avatar billede terry Ekspert
26. september 2005 - 08:12 #9
In the after update event for the new field "omgange" palce some code similar to this

me!km = (me!Omgange * Dlookup("længde", "Omgange")/1000 )
Avatar billede terry Ekspert
26. september 2005 - 08:14 #10
This assumes that there is only one record in the omgange table, if there are more then you need to adda criteria to the dlookup function
Avatar billede florint Nybegynder
26. september 2005 - 09:35 #11
Hej
Håber i er ok med pointfordelingen. Terry's forklaring gjorde udslaget :-) Det funker efter hensigten som det skal :-)
Takker for hjælpen.
Mvh
Avatar billede terry Ekspert
26. september 2005 - 09:37 #12
selv tak
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