On Fri, 4 Jan 2008 15:01:01 +0100, "Anders" <andersusenet@hotmail.com>
wrote:
>God eftermiddag
>
>Jeg har et problem med datoer i en kalender på min hjemmeside.
>
>Ud fra en Access-database trækker jeg data ud.
>
>Databasen er opbygget således:
>tblKalender
> ID | autonummerering (primær nøgle)
> Dato | dato og klokkeslæt (kort datoformat)
> Tid | Tekst
> Medlem | Tekst
> Beskrivelse | Tekst
Hvorfor putter du dato og tid i to forsk. felter - og har tid i
tekst-format. For mig virker det som noget "snask"
Desuden: Databasen gemmer ikke i et bestemt dato-*format*, men som en
dato-tid-værdi. Det kan så evt. *vises* i et bestemt format.
Et af de vigtigste råd for at undgå problemer i ASP med dato/tid er at
håndtere dato/tid som *værdier* og glemme alt om formatet, indtil de
skal vises.
>Jeg bruger følgende query:
>select top 3 * from tblKalender where Dato>=#" & Date() & "# order by dato,
>tid desc
Derfor er #-angivelser også noget "snask" - # angiver i virkeligheden en
tekststreng og ikke en dato værdi.
Og da Access i forvejen har dato-funktioner indbygget, så er der ingen
grund til at bruge (VBScript-)ASP-værdien af Date - du kan lige så nemt
(læs: lettere) bruge Access-funktionen:
"... WHERE Dato >= Date() ORDER BY ..."
>Men:
>Ud fra følgende data:
>19 | Nytårstur | 01-01-2008 | 12:00 | ...
>20 | Generalforsamling | 28-01-2008 | 19:00 | ...
>21 | New Balance Halvmarathon | 23-03-2008 | 13:00 | ...
>22 | Limfjordsløbet | 18-05-2008 | 11:00 | ...
>23 | Faklen | 11-04-2008 | 10:00 | ...
>
>... får jeg kun udtrukket rækkerne med ID 22 og 23. Jeg mangler altså 20 og
>21.
Nej, den burde vise 21, 22 og 23, når du har TOP 3
>Den første tanke er, at serveren bytter om på måned og dag. Jeg har derfor
>sat Session.LCID til 1030, men uden at det ændrer noget.
Den slags slipper du for, når du kun beskæftiger dig med
dato/-tid-*værdier*
Hvis du ikke lige skal bruge Date, Now (de indbyggede værdier), så brug
Dato/tid-funktionerne - se:
<url:
http://www.asp-faq.dk/article/?id=98>
Good luck!
--
Jørn Andersen,
Brønshøj