webForumDet fria alternativet

SELECT antal från ett formulär

ASP

5 svar · 190 visningar · startad av Palleman

Medlem sedan dec. 2000557 inlägg
Frågan#1

Hej.

Hur 17 gör jag för att kunna hämta antal poster från databasen som bestäms via ett formulär.

ex.

strAntal = Request.Form("ant")

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & db_string
SQL = "SELECT [b]strAntal[/b] * FROM tabell ORDER BY ID DESC"
Set RecSet = Connect.Execute(SQL)

Jag får bara inte till det... :OO
Anyskäl?

------------------
// Palleman
www.wiicom.nu/palle

red. Ville ha en smiley...

[Redigerat av Palleman den 06 maj 2001]

Medlem sedan aug. 2000234 inlägg
#2

Man kan väl skriva typ:
SELECT TOP 5 * FROM TABELL;

Detta hämtar 5 rader från databasen. Så det blir:
SQLstmt = "SELECT TOP " & strAntal & " FROM TABELL;

Medlem sedan dec. 2000557 inlägg
#3

Hej.

Jo jag trodde också det först, men fick det inte att fungera eftersom jag även ville att man skulle kunna plocka ur ALLA poster ur databasen.

Jag fick köra en liten IF-sats som lade till TOP till strAntal om formuläret var större än 0.

Så nu fungerar det bra. =)

------------------
// Palleman
www.wiicom.nu/palle

Medlem sedan dec. 1999653 inlägg
#4

nja, det blir inte riktigt så... tror du tänkt rätt men skrivit fel :)

strAntal = Request.Form("ant")
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & db_string
SQL = "SELECT TOP "& strAntal &" * FROM tabell ORDER BY ID DESC"
Set RecSet = Connect.Execute(SQL)

mvh.

------------------
void[]
stash/$gu&-public(querystring)/n int{}bind "2" "say i own!" :)

Medlem sedan juni 20003 169 inlägg
#5

Jag fick köra en liten IF-sats som lade till TOP till strAntal om formuläret var större än 0.

Så påhittigt... ;) :p

------------------
"Datorer behöver i framtiden inte väga mer än 1,5 ton."
Popular Mechanics, 1949

[Redigerat av Wiberg den 06 maj 2001]

Medlem sedan dec. 2000557 inlägg
#6

nakoz:
Det var mest för att visa var den skulle sitta. ;)

Eftersom strAntal även kunde vara -> <- (inget) så gick det inte att köra så.

Bytte till Querystring istället och körde en IF-sats:

If Request.Querystring("antal") = "" Then
	strAntal = ""
Else
	strAntal = "TOP "& Request.Querystring("antal")
End If

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & db_string
SQL = "SELECT "& strAntal &" * FROM tabell ORDER BY ID DESC"
Set RecSet = Connect.Execute(SQL)

Så får jag med TOP när det är mer än 0 som ska visas. Så nu går det. :)

Thanx anyvaj.

------------------
// Palleman
www.wiicom.nu/palle

273 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
144 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)