Avatar billede l_otto Nybegynder
24. juni 2003 - 13:57 Der er 22 kommentarer og
1 løsning

problemer med visning af tid..

Jeg har en access db hvor jeg  skal vise hvornår en spiller skal spille på en bane.. og den viser nu:

01.25
10.00
12.00
17.00
21.00


Den skal vise:

10.00
12.00
17.00
21.00
01.25

Altså den ved jo at 01 kommer før 10 men det skal den ikke....

hvad gør en klog...

Dette er min streng..

strSQL = "Select * From bruger where spilledag = 'Lordag 28-08-03' Order By spilletid "


peter
Avatar billede mortency Nybegynder
24. juni 2003 - 14:01 #1
strSQL = "Select * From bruger where spilledag = 'Lordag 28-08-03' Order By spilletid DESC"
Avatar billede netro Nybegynder
24. juni 2003 - 14:02 #2
Hvis du har sat kolonnen til typen dato/klokkeslæt, er det intet problem.
Avatar billede l_otto Nybegynder
24. juni 2003 - 14:04 #3
hvis jeg sætter den til desc giver det samme problem......

jeg prøver lige netro..
Avatar billede netro Nybegynder
24. juni 2003 - 14:10 #4
Med andre ord skal din kolonne se således ud med formatet "mm-dd-yyyy hh:nn":

06-24-2003 10:00
06-24-2003 12:00
06-24-2003 17:00
06-24-2003 21:00
06-25-2003 01:25

Og så kan du nemt sortere:

strSQL = "Select spilledato, Format(spilledato, 'hh.nn') As Tid From bruger where spilledato = #06-24-2003# Order By spilledato"

Tid giver dig klokkeslættet for kampen, mens du kan udtrække den pågældende ugedag således:

Weekday(spilledato, VbMonday)
Avatar billede netro Nybegynder
24. juni 2003 - 14:12 #5
Nu ved jeg ikke, hvad navnet på dit recordsæt er, men det skal du lige huske at have omkring "Tid" og "spilledato".
Avatar billede carpediem Nybegynder
24. juni 2003 - 14:13 #6
Du kan jo starte med at overholde den tidsstyring vi bruger her på jorden og sige, at 01.25 tilhører søndag den 29-08-03
Og ja, du bør også lave din dato kolonne om til dato/tid
Og så kan du jo droppe din kolonne med spilletider. Og nøjes med at have hele informationen i en kolonne altså. Lave kolonne spilletid om til dato/klokkeslet, som så indeholder følgende:
28-08-03 10.00
28-08-03 12.00
28-08-03 17.00
28-08-03 21.00
29-08-03 01.25

Så kan du lave din sql streng om til:
strSQL = "Select * From bruger where spilletid Between= '28-08-03' AND '29-08-03 10:00' Order By spilletid "
Avatar billede netro Nybegynder
24. juni 2003 - 14:19 #7
Og for lige at sammenfatte svarene, så skal du nøjes med een kolonne til det hele med formatet "mm-dd-yyyy hh:nn".
Så vil sorteringen ikke give dig uønskede resultater.
Avatar billede l_otto Nybegynder
24. juni 2003 - 14:19 #8
jamen spillerne er oprette så lørdag døgn går til 12.00 - 04.00

og de er oprettet med to kolonner..tid og dato..

nu har jeg ændret til dato og tid...

Så hvis det kun er spilletid der skal styre det hvad gør jeg så ?
Avatar billede netro Nybegynder
24. juni 2003 - 14:20 #9
Jeg er nødt til at smutte nu, men jeg lægger lige et svar, hvis du får det til at fungere.
Avatar billede netro Nybegynder
24. juni 2003 - 14:22 #10
strSQL = "Select * From bruger where spilletid Between= '28-08-03 12:00' AND '29-08-03 04:00' Order By spilletid "
Avatar billede l_otto Nybegynder
24. juni 2003 - 14:27 #11
jo men der er ikke nogen på '29-08-03 04:00' findes ikke ... tid og dato er i to forskellige kolloner..

spilledag = dato
spilletid = tid

så det andet virker ikke
Avatar billede netro Nybegynder
24. juni 2003 - 14:29 #12
Som sagt skal dato og tid også være i samme kolonne.
Avatar billede l_otto Nybegynder
24. juni 2003 - 14:29 #13
men det er de ikke.. hvad gør jeg så :-(
Avatar billede netro Nybegynder
24. juni 2003 - 14:35 #14
Laver en ny kolonne med nævnte format og indsætter værdierne fra spilledag og spilletid her:

Set rs = Conn.Execute("Select ID, spilledag, spilletid From bruger")
While Not rs.EOF
  Conn.Execute("Update bruger Set NytFelt = #" & Right(rs("spilledag"), 8) & " " & rs("spilletid") & "# Where ID = " & rs("ID"))
  rs.MoveNext
Wend

Noget i den stil - du er nødt til selv at sidde og eksperimentere lidt.
Avatar billede l_otto Nybegynder
24. juni 2003 - 14:39 #15
jeg ser hvad jeg kan gøre ..
Avatar billede hossein Nybegynder
24. juni 2003 - 14:41 #16
Jeg kan se at du bruger access, lav en forspørgsel i selve access (design) og sætte de to koloner sammen (i din query), noget i den retning: (felt1 &""&felt2) as TidKlokk
Avatar billede hossein Nybegynder
24. juni 2003 - 14:42 #17
det var lidt hurtig. Også fra din ASP side kan du kalde din Query (forspørgsel)
Avatar billede l_otto Nybegynder
24. juni 2003 - 14:45 #18
jamen hele misfæren ligger i at :

hvis en spiller skal spille lørdag 280803 kl. 13.00 så bliver det sat i to kolonner:
hvis en skal spille kl. 01.15 er det stadig lørdag og ikke søndag morgen...

altså lørdag 280803 kl. 01.15.

og ikke 290803 kl. 01.15.

Derfor kan det andet heller ikke virke...

kan man ikke fortælle den at hvis noget er >00.00 og < 12.00 og det der er der imellem det største eller noget..

shit den er dum
Avatar billede hossein Nybegynder
24. juni 2003 - 14:49 #19
Var det til mig. Jeg forklarede bare at hvordan kan du sætte de to kolonner sammen!
Avatar billede l_otto Nybegynder
24. juni 2003 - 14:51 #20
ok, hvordan skal den se ud hvis den skal ind før denne her og hvordan skal str sql se ud  ?

strSQL = "Select * From bruger where spilledag = 'Lordag 28-08-03' Order By spilletid "
Avatar billede carpediem Nybegynder
24. juni 2003 - 17:53 #21
Når du ikke vil overholde de tidsystemer, vi bruger her på jorden, så kan det ikke lade sig gøre i en sql sætning.
Så må du lave to.
Først en der tager dem fra 12.00 til 23.59
Derneæst en der tager dem mellem 00.00 og 04.00
Altså noget lign:
strSQL = "Select * From bruger where spilledag = 'Lordag 28-08-03' AND Spilletid BETWEEN '12.00' AND '23.59' Order By spilletid "
  'Udskriv resultat
strSQL = "Select * From bruger where spilledag = 'Lordag 28-08-03' AND Spilletid BETWEEN 00.00' AND '04.00' Order By spilletid "
  'Udskriv resultat
Avatar billede l_otto Nybegynder
25. juni 2003 - 07:39 #22
det virker lige som det skal.... perfekt
Avatar billede netro Nybegynder
25. juni 2003 - 12:00 #23
Det var da godt...
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