Avatar billede hypergrafx Nybegynder
20. november 2001 - 15:39 Der er 22 kommentarer

Order by dato ???

Kan man lave er udtræk fra en access DB som soterer efter dato-formen (eks) : 1. october 2001

Bemærk at dato selv indtastes af bruger, således at
man evt. kan \"snyde\" i historiken, hvis man indskriver en dato af ældre format eks.: 12. september 2001 skal denne stadig også blive soteret (order) efter dato rækkefølge...

Hvordan gør man det ???

 
Avatar billede eagleeye Praktikant
20. november 2001 - 15:41 #1
SQL = \"SELECT * FROM tabel ORDER BY dato DESC\"
Avatar billede eagleeye Praktikant
20. november 2001 - 15:42 #2
DESC er faldne:
SQL = \"SELECT * FROM tabel ORDER BY dato DESC\"

Stigne er med ASC eller ingenting efter:
SQL = \"SELECT * FROM tabel ORDER BY dato\"
Avatar billede nute Nybegynder
20. november 2001 - 15:45 #3
til 150 points ???

hold da op...innenfor de sistee 45 minutter er det skremmende mange som har satt seg i \"hvis jeg ikke kan finne ut av det, så må mitt spørsmål være fuckings vanskelig, men for dem som kan det mest basale er det overhodet ikke noe problem\"-kategorien...

hypergrafx >> dette er verdt 15 points...ikke 150...
Avatar billede hypergrafx Nybegynder
20. november 2001 - 15:46 #4
Hallo det der kunne jeg selv havde gjort. Kig nu efter hvad jeg spørger om !!!
Avatar billede eagleeye Praktikant
20. november 2001 - 15:59 #5
er dit felt defineret som dato eller tekst?
Avatar billede hypergrafx Nybegynder
20. november 2001 - 16:04 #6
tekst
Avatar billede hypergrafx Nybegynder
20. november 2001 - 16:09 #7
Har prøvet med denne : SQLstmt = \"select top 6 * FROM news ORDER BY FormatDateTime(Dato[, vblongdate]) desc\"

Men virker ikke helt, men det er vel noget i den retning !!
Avatar billede eagleeye Praktikant
20. november 2001 - 16:22 #8
Prøv evt at fjerne [ ] fra SQL\'en og skriv 1 i stedfor vblongdate:
SQLstmt = \"select top 6 * FROM news ORDER BY FormatDateTime(Dato,1) desc\"
Avatar billede hypergrafx Nybegynder
20. november 2001 - 16:28 #9
virker ikke ...
Avatar billede hypergrafx Nybegynder
20. november 2001 - 16:32 #10
Oprindeligt brugte jeg denne : SQLstmt = \"select top 6 * FROM news ORDER BY Dato desc\" men den soterer kun efter tallet foran måned og år  eks. 12. september 2001 ikke efter måned og årstal.

Hvad med han nute som syntes det var et meget let spørgsmål, har han intet bud/løsning ???

Avatar billede nute Nybegynder
20. november 2001 - 16:37 #11
gjør om ditt felt til typen dato. en sortering på tekst gir ingen mening
Avatar billede hypergrafx Nybegynder
20. november 2001 - 16:49 #12
Gir ingen mening  ??? kan du ikke se hvad meningen er ??? det er jo det hele spørgsmålet går ud på.... Prøv en anden gang at læse et spørgsmål igennem før du svarer så skarpt som du gjore !!

Jeg citerer \"meningen\" fra spørgsmålet:

Bemærk at dato selv indtastes af bruger, således at
man evt. kan \"snyde\" i historiken, hvis man indskriver en dato af ældre format eks.: 12. september 2001 skal denne stadig også blive soteret (order) efter dato rækkefølge...



Avatar billede eagleeye Praktikant
20. november 2001 - 16:54 #13
Jeg holder med nute her.
Du skriver intet omkring datatypen. Du skriver endda i spørgsmålet soterer efter dato-formen (eks) : 1. october 2001, det indikere du har longdate format. Det er ikke så let (umuligt) at gennemskue ud fra dit spørgsmål at det er en tekst kolonne.

Måske det virker hvis du i databasen laver en input maske på dato:
99\\.??????????\\ 9999
Avatar billede nute Nybegynder
20. november 2001 - 16:56 #14
rooolig...du spør om sortering av dato. første bud må jo være å legge grunnlag for at en normal sortering på dato er tilstede !! sortering på tekst og sortering på dato er da to fullstendig forskjellige ting !!
Avatar billede pierrehusted Nybegynder
20. november 2001 - 16:57 #15
SKAL man indtaste det som tekst ??  Altså måneden ??
Hvis du laver det om til at man skal indtaste måneden som tal (f.eks. 12-09-2001) - så kan du nemt konvertere tekststrengen til en dato.


select top 6 * FROM news ORDER BY convert(datetime, Dato,105) desc


Tallet til sidst (105) afhænger af hvilket format datoen er i. dd-mm-yy er 5, dd-mm-yyyy er 105.
Der er mange forskellige.
Så skal du bare sikre dig i indtastningen at det overholder formatet.
Avatar billede eagleeye Praktikant
20. november 2001 - 23:39 #16
Prøv evt med:

select top 6 * FROM news ORDER BY CDate(Dato) desc
Avatar billede pierrehusted Nybegynder
21. november 2001 - 10:22 #17
Kan man bruge CDate i en SQL sætning ??  Er det ikke en ASP kommando ??
Avatar billede pierrehusted Nybegynder
21. november 2001 - 10:23 #18
Hmm...  forresten har jeg taget syntaxen til CONVERT fra min SQL Server dokumentation. Det kan godt være at den er lidt anderledes i Access.  :-(
Avatar billede eagleeye Praktikant
21. november 2001 - 15:02 #19
Prøv med

\"select top 6 * FROM news ORDER BY format(Dato, \'dd-mm-yyyy\') desc\"

men det virker nok heller ikke da feltet er defineret som tekst.
Avatar billede hypergrafx Nybegynder
21. november 2001 - 15:17 #20
Nope...virker desværre ikke.
Avatar billede eagleeye Praktikant
21. september 2002 - 21:35 #21
Prøv med:

"select top 6 * FROM news ORDER BY CDate(Dato) desc"
Avatar billede spejder_leon Nybegynder
10. december 2002 - 23:49 #22
Kanon kode. Jeg har ledt efter ....FROM news ORDER BY CDate(Dato) desc"

Længe.. Du skullle havde være forbi mit spørgsmål, nå, nu må du glædes over at have hjulpet en der ellers bruger tid på at hjælpe andre... Og så her i Julen ;-)

TAK  - Og god Jul
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
Kurser inden for grundlæggende programmering

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