datum fråga...

ASP

22 svar · 273 visningar · startad av Method

Medlem sedan apr. 2001357 inlägg
Trådstart#1

jag använder mig av denna sql-sats

SQL = "SELECT * From jobb WHERE datum >= date() ORDER BY ID DESC

när nån lägger upp ett jobb så skriver de in vilket datum de senast kan skicka in ansökan till jobbet, det datum använder jag för att de skall "försvinna" från sidan när det datumet har gått ut men jag vill att jobbet ligger kvar några dagar till efter att senast ansökningsdatum.

Vad skriver jag för variabel för att det skall ligga 5 dar efter utsatt datum?

tack på för hand

Jonas

Medlem sedan jan. 2001361 inlägg
#2

Hej,
Borde det inte gå om du plusar på datumet 5 dagar?
Typ:
Date = Date() + 5

Eller blir det fel då?

Mvh

Medlem sedan mars 2001339 inlägg
#3

Har du provat
DateAdd("D",5,Date())
Lägger på 5 dagar på dagens datum.

Medlem sedan apr. 2001357 inlägg
#4

vart lägger jag koden: DateAdd("D",5,Date())?????

Medlem sedan dec. 20003 563 inlägg
#5

Lägg till det när arbetsgivarna ska skriva sitt sista dag datumi databasen.
* Du ska väl ändå bara använda datumet till det.

Medlem sedan apr. 2001357 inlägg
#6

jag e newbie och trött i huvudet vid denna tiden, kan du förklara lite närmare.

Medlem sedan dec. 20003 563 inlägg
#7

När folk lägger in datumet i databasen så anger de ett datum antagligen i formulär.
Istället för att bara lägga in det direkt i databasen så skriver man
datum = dateadd("d", 5, cdate(request.form("datum"))) och lägger in variabeln datum istället.

* Lite svårt att specifiera när jag inte har den blekaste hur du lägger in det i databasen. ;)

Medlem sedan apr. 2001357 inlägg
#8

på cyprus förslag så blir det datumet man skriver + 5 dagar, men jag vill ha at det står det datumet man skrev in för sista ansökningsdatumet men när man hämtar ur databasen med SQL frågan så skall det jobbet ligga kvar några dar extra.

Hoppas att Ni förstår vad jag menar ;)

MVH

JOnas

Medlem sedan dec. 20003 563 inlägg
#9

SQL = "SELECT * From jobb WHERE dateadd("d", 5, datum) =< date ORDER BY ID DESC

Medlem sedan apr. 2001357 inlägg
#10

Jag får följande fel:

Microsoft VBScript compilation error '800a0401' 

Expected end of statement 

/jobb/index.asp, line 64 

SQL = "SELECT * From jobb WHERE dateadd("d", 5, datum) =< date ORDER BY ID DESC
-----------------------------------------^
Medlem sedan dec. 200012 464 inlägg
#11
SQL = "SELECT * From jobb WHERE dateadd('d', 5, datum) =< date ORDER BY ID DESC"

eller

SQL = "SELECT * From jobb WHERE dateadd(""d"", 5, datum) =< date ORDER BY ID DESC"
Medlem sedan apr. 2001357 inlägg
#12

Nu fick jag (Ni) nåt nytt att bita i ;)

Microsoft OLE DB Provider for ODBC Drivers error '80040e14' 
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'dateadd('d', 5, datum) =< date'. 

/jobb/index.asp, line 65
Medlem sedan dec. 200012 464 inlägg
#13
SQL = "SELECT * From jobb WHERE dateadd('d', 5, datum) [b]<=[/b] date ORDER BY ID DESC"

Jag skyller på Cyprys ;)

Medlem sedan feb. 20012 412 inlägg
#14

Tja!

Har för mig att det inte blir bra om man skriver:

=< utan måste skriva <=

med risk för att jag turnerar... :e

r: hmm skrev nog samtidigt som LarsG :(

jörgen

Medlem sedan apr. 2001357 inlägg
#15

man kan säga så här: det blev ett nytt fel ;)

Microsoft OLE DB Provider for ODBC Drivers error '80040e10' 
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1. 

/jobb/index.asp, line 65
Medlem sedan dec. 20003 563 inlägg
#16

:r

Medlem sedan feb. 20012 412 inlägg
#17

Datum är inte riktigt bra att använda som fältnamn, vet ej ifall det beror på det, men prova klammra datum: [datum]

mvh Jörgen

Medlem sedan juni 2000126 inlägg
#18

Hej,

det går inte att skriva dateadd som SQL-kommando utan det är ett vbscript-kommando och det måste skrivas utanför SQL-strängen,
så prova att skriva så här istället:

SQL = "SELECT * From jobb WHERE datum>=" & dateadd('d', -5, date())& " ORDER BY ID DESC"

om du har en SQL-server som databas.

Har du access så måste du skriva så här:

SQL = "SELECT * From jobb WHERE datum>=#" & dateadd('d', -5, date())& "# ORDER BY ID DESC"

då hämtar den ut alla poster som har datumet för 5 dagar sen och större datum.

Lycka till!
/Jonas

Medlem sedan dec. 200012 464 inlägg
#19

Funktionen dateadd finns i ett flertal DBMS, däribland Sql Server, Sybase och Access (Jet). (Den skiljer sig dock något med avseende på syntax mellan dessa implementationer.)

Däremot så finns den inte med i SQL-standarden.

Medlem sedan juni 2000126 inlägg
#20

Ojdå... :r
Det är lätt att bli lite självgod ibland...

Men blir det inte enklare om man skriver ut datumet med vbscript...
Ja, ja enklare och enklare... det är det sättet jag hade gjort det på iaf.

Du kan ju prova, Method, och se om mitt sätt fungerar.

/Mvh Jonas

265 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)