/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Udtræk af data fra database fra dato1 til ~
Fra : Claus Skaarup


Dato : 15-08-07 23:32

Jeg har spurgt om noget lignende før og fik vist også svar, men jeg kan
desværre ikke finde det.

Jeg har en kalender i en access database, hvor jeg gerne vil have trukket
alle emner i den aktuelle sæson ud. Det var jo nemmere, hvis sæsonen fulgte
kalenderåret, men det gør den desværre ikke. Sæsonen er fra 1. august til
31. juli, så hvordan laver jeg nemmest en sætning, så den i år vælger alt
fra 1/8-07 til 31/7-08 - og fra 1/8-08 vælger alt fra 1/8-08 til 31/7-09?

Tak på forhånd

Mvh. Claus



 
 
Martin Jensen (16-08-2007)
Kommentar
Fra : Martin Jensen


Dato : 16-08-07 10:33

Claus Skaarup wrote in dk.edb.internet.webdesign.serverside.asp:
> Jeg har spurgt om noget lignende før og fik vist også svar, men jeg kan
> desværre ikke finde det.
>
> Jeg har en kalender i en access database, hvor jeg gerne vil have trukket
> alle emner i den aktuelle sæson ud. Det var jo nemmere, hvis sæsonen fulgte
> kalenderåret, men det gør den desværre ikke. Sæsonen er fra 1. august til
> 31. juli, så hvordan laver jeg nemmest en sætning, så den i år vælger alt
> fra 1/8-07 til 31/7-08 - og fra 1/8-08 vælger alt fra 1/8-08 til 31/7-09?
>
> Tak på forhånd
>
> Mvh. Claus
>
>


SELECT * FROM DATABASE WHERE [Datofelt] BETWEEN 'Dato1' AND 'Dato2'

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Claus Skaarup \(Arbe~ (16-08-2007)
Kommentar
Fra : Claus Skaarup \(Arbe~


Dato : 16-08-07 13:03


"Martin Jensen"
>>
>>
>
>
> SELECT * FROM DATABASE WHERE [Datofelt] BETWEEN 'Dato1' AND 'Dato2'
>
Jo, men så skal jeg jo ændre værdierne fra sæson til sæson. Det er det jeg
gerne vil undgå.



Philip Nunnegaard (17-08-2007)
Kommentar
Fra : Philip Nunnegaard


Dato : 17-08-07 06:05

>> SELECT * FROM DATABASE WHERE [Datofelt] BETWEEN 'Dato1' AND 'Dato2'
>>
> Jo, men så skal jeg jo ændre værdierne fra sæson til sæson. Det er det jeg
> gerne vil undgå.

Ikke nødvendigvis.
Du sætter bare værdierne på forhånd:
dato1 = '01-08-' & year(now)
dato2 = '31-08-' & (year(now) + 1)

så ændrer de sig automatisk fra år til år.
Kombineret med noget datediff kan du så få den til at skifte værdi for dato1
og dato2 1. august i stedet for 1. januar.

Pseudo-kode:
hvis 31. juli eller tidligere:
dato1 = '01-08-' & (year(now) - 1)
dato2 = '31-08-' & year(now)
ellers
dato1 = '01-08-' & year(now)
dato2 = '31-08-' & (year(now) + 1)
end if


Jørn Andersen (16-08-2007)
Kommentar
Fra : Jørn Andersen


Dato : 16-08-07 19:31

On Thu, 16 Aug 2007 00:31:58 +0200, "Claus Skaarup"
<skaarup75@yahoo.noget> wrote:

>Jeg har en kalender i en access database, hvor jeg gerne vil have trukket
>alle emner i den aktuelle sæson ud. Det var jo nemmere, hvis sæsonen fulgte
>kalenderåret, men det gør den desværre ikke. Sæsonen er fra 1. august til
>31. juli, så hvordan laver jeg nemmest en sætning, så den i år vælger alt
>fra 1/8-07 til 31/7-08 - og fra 1/8-08 vælger alt fra 1/8-08 til 31/7-09?

Prøv fx med:
If Month(Now) > 7 Then
intMinusAar = 0
Else
intMinusAar = -1
End If

strWhere = " WHERE [Datofelt]" & _
" BETWEEN DateSerial(" & Year(Now) + intMinusAar & ", 8, 1)" & _
" AND DateSerial(" & Year(Now) + intMinusAar + 1 & ", 7, 31)"

Det er ikke testet, men logikken skulel være, at hvis vi befinder os
efter 31.7, så selectes fra 1.8.(aktuelle år) til 31.7.(aktuelle år + 1)
Hvis vi befinder os før 1.8, så trækkes 1 fra det aktuelle år i begge
tilfælde.

Da det er en Access db har jeg brugt dens indbyggede funktioner.


Måske koden er mere overskuelig med:

If Month(Now) > 7 Then
strStartDate = "DateSerial(" & Year(Now) & ", 8, 1)"
strSlutDate = "DateSerial(" & Year(Now) + 1 & ", 7, 31)"
Else
strStartDate = "DateSerial(" & Year(Now) -1 & ", 8, 1)"
strSlutDate = "DateSerial(" & Year(Now) & ", 7, 31)"
End If

strWhere = " WHERE [Datofelt]" & _
" BETWEEN " & strStartDate & " AND " & strSlutDate

Test selv :)

Good luck!

--
Jørn Andersen,
Brønshøj

Jens Gyldenkærne Cla~ (16-08-2007)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 16-08-07 23:37

Claus Skaarup skrev:

> Jeg har en kalender i en access database, hvor jeg gerne vil
> have trukket alle emner i den aktuelle sæson ud.

Hvis sæsoner spiller en rolle i databasen, ville jeg oprette en
tabel til dem. Så kan start- og slutdatoer for en konkret sæson
gemmes heri - evt. sammen med yderligere informationer knyttet til
sæsonen.

Den aktuelle sæson kan til enhver tid findes med en forespørgsel
som denne:

SELECT * FROM saesoner WHERE Now() BETWEEN startdato AND slutdato


Kalerenden kan udbygges med et sæsonfelt, relateret til
sæsontabellen. Så har man umiddelbar adgang til sæsonoplysningerne
for enhver kalenderpost. Alternativt kan man benytte sæsontabellen
til at trække start- og slutdatoerne for den aktuelle sæson ud, og
bruge dem som kriterier.


> Det var jo nemmere, hvis sæsonen fulgte kalenderåret, men det gør
> den desværre ikke. Sæsonen er fra 1. august til 31. juli, så
> hvordan laver jeg nemmest en sætning,

Et quickfix - forskyd datoerne med de 5 måneder der skal til for at
få sæsonen = kalenderåret:

... WHERE Year(DateAdd('m',5,Now())) = Year(DateAdd('m',5,datofelt))


Ikke afprøvet.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Claus Skaarup \(Arbe~ (17-08-2007)
Kommentar
Fra : Claus Skaarup \(Arbe~


Dato : 17-08-07 11:18


"Claus Skaarup" <skaarup75@yahoo.noget> skrev i en meddelelse
news:46c37edf$0$21928$157c6196@dreader1.cybercity.dk...
> Jeg har spurgt om noget lignende før og fik vist også svar, men jeg kan
> desværre ikke finde det.
>
Tak for svarene. Nu har jeg noget at rode videre med

Mvh. Claus



Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409081
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste