---
title: "SQL/VBScript"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/88953-sql-vbscript"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Karin_Parin"
published: "2003-10-20T07:00:10.000Z"
updated: "2003-10-21T07:40:50.000Z"
replies: 8
views: 289
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/88953-sql-vbscript"
---

# SQL/VBScript

## #1 — Karin_Parin, 2003-10-20T07:00Z

Godmorgon!
Har ett problem...med det här scriptet..
trots att det finns värden i databasen och anslutningen är rätt (för jag har lyckats hämta alla värden) men själva funktionen
tmpDate = DateAdd("d", -1,now()) vill inte fungera, vad kan tänkas att jag gör för fel...
Supertacksam för all hjälp!:)

```
<%
StartTime = now 'när sidan startades
tmpDate = DateAdd("d", -1,now())

Set objCommand= Server.CreateObject("ADODB.Command")
objCommand.ActiveConnection = objConn
objCommand.CommandType = adCmdText

SQL = "SELECT COUNT(HitsID) as CNT FROM tblHits WHERE Datum BETWEEN '" & Now() & "' AND '"& tmpDate &"' "
Set objRS = objConn.Execute(SQL)
DayUsers= objRS("CNT") 
objRS.Close 
Set objRS = Nothing
objConn.Close : Set objConn = Nothing

%>

<body>Den senaste dagen har <%=DayUsers%> varit inne på test.asp
</body>
```

Permalänk: https://www.webforum.nu/p/88953

## #2 — Engine^, 2003-10-20T07:21Z

Morrn morrn

Du skapar ett objCommand, men du använder objConn...

Annars så ska väl inte *Now* ha några paranteser.

Sedan så är det väl lite förvillande att du använder Now, eftersom det inte, som du har det nu, ger den senaste dagens besökare utan dom senaste 24 timmarnas besökare...

```
SQL = " SELECT Count(HitsID) As CNT FROM tblHits WHERE Datum >= '" & DateAdd("d", -1, Date) & "'"
```

Brasklapp: Om du använder Access tidigare än 2002 ska ditt datum vara omslutet av #.

Permalänk: https://www.webforum.nu/p/1190244

## #3 — Karin_Parin, 2003-10-20T12:12Z

Ok..förvirrad verkar jag vara..men det är ju måndag trots allt..
Har iaf gjort så här

```
Day(Datum)  
SQL = "SELECT PageID,COUNT(*) AS antal FROM tblHits WHERE Day(Datum) = Day('" & Now() & "') GROUP BY PageID ORDER BY PageID"
Set objRS = objConn.Execute(SQL)
Response.Write"<b>Antal hits idag :</b> " & (Year(Date()) & "-" & Right("0" & Month(Date()), 2) & "-" & Right("0" & Day(Date()), 2))& "<BR>"
Do While Not objRS.EOF
Response.Write"<table ><tr><td>" & (objRS("PageID"))& "</td>"
Response.Write"<td><b>Antal besökare:</b></td><td>" & (objRS("antal"))& "</td></tr></table>"
objRS.MoveNext
loop
```

vilket fungerar alldeles utmärkt men nu undrar jag om det finns någon som kan förklara hur jag gör för att få ut antal besökare senaste timmen från en SQL databas.
Tack så länge!

Permalänk: https://www.webforum.nu/p/1190403

## #4 — Engine^, 2003-10-20T12:58Z

```
SELECT PageID, Count(*) AS antal
FROM tblHits
WHERE Hour(Datum) >= Hour(Now()) - 1 AND Date(Datum) = Date()
GROUP BY PageID
ORDER BY PageID
```

Kan det bli rätt?

Permalänk: https://www.webforum.nu/p/1190450

## #5 — Karin_Parin, 2003-10-20T13:37Z

Ok, nu har jag provat med följande SQL sats..

```
SQL = "SELECT PageID,COUNT(*) AS antal FROM tblHits WHERE Hour(Datum) = Hour('" & Now() & "') GROUP BY PageID ORDER BY PageID"
```

men då får jag dock följande felmeddelande ...
'Hour' is not a recognized function name.

Permalänk: https://www.webforum.nu/p/1190491

## #6 — @nders, 2003-10-20T13:40Z

I SQL Server finns mig veterligen inte funktionen Hour() (eller andra besläktade funktioner), utan du får använda dig av DatePart().

```
SQL = "SELECT PageID,COUNT(*) AS antal FROM tblHits WHERE DatePart(hour, Datum) = DatePart(hour, '" & Now() & "') GROUP BY PageID ORDER BY PageID"
```

**red:** Du behöver inte heller bryta strängen för att lägga in ett asp-now(), utan du kan gott köra med **getdate()** eller **current_timestamp** direkt i SQL-frågan. 

Om det inte är tidsskillnader mellan webserver och databasserver och det verkligen är webserverns tid du vill åt.

Mvh

Permalänk: https://www.webforum.nu/p/1190494

## #7 — Engine^, 2003-10-20T13:44Z

Aäee... du sa ju att det var SQL-Server... 

```
SELECT PageID, Count(*) AS antal
FROM tblHits
WHERE DatePart(hour, Datum) >= DatePart(hour, GetDate()) - 1 AND Datum = GetDate()
GROUP BY PageID
ORDER BY PageID
```

**red.**
Glömde - 1 :)

Permalänk: https://www.webforum.nu/p/1190500

## #8 — Karin_Parin, 2003-10-20T14:50Z

Ok, tack @nders, nu fungerar det kanoners! 
Men nu har jag en till undran...Har ett fält i db där veckonummer lagras och nu skulle jag vilja få ut antal hits den senaste veckan..men jag får inte till det...fältet där vecka sparas heter VeckoNummer i db ..
Det är väl fel i WHERE DatePart..hur ska jag skriva..hmmm..

```
SQL = "SELECT PageID,COUNT(*) AS antal FROM tblHits WHERE DatePart("ww",'"& now &"',VeckoNummer) = DatePart(ww, '" & Now() & "') GROUP BY PageID ORDER BY PageID"
```

Permalänk: https://www.webforum.nu/p/1190535

## #9 — Karin_Parin, 2003-10-21T07:40Z

Var visst inte riktigt med i matchen igår..så här var det visst bara att skriva

```
SQL = "SELECT PageID,COUNT(*) AS antal FROM tblHits WHERE VeckoNummer = DatePart(ww,'" & Now() & "') GROUP BY PageID ORDER BY PageID"
```

Tack för er hjälp!

Permalänk: https://www.webforum.nu/p/1190869

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/88953-sql-vbscript
