/ 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
Match dagsdato med dato i database
Fra : Jan Hallin


Dato : 05-05-04 19:17


I min database har jeg en kolonne med forskellige datoer.

Jeg skal have lavet et udtræk af databasen, således at jeg får
vist den dato, som ligger tættest på den dato reelt har, når
udtrækket foretages. Datoen i databasen må dog ikke være ældre
end den aktuelle dato.

Mit bedste bud er noget lignende det her:


strSQL = "Select top 1 * from datoer where deadline >#" & date &
"# order by deadline desc"
Set rs = Conn.Execute(strSQL)

If not rs.eof or rs.bof then
deadline_dato = rs("deadline")
end if

Problemet er bare at denne model tager den dato, som ligger sidst
i databasen, hvilket ikke er særligt praktisk, hvis der for
eksempel ligger 10 datoer efter den aktuelle dato. Det duer
heller ikke at udelade "desc" for så får jeg jo bare vist den
ældste dato i databasen, og det er der heller ikke meget grin
ved.

Kan nogen pege på en løsning?

Mvh Jan

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

 
 
Jens Gyldenkærne Cla~ (06-05-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 06-05-04 09:02

Jan Hallin skrev:

> Jeg skal have lavet et udtræk af databasen, således at jeg får
> vist den dato, som ligger tættest på den dato reelt har, når
> udtrækket foretages. Datoen i databasen må dog ikke være ældre
> end den aktuelle dato.

> strSQL = "Select top 1 * from datoer where deadline >#" & date &
> "# order by deadline desc"

Prøv at fjerne "desc"


> Problemet er bare at denne model tager den dato, som ligger sidst
> i databasen, hvilket ikke er særligt praktisk, hvis der for
> eksempel ligger 10 datoer efter den aktuelle dato.


Det er fordi du sorterer baglæns.


> Det duer heller ikke at udelade "desc" for så får jeg jo bare
> vist den ældste dato i databasen,

Nej - WHERE-delen gælder stadig.


Jeg ville bruge følgende sql (bemærk at datefunktionen bør køres af
Access - så slipper du for potentielle problemer med datoformater):


strSQL = "Select top 1 * from datoer where deadline > Date order by
deadline"
--
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

Jan Hallin (07-05-2004)
Kommentar
Fra : Jan Hallin


Dato : 07-05-04 17:05

Hej Jens

Jeg har forsøgt at følge dit råd, men det virker stadig ikke. Det er
som om den fuldstændigt ignorerer where-delen. Hvis jeg fjerner "top
1" udskriver den det hele, selvom den burde udskrive op tikl "date"
og ikke mere.

Mine datoer i databasen er følgende:

15-06-2004
15-05-2004
15-04-2004
15-03-2004
15-02-2004
15-01-2004

Det vil sige, at den i dag burde vise alle undtagen 15-06-2004, og
når jeg sætter "top 1" til burde den kun vise 15-05-2004.

Jeg har også forsøgt din model med at lave udtrækket uden #, men så
får jeg bare et tomt resultat.

Venlige hilsner Jan

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

Jens Gyldenkærne Cla~ (07-05-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 07-05-04 20:39

Jan Hallin skrev:

> Jeg har forsøgt at følge dit råd, men det virker stadig ikke.
> Det er som om den fuldstændigt ignorerer where-delen.

Må vi se din sql-kode?

Er felttypen for deadline et datofelt?


> Jeg har også forsøgt din model med at lave udtrækket uden #,
> men så får jeg bare et tomt resultat.

Hvordan så sql-koden ud der?

NB: Læs gerne min signatur.
--
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

Jan Hallin (08-05-2004)
Kommentar
Fra : Jan Hallin


Dato : 08-05-04 18:54

Koden er her:


strSQL = "Select top 1 * from datoer where deadline < #" & date &
"# order by deadline"
Set rs = Conn.Execute(strSQL)

If not rs.eof or rs.bof then
   do until rs.eof or rs.bof

response.write rs("deadline")
   
   rs.MoveNext
   loop
end if



Felttypen er "Dato og klokkeslæt"


Modellen uden # så sådan ud:

strSQL = "Select top 1 * from datoer where deadline < date order
by deadline"
Set rs = Conn.Execute(strSQL)



Mvh Jan

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

Jens Gyldenkærne Cla~ (08-05-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 08-05-04 22:28

Jan Hallin skrev:

> Modellen uden # så sådan ud:
>
> strSQL = "Select top 1 * from datoer where deadline < date order
> by deadline"

Og den gav slet ingen poster?

NB: Det er svært at se hvem og hvad du svarer på når du
bundciterer. Hvis du fortsat gerne vil have min hjælp, må du følge
rådene i min signatur.
--
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

Jan Hallin (09-05-2004)
Kommentar
Fra : Jan Hallin


Dato : 09-05-04 17:31

Jens GyldenkærneClausen wrote in
dk.edb.internet.webdesign.serverside.asp:
> Jan Hallin skrev:
>
> > Modellen uden # så sådan ud:
> >
> > strSQL = "Select top 1 * from datoer where deadline < date order
> > by deadline"
>
> Og den gav slet ingen poster?

Nej, resultatet var helt tomt.

>
> NB: Det er svært at se hvem og hvad du svarer på når du
> bundciterer. Hvis du fortsat gerne vil have min hjælp, må du følge
> rådene i min signatur.

Jeg skal huske det fremover...
> --
> 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


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

Jan Hallin (09-05-2004)
Kommentar
Fra : Jan Hallin


Dato : 09-05-04 18:44

Hej Jens

Jeg har fået løst problemet...

Det hjalp at erstatte date med en ny datovariabel, hvor jeg vender
datofunktionen om:

nydate = Year(date) & "-" & Month(date) & "-" & Day(date)

strSQL = "Select top 1* from kalender where dato >=#" & nydate & "#
order by dato"
Set rs = Conn.Execute(strSQL)

response.write rs("dato")


Tak for hjælpen alligevel

Venlig hilsen Jan

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

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste