---
title: "räkna poster.."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/12136-räkna-poster"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "icaaq"
published: "2001-10-15T17:39:00.000Z"
updated: "2001-10-17T08:00:00.000Z"
replies: 18
views: 403
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/asp/12136-räkna-poster"
---

# räkna poster..

## #1 — icaaq, 2001-10-15T17:39Z

Kan man räkan antalet poster man får ut via en SQL-sats utan att använda .getrows :q

Om det går hur gör man då?

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

## #2 — LarsG, 2001-10-15T17:47Z

<http://cgi.webforum.nu/wf/Forum11/HTML/001355.html>

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

## #3 — @nders, 2001-10-15T17:48Z

Om du öppnar recordsetet med en dynamisk cursor kan du använda objRs.RecordCount för att få reda på antalet poster utan att behöva ställa en separat fråga för det.

Mvh,

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

## #4 — icaaq, 2001-10-15T18:16Z

ok....tack ska testa när jag kommer hem :)

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

## #5 — icaaq, 2001-10-16T20:13Z

jag får bara:
**Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
ODBC driver does not support the requested properties.**

```
strSQL = "SELECT personid, F_FirstName, F_LastName FROM persons"&_
				"WHERE F_FirstName = '"&strFNamn&"' AND F_LastName = '"&strEnamn&"'"&_
				" AND F_user_id = "&strMMID
				'Öppnar en connection till db
				Set ObjConn = Server.CreateObject("ADODB.Connection")
					ObjConn.connectionString = "driver={MySQL};UID=root;PWD=;Database=xxxxxx;option=16384"
					ObjConn.Open
						Set ObjRS = Server.CreateObject("ADODB.Recordset")
							[b]ObjRS.Open strSQL, ObjConn, 1, 3[/b]
							'Lägger in hur många personer som stämmer in på SQL-Satsen
							intAntalPerson = ObjRS.RecordCount
```

Någon lär ju se vad som är fel :q

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

## #6 — icaaq, 2001-10-16T21:07Z

Kan det ha nått att göra med att jag numera kör med mySQL??

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

## #7 — LarsG, 2001-10-16T21:12Z

Jo, felmeddelandet pekar åt det hållet.

Har du testat med andra kombinationer av cursortype och locktype?

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

## #8 — icaaq, 2001-10-16T21:13Z

Jag har testat 3, 3
Men ....vilka andra har du att erbjuda?

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

## #9 — LarsG, 2001-10-16T21:16Z

Om du tittar under cursortype och locktype så står det.

 <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdmthrstopen.asp> 

Varför kan du inte använda getrows eller ett frikopplat recordset?

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

## #10 — icaaq, 2001-10-16T21:20Z

oo.....

det jag vill är att kolla om det finns någon person med i tabellen persons med hjälp av strSQL

Finns det en(1)  sån ska bara positionstabellen uppdateras ........
Finns det två(2) så ska man välja vilken som ska uppdateras..........
Finns det ingen (0) så ska både persons och positions uppdateras.......

men som sagt ....det vill inte funka...

Jag ska testa lite andra cursortypes :l

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

## #11 — icaaq, 2001-10-16T21:43Z

```
		'Kollar om Spelaren finns i Tabellen persons
		strSQL = "SELECT personid, F_FirstName, F_LastName FROM persons "&_
				"WHERE F_FirstName = '"&strFNamn&"' AND F_LastName = '"&strEnamn&"'"&_
				" AND F_user_id = "&strMMID
				'Öppnar en connection till db
					Set Objconn = Server.CreateObject("ADODB.Connection") 
						Objconn.ConnectionString = "driver={MySQL};UID=root;PWD=;Database=medimatch;option=16384"
						Objconn.open
						Set ObjRS = Server.CreateObject("ADODB.RecordSet")
							ObjRS.Open strSQL, ObjConn, 1, 3
							'Lägger in hur många personer som stämmer in på SQL-Satsen
							intAntalPerson = ObjRS.RecordCount
							Response.Write "antal person som finns: "&intAntalPerson
							If intAntalPerson = 1 Then
```

Nu verkar den funka....för jag får inge felmess men jag får:

```
antal person som finns: [b]-1[/b]
```

Jag vet att det finns en post med det jag har postat för det har jag kört i frontmySQL ....

Hur kan det bli **\-1**??

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

## #12 — LarsG, 2001-10-16T21:46Z

\-1 tolkas som att det finns poster men man vet inte hur många.

Kan du inte använda count i din select-sats då?

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

## #13 — icaaq, 2001-10-16T21:49Z

Jag har testat denna:

```
strSQL = "SELECT personid, F_FirstName, F_LastName, " & _
" COUNT(*) as intAntal " & _ 
" FROM persons"&_
"WHERE F_FirstName = '"&strFNamn&"' AND F_LastName = '"&strEnamn&"'"&_
" AND F_user_id = "&strMMID
```

men jag får då:

```
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[TCX][MyODBC]Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is [b]illegal[/b] if there is no GROUP BY clause
```

 :(

OT: Kan jag åka dit för det där ??(feta texten alltså ;) )

\[red.\] Glömde en liten men ack så viktig ;) \[/red.\]

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

## #14 — icaaq, 2001-10-16T21:59Z

Har du nått annat förslag?

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

## #15 — LarsG, 2001-10-16T22:08Z

Om man blandar count och andra kolumner så måste man lägga på group by också. 
Group by innebär att man gör count för varje unik kombination av de kolumner som ingår.

Men det verkar inte passa i ditt fall då du vill ha personid också och den är väl unik? Jag ser inte hur du kan få ihop det med en fråga i Mysql.

Antingen kan du testa flera varianter av cursortype eller så kan du testa med att lägga in ett anrop till movelast innan du använder recordcount.

Eller använd ett frikopplat recordset eller getrows eller tarversera recordsetet och räkna själv.

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

## #16 — icaaq, 2001-10-16T22:09Z

Jag får väll göra så da...men det blir imorron ...tack igen .. :)

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

## #17 — PatrikB, 2001-10-16T23:12Z

Testa med att ändra cursorlocation och cursortype och locktype:

```
Set ObjRS = Server.CreateObject("ADODB.RecordSet")
ObjRS.CursorLocation = 3 '## -- adUseClient
ObjRS.Open strSQL, ObjConn, 3, 1
```

cya,
PatrikB

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

## #18 — icaaq, 2001-10-17T05:49Z

:e Weeeeeeeee

Jag kom en bit på vägen nu iaf...tack PatrikB :)

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

## #19 — Janspeed, 2001-10-17T08:00Z

Själv så loopar jag bara genom alla recordsetet. Har väl fått för mig att det går snabbare?

Har aldrig riktigt kommit underfund med vad som är sbabbaste sättet? Jag är inte heller riktigt säker på vad alla attribut till Open betyder?

```
Set rs = Conn.Execute(SQL)

Do Until rs.EOF

count = count +1
rs.MoveNext

Loop

rs.MoveFirst
```

/JANspeed

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/12136-räkna-poster
