webForumDet fria alternativet

Plocka ut en månad (nuvarande)

11 svar · 500 visningar · startad av Sammy

SammyMedlem sedan maj 2000202 inlägg
#1

Jag undrar hur jag med detta kan plocka ut nuvarande månad, dvs att jag har en sida som bara ska visa resultat för den månad som det är idag, i nuläget.

strSQLuppsagning = "SELECT Count(*) As Antal FROM LOG where KATEGORI ='uppsagning' AND PROJEKT ='1' "

I databasen sparas datumformatet som nu(), dvs. 2004-04-20 15:20:13

Tacksam för svar...

LarsGMedlem sedan dec. 200012 464 inlägg
#2
SELECT Count(*) As Antal 
FROM LOG 
where KATEGORI ='uppsagning' 
AND PROJEKT ='1' 
and extract(year from current_date) = extract(year from dateColumn)
and extract(month from current_date) = extract(month from dateColumn)

I databasen sparas datumformatet som nu(), dvs. 2004-04-20 15:20:13

Det hoppas jag att det inte gör utan att det lagras som en timestamp.

SammyMedlem sedan maj 2000202 inlägg
#3

Det hoppas jag att det inte gör utan att det lagras som en timestamp.

Vad exakt menar du med det?

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Om du använder en kolumn av typen timestamp (datetime i vissa DBMS) så lagras värdet inte i formatet 2004-04-20 15:20:13 utan som ett numeriskt värde.

När du skriver att du lagrar det i formatet 2004-04-20 15:20:13 så fick jag en tanke om att du lagrar det som en sträng och det är det man inte skall göra.

SammyMedlem sedan maj 2000202 inlägg
#5

Timestamp översatt på svenska till acess är det då tidsträng?

SammyMedlem sedan maj 2000202 inlägg
#6

Jag gjorde om datum formatet till datum() istället så kanske det är lättare att plocka ut nuvarande månad?

Förenklar det situationen LarsG? =)
Förutsätter du att SQL-satsen blir en helt annan då?

LarsGMedlem sedan dec. 200012 464 inlägg
#7

Eftersom det är Access så fungerar inte den SQL-sats som jag skrev (Det är access som inte följer standard.)

SELECT Count(*) As Antal 
FROM LOG 
where KATEGORI ='uppsagning' 
AND PROJEKT ='1' 
and year(date()) = year(dateColumn)
and month(date()) = month(dateColumn)

Det viktiga är att dateColumn är av typen date och inte text

SammyMedlem sedan maj 2000202 inlägg
#8

Jag får meddelandet:

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][Drivrutin för ODBC Microsoft Access] För få parametrar angavs. 1 förväntades.
/loggning/test.asp, line 101

och rad 101 är:

rstempuppsagning.open strSQLuppsagning, "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"

Kolumnen är i formatet Datum/tid översatt till svenska i Access.

 strSQLuppsagning = "SELECT Count(*) As Antal FROM LOG where KATEGORI ='uppsagning' AND PROJEKT ='1' and year(date()) = year(dateColumn) and month(date()) = month(dateColumn)"

Jag är tacksam för att du försöker hjälpa mig...

PalleMedlem sedan apr. 20003 174 inlägg
#9

Sammy skrev:

year(dateColumn)

dateColumn ska vara kolumnen i din databas som innehållet datumet..

SammyMedlem sedan maj 2000202 inlägg
#10

Nu gick det.. tack Palle och LarsG =)

SammyMedlem sedan maj 2000202 inlägg
#11

Om jag nu vill plocka ut från en viss månad då? Exempelvis April? Vad blir satsen då?

LarsGMedlem sedan dec. 200012 464 inlägg
#12

För april nuvarande år

... 
and year(date()) = year(dateColumn)
and 4 = month(dateColumn)
130 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)