Avatar billede agerled Nybegynder
24. oktober 2003 - 21:49 Der er 22 kommentarer

noget galt i denne sætning

Her er min kode:

<% set chanceday = openrecordset("select * from SMSChancen_Log where closed = 0 AND chance = 'DagsChancen'") %>

<%
if now() > chanceday("date_end") then
chanceday("closed") = "1"
chanceday.update()
set restart = openrecordset("select top 1 * from SMSChancen_log where chance = 'DagsChancen' AND closed = 2 AND " & FormatDateTime(("date_start"), 2) & " = " & FormatDateTime(chanceday("date_end"), 2) & "")
restart("closed") = "0"
restart.update()
set restart = nothing
end if
%>

Nogen der kan se en fejl i den anden select sætning. Jeg er ret sikker på at det er når den skal sammenligne de to datoer...???
Avatar billede socle Nybegynder
24. oktober 2003 - 22:09 #1
FormatDateTime(("date_start"), 2) & " = " & FormatDateTime(chanceday("date_end"), 2) & "")

altså en kolonne der hedder FormatDateTime(("date_start"), 2) ?

så skal der # rundt om datoer i sql sætninger, altså:
"#" & FormatDateTime(chanceday("date_end"), 2) & "#"
Avatar billede agerled Nybegynder
24. oktober 2003 - 22:12 #2
på den her måde:

set restart = openrecordset("select top 1 * from SMSChancen_log where chance = 'DagsChancen' AND closed = 2 AND "# & FormatDateTime(("date_start"), 2) & #" = "# & FormatDateTime(chanceday("date_end"), 2) & #"")


for det virker nemlig slet ikke...??
Avatar billede socle Nybegynder
24. oktober 2003 - 22:17 #3
nej, kun rundt om den sidste. altså:

set restart = openrecordset("select top 1 * from SMSChancen_log where chance = 'DagsChancen' AND closed = 2 AND " & FormatDateTime(("date_start"), 2) & " = #" & FormatDateTime(chanceday("date_end"), 2) & "#")
Avatar billede agerled Nybegynder
24. oktober 2003 - 22:22 #4
hmm, det virker stadig ikke. der må være et eller andet galt.

hvis jeg sletter så den kun ser sådan her ud:

set restart = openrecordset("select top 1 * from SMSChancen_log where chance = 'DagsChancen' AND closed = 2

...så virker det fint men jeg har brug for dat sammenligning...??
Avatar billede agerled Nybegynder
24. oktober 2003 - 22:31 #5
kan det være fordi date_end fra den første select dætning på en eller anden måde ikke bliver overført rigtigt???
Avatar billede socle Nybegynder
24. oktober 2003 - 22:33 #6
der er også noget galt her:

FormatDateTime(("date_start"), 2)

("date_start") er en streng, den kan du vel ikke formatere med FormatDateTime eller hva?

skulle der have stået chanceday("date_start") ?
Avatar billede agerled Nybegynder
24. oktober 2003 - 22:35 #7
jeg bruger formatdatetime for kun at sammenligne dato og ikke klokkeslet..
Avatar billede agerled Nybegynder
24. oktober 2003 - 22:36 #8
Jeg har prøvet at fjerne formatdatetime begge steder, men det virker stadig ikke...?
Avatar billede socle Nybegynder
24. oktober 2003 - 22:39 #9
sorry, ikke præcist nok:
FormatDateTime(("date_start"), 2)
erstattet med
FormatDateTime(chanceday("date_start"), 2)
Avatar billede agerled Nybegynder
24. oktober 2003 - 22:40 #10
hvad mener du? Jeg skal jo sammen ligne date_start med date_end  ....?
Avatar billede socle Nybegynder
24. oktober 2003 - 22:47 #11
set restart = openrecordset("select top 1 * from SMSChancen_log where chance = 'DagsChancen' AND closed = 2 AND " & FormatDateTime(chanceday("date_start"), 2) & " = #" & FormatDateTime(chanceday("date_end"), 2) & "#")
Avatar billede agerled Nybegynder
24. oktober 2003 - 22:49 #12
det går ikke. jeg skal jo bruge date_start fra "restart" og date_end fra "chanceday"....?
Avatar billede socle Nybegynder
24. oktober 2003 - 22:53 #13
jeg er ikke helt sikker på hvad det er du vil... hvilke datoer er det der skal sammenlignes? ligger de i den samme tabel, eller hvordan?
Avatar billede socle Nybegynder
24. oktober 2003 - 22:56 #14
ok, i første omgang:

set restart = openrecordset("select top 1 * from SMSChancen_log where chance = 'DagsChancen' AND closed = 2 AND date_start = #" & FormatDateTime(chanceday("date_end"), 2) & "#")

der _kan_ være problemer med datoformatet i FormatDateTime(chanceday("date_end"), 2).
Avatar billede socle Nybegynder
24. oktober 2003 - 23:03 #15
jeg har haft success med:

session.lcid = 1030
cdat = chanceday("date_end")
cdat = year(cdat) & "-" & right(0 & month(cdat), 2) & "-" & right(0 & day(cdat), 2)
set restart = openrecordset("select top 1 * from SMSChancen_log where chance = 'DagsChancen' AND closed = 2 AND date_start = #" & cdat & "#")
Avatar billede agerled Nybegynder
24. oktober 2003 - 23:09 #16
det virkede desværre heller ikke!

Jeg uddyber lige.
Datoerne ligger i samme tabel. Tabellen indeholder nogle konkurrencer. Når en kunkurrence er åben er closed = 0 og når den venter på at blive aktiveret er closed = 2 (closed = 1 så er den lukket)

Jeg sætter et start og slut tidspunkt for hver konkurrence. Når Now() så er større en date_end på den aktive konkurrence skal closed sættes til 1 og en ny skal startes op. Altså den nye skal ændres fra closed = 2 til closed = 0. Konkurrencerne slutter på samme tidspunkt som den efterfølgende starter. Meningen med at sammeligne de to tidspunkter er at på den måde kan jeg ligge flere ventene konkurrencer ind.... håber du forstår det lidt bedre nu???
Avatar billede socle Nybegynder
24. oktober 2003 - 23:37 #17
hva med det her?
hvis ik det virker, ka du så ik sende nogle fejlmeldinger

session.lcid = 1030
if now() > Cdate(chanceday("date_end")) then
chanceday("closed") = "1"
chanceday.update()
cdat = Cdate(chanceday("date_end"))
cdat = year(cdat) & "-" & right("0" & month(cdat), 2) & "-" & right("0" & day(cdat), 2)

set restart = openrecordset("select top 1 * from SMSChancen_log where chance = 'DagsChancen' AND closed = '2' AND date_start = #" & cdat & "#")

restart("closed") = "0"
restart.update()
restart.close
set restart = nothing
end if
Avatar billede agerled Nybegynder
24. oktober 2003 - 23:44 #18
virker heller ikke!

Jeg får egentlig ingen fejlmeldinger...?
Avatar billede socle Nybegynder
24. oktober 2003 - 23:56 #19
i stedet for
if now() > chanceday("date_end") then

så prøv at bruge
if datediff("d", Cdate(chancedate("date_end")), now) > 0 then

(måske skal > vendes til <)
Avatar billede agerled Nybegynder
25. oktober 2003 - 00:09 #20
stadig ikke. jeg tror snart jeg giver op :-). læg et svar så skal du nok få point. ellers tak for al hjælpen.
Avatar billede eagleeye Praktikant
25. oktober 2003 - 00:25 #21
Hvilken database bruger du?
Og hvilket format de kolonner som har med dato at gøre Date/Time eller tekst?
Avatar billede agerled Nybegynder
25. oktober 2003 - 11:03 #22
Jeg bruger MS SQL og datofelterne er "smalldatetime" ....
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