Oprettet fre. d. 08. oktober 2004 kl. 13:55:55

adan
adan (13.620 point. Point ude: 310)

Tildeling af point efter varighed af medlemsskab i sæson

Jeg har en db med et antal deltagere i klubben. De har alle et "til"- og et "fra"-felt med dato for indmeldelse og udmeldelse i sæsonen. Det er formatet dd-mm-åååå.

Jeg vil nu gerne lave en forespørgsel, som selv beregner om de var med i efteråret (hele perioden fra 01-09-2003 til 31-12-2003) og tildeler disse 1 point i et nyt felt der hedder varighed.
Ligeledes skal de der er med i foråret (01-02-2004 til 31-05-2004) have 1 point i varinghed.

Således at resultatet bliver 1 point for efterår eller forår, og 2 hvis man er med begge gange.

Jeg har forgæves prøvet mig lidt frem, men får fejl, så jeg vil blive glad for noget starthjælp..

Skrevet fre. d. 08. oktober 2004 kl. 14:02:28| #1

Jeg tror, at du er nødt til at kører det i 2 forespørgsler:

Efterår:
Update DinTabel Set varighed = varighed + 1 Where (Til is null or Til >=#2003-12-31#) And (Fra <=#2003-09-01#)

Forår:
Update DinTabel Set varighed = varighed + 1 Where (Til is null or Til >=#2004-02-01#) And (Fra <=#2004-05-31#)

Skrevet fre. d. 08. oktober 2004 kl. 14:07:35| #2

jensen363
jensen363 (27.726 point)
"beregner om de var med i efteråret (hele perioden fra 01-09-2003 til 31-12-2003) og tildeler disse 1 point " ... skal man så have været medlem i hele perioden, eller blot medlen i perioden for at opnå point ???

Skrevet fre. d. 08. oktober 2004 kl. 14:13:43| #3

adan
adan (13.620 point)
jensen363: man skal have været med hele perioden

Skrevet fre. d. 08. oktober 2004 kl. 14:15:08| #4

adan
adan (13.620 point)
Så vidt jeg kan se, skal jeg oprette feltet Varighed, inden update skal foretages? Hvordan gøres det i SQL?

Skrevet fre. d. 08. oktober 2004 kl. 14:21:48| #5

jensen363
jensen363 (27.726 point)
Kan et medlem være indmeldt hhv. udmeldt flere gange i samme register, eller er der typisk kun een registrering pr. medlem ???

Skrevet fre. d. 08. oktober 2004 kl. 14:23:28| #6

Kan du ikke oprette den manuelt?

Skrevet fre. d. 08. oktober 2004 kl. 14:24:08| #7

adan
adan (13.620 point)
jensen363: kun een gang pr mand

Skrevet fre. d. 08. oktober 2004 kl. 14:25:38| #8

Du opretter feltet varighed således i SQL:
Alter Table DinTabel add Varighed Integer

men det skal nok ligge i endnu en forespørgsel...

Skrevet fre. d. 08. oktober 2004 kl. 14:53:43| #9

staticdata
staticdata (14.989 point)
Jeg ville nok -også af hensyn til fremtiden- tælle antal dage, de havde været medlem, og så give 1 point for hver 180 dage - og udvide "sæsonerne" til at være fra 1-1 til 30-6 og 1-7 til 31-12.

Skrevet fre. d. 08. oktober 2004 kl. 15:09:06| #10

jensen363
jensen363 (27.726 point)
Jeg har lavet en løsning ud fra følgende kriterier :

Opret en ny tabel ( tblSæsonIntervaller ) med følgende :

SæsonID ( Eksempelvis Forår03, Efterår03, Forår04 osv. )
PeriodeFra ( dato )
PeriodeTIL ( dato )
Point ( 1 )

Følgende query skulle så gøre abejdet med at identificere medlemmernes medlemsskab pr. sæson

SELECT tblMedlemmer.MedlemsNr, tblMedlemmer.Navn, tblSæsonIntervaller.SæsonID, tblSæsonIntervaller.Point
FROM tblMedlemmer, tblSæsonIntervaller
WHERE (((tblMedlemmer.Udmeldt) Is Null Or (tblMedlemmer.Udmeldt)>=[tblSæsonIntervaller]![PeriodeTil]) AND ((tblMedlemmer.Indmeldt)<=[tblSæsonIntervaller]![PeriodeFra]));

Skrevet tir. d. 12. oktober 2004 kl. 13:53:30| #11

adan, har du kigget mere på denne?

Skrevet man. d. 22. november 2004 kl. 10:48:10| #12

adan
adan (13.620 point)
Hmm, den her glemte jeg da vist. Jeg endte med at foretage optællingen i excel, da det var en engangsforetagelse. Derfor ved jeg heller ikke hvilken løsning der ville paase bedst, så I får lov til at dele pointene ligeligt.

Håber det går an :-)

Skrevet man. d. 22. november 2004 kl. 10:49:49| #13


Skrevet ons. d. 24. november 2004 kl. 00:41:07| #14

staticdata
staticdata (14.989 point)
Ja, det er båre dæilit. Måske skulle du have skrevet fra starten, at det blot skulle gøres én gang. Men tak alliwl.

Skrevet ons. d. 24. november 2004 kl. 08:38:32| #15

Staticdata-> Der sneg sig vist lige en enkelt stavefejl ind der: "Bare" er med "A" i stedet for "Å" ;~)

Skrevet søn. d. 05. december 2004 kl. 22:57:26| #16

staticdata
staticdata (14.989 point)
thomasjepsen->jamen, det var båre, jeg ville skrive >:-[

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Link til et dokument

Oprettet den 10. februar 2012 kl. 14.15
omn giver 60 point for svar | Giv et svar »

Formular med flere paramtre

Oprettet den 9. februar 2012 kl. 16.48
stuegnu giver 100 point for svar | Giv et svar »

Kodemodul ???

Oprettet den 8. februar 2012 kl. 17.05
olejohn giver 200 point for svar | Giv et svar »

Seneste guides

Installer win 7
Den gode bruger


   




Tips & Tricks fra PC World

Teaser billede

Her er fem sjove danske websider du skal kende

Trænger dine lattermuskler til en omgang fitness på dansk? Vi viser vej til fem websider fyldt med humor og vanvittig satire.


Anmeldelser fra PC World

Teaser billede

Test: Denne super-tablet er iPads hårdeste konkurrent

Eee Pad Transformer Prime er frygtindgydende med sin quadcore processor og evne til at trylle sig om til bærbar. Apple bør kigge i bagspejlet, for Asus' tablet-pc kommer buldrende - og gør det...


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Nu kan du snart hente Windows 8

Den nye offentlige betaversion af Windows 8 er klar i denne måned.


Nyheder fra Computerworld

Teaser billede

Måske snart slut med Androids helt store problem

Android-platformen har længe været plaget af et særligt problem. Men måske er problemet nu ved at være elimineret.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger