Jodå det funka, även min andra kod funka bra. Jag trodde jag skulle klara det sen då det såg ut att bara vara till att byta datumdelen. Men på denna koden vill det inte funka ändå:
sql = "update anvandare set energi = "&_
"iif(energi + energitot >= 1000,1000,energi + energitot), " & _
" nyenergi = date() where datediff('d',nyenergi,date()) > 0 "
connect.execute sql,,128
Vill ändra så att det ändras vid 6 timmar. Felet jag får är:
[TCX][MyODBC]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(energi + energitot >= 1000,1000,energi + energitot), nyenergi
/spel/check.asp, line 77
sql = "update anvandare set dagaraktiv = case when bshyrabet Is Null then 1 " & _
" when to_days(current_date) - to_days(bshyrabet) " & _
" >=1 then dagaraktiv+1 end, " & _
" bshyrabet = current_date "& _
" where namn = '"&namn&"'"
När man loggar in en gång till, då datumet redan är aktuellt så blir dagaraktiv tomt istället. :q
Blir det svårt att ändra den så att den lägger till ett efter 6 timmar istället?
" when to_days(current_date) - to_days(bshyrabet) " & _
" >=1
" when current_date - bshyrabet > 6*60*60 " & _
Men måste jag inte också ändra datumet så att det läggs till en tidpunkt och inte bara ett datum? Sen läggs fortfarande inget värde till när man loggar in.
Kan man lösa de frågorna med iif på något annat sätt?
Den koden som ska lägga till ett var 6:e timme. Om datumet är mer än 6 timmar gammalt så ändras den till aktuell som det ska, den lägger även till ett, men loggar man in en gång så blir posten i databasen tom.
sql = "update anvandare set dagaraktiv = case when bshyrabet Is Null then 1 " & _
" when current_date - bshyrabet > 6*60*60 " & _
" >=1 then dagaraktiv+1 end, " & _
" bshyrabet = current_date "& _
" where namn = '"&namn&"'"
connect.execute sql,,128
138 ms totalt · 3 externa anrop · v20260731065814-full.55e59744