webForumDet fria alternativet

Välja ut månad ur ett datum?

5 svar · 494 visningar · startad av Skogiz

SkogizMedlem sedan feb. 200395 inlägg
#1

Jag har ett wewbformulär där man gör en sökning och bland annat väljer vilken månad man vill göra sökningen under

Formuläret retunerar 01 till 12 beroende på vilken månad man valt (01 = januari osv)

 bla bla bla... AND databasnamn.Datum LIKE '" & 2003- & Request.Form("vald_manad") & "'

Så ser koden ut som jag har nu vilket ger syntax fel.

Det jag vill är att den utgår som i koden att året är 2003 och lägger in svaret från formuläret och gör en sökning.

Väljer jag januari ska den då placera in 01 så att sökningen bli

LIKE 2003-01 så att jag får alla poster under januari.

Tack på förhand :bire

/F

Engine^Medlem sedan dec. 20003 887 inlägg
#2
strSQL = "WHERE ... AND Datum BETWEEN #" & DateAdd("d", -1, FormatDateTime(Year & "-" & Request.Form("vald_manad") & "-01", 2)) & _
"# AND #" & DateAdd("M", 1, FormatDateTime(Year & "-" & Request.Form("vald_manad") & "-01", 2)) &  "#"
SkogizMedlem sedan feb. 200395 inlägg
#3

När jag kör den koden får jag

Microsoft VBScript runtime error '800a01c2'

Wrong number of arguments or invalid property assignment: 'Year'

Är man tvungen att använda BETWEEN?

Går det inte att köra sökningen med wildcard? T.ex 2003-01-*

Då borde det väl "bara" vara att ta request.form på månaden man söker så att det placeras in rätt i sökkoden...(?)

Så att det blir något sådant här

WHERE bla bla bla.... AND databasnamn.Datum LIKE '2003" & "-" & Request.Form("vald_manad") & "-" & "*'
Engine^Medlem sedan dec. 20003 887 inlägg
#4

Tja.. har du datumen lagrad som en sträng så går det nog bra.

WHERE bla bla bla.... AND databasnamn.Datum LIKE '2003-" & Request.Form("vald_manad") & "%' [blue]' % Om du använder Access...[/blue]

Hade lite missar i mitt förra svar, men det bygger på att kolumnen är av typen Date/Time

strSQL = "WHERE ... AND Datum BETWEEN #" & DateAdd("d", -1, FormatDateTime(Year(Date) & "-" & Request.Form("vald_manad") & "-01", 2)) & _
"# AND #" & DateAdd("M", 1, FormatDateTime(Year(Date) & "-" & Request.Form("vald_manad") & "-01", 2)) &  "#"
SkogizMedlem sedan feb. 200395 inlägg
#5

Tack för hjälpen! :)

Engine^Medlem sedan dec. 20003 887 inlägg
#6

Varsågod.

133 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)