Avatar billede pethan Nybegynder
03. oktober 2001 - 08:33 Der er 9 kommentarer og
1 løsning

Beregning af alder i en tabel og fastsættelse af betaling

Hej

Jeg her set http://www.eksperten.dk/spm/116224 og kunne godt tænke mig at udbygge løsningen.
Kan jeg anvende det samme modul i en tabel?, og kan jeg i den samme tabel (eller en anden tabel) beregne et kontigent for hvert medlem i databasen udfra deres alder? Eks. <14år = 500kr, >14 og <16 = 500kr og >16 = 600Kr?
Avatar billede terry Ekspert
03. oktober 2001 - 08:39 #1
what are youwanting to do in a table? Normally you will alter values either through a form or via a query.
You canmore than likely do what you want in a form using the example from http://www.eksperten.dk/spm/116224
Avatar billede proaccess Nybegynder
03. oktober 2001 - 08:45 #2
Hvis du bruger den angivne kode i et selvstændigt modul, kan den kaldes fra en forespørgsel, du skal således \"bare\" gemme fødselsdagen i din tabel og lave følgende forespørgsel:

SELECT *, Alder(Fødselsdag) AS Alder, IIf(Alder(Fødselsdag)<14,500,IIf(Alder(Fødselsdag)<16,500,600)) AS Kontingent FROM TabelNavn
Avatar billede pethan Nybegynder
03. oktober 2001 - 09:22 #3
Det med at anvende modulet i en forespørgsel er jeg med på, men \"bare\" gemme alderen ind i min tabel og derfra lave forespørgslen, bedes du uddybe nærmere, mit kendskab til Access er vist på et lille plan:-)
Avatar billede nih Novice
03. oktober 2001 - 09:25 #4
Du kan også lave en ny public function der beregner kontigentet eller udbygge Thomas\'s alder function

eks på ny function:

Public Function kontigent(alder as integer) As Integer
  select case alder
  case is < 14
    kontigent = 500
  case 14 to 16
    kontigent = 500
  case is >16
    kontigent = 600
  case else
    kontigent = -1
  end select
End Function

Niels
Avatar billede nih Novice
03. oktober 2001 - 09:27 #5
Du skal ikke gemme alderen, men beregne den. ellers vil du med tiden få en tabel med ukorrekte data

Niels
Avatar billede proaccess Nybegynder
03. oktober 2001 - 10:02 #6
Alder er et beregnet tal, det er kontingent baseret på alder også!!!

MEN en persons fødselsdag er statisk data, som ikke ændres... Det er således kun denne, som du skal gemme.

Du laver en tabel, hvor fødselsdag indgår, og når du så skal bruge alder og kontingent-oplysninger bruger du førnævnte forespørgsel.
Avatar billede pethan Nybegynder
03. oktober 2001 - 10:41 #7
Niels, den funktion med kontigentet, er jeg list i tvivl om, jeg skal vel bruge den i en forespørgsel, men hvordan?
Avatar billede nih Novice
03. oktober 2001 - 10:48 #8
Det modul du har functionen alder kopiere du bare min function ind i.

Derefter opretter du i din forespørgsel en ny kollone:

kont: kontigent(alder([cpr]))

hvis feltet med fødselsdag hedder \'cpr\'

feltet kalder 2 funktioner: alder der retunerer en integer(heltal), som bruges som input (parameter) i min function.

Der er ikke noget i vejen for at have flere functioner i samme modul (i forlængelse af hinanden)

Niels
Avatar billede pethan Nybegynder
03. oktober 2001 - 11:04 #9
Tak for hjælpen, Niels
Avatar billede nih Novice
03. oktober 2001 - 11:06 #10
Takker
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