Avatar billede kornfreak Nybegynder
22. marts 2000 - 10:00 Der er 35 kommentarer og
1 løsning

rs.recordcount

Jeg har prøvet denne formel (rs.recordcount) til at tælle hvor mange indlæg der er i en database, men den virker ik, er der nogen der kender en anden kommando?
Avatar billede nba1 Nybegynder
22. marts 2000 - 10:15 #1
Prøv med
strSQL="SELECT count(felt) AS antal FROM tabel"
Avatar billede stoffer Nybegynder
22. marts 2000 - 10:20 #2
RS.recordcount virker også fint, men du skal huske at lave et recordset og ikke connect.execute
22. marts 2000 - 10:21 #3
Sjovt nok, det sad jeg lige og arbejdede med.
nba1 har 100% ret.
Jeg arbejder på denne:
SQL = " select count(ugedag) as antal from users where ugedag BETWEEN '"& ugedag-3 &"' and '"& ugedag+4 &"';"

cool ;)
Avatar billede kornfreak Nybegynder
22. marts 2000 - 10:41 #4
Eh..min formel er lidt underlig da det er en form for søgemaskine, den ser sådan ud:


strSQL = "SELECT ID, fil, størrelse, kategori, Beskrivelse, dato, download, navn, email, hp FROM Kunder WHERE"
strSQL = strSQL & " (fil LIKE '%" & strKeyword & "%')"


strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("search_2000.mdb")
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN

Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then %>


hvor og hvad skal jeg indsætte noget for at den viser antal af "emner" den kalder op? og er det muligt at vise alle i den datbase selvom de ikke bliver vist?? :o)
Avatar billede nba1 Nybegynder
22. marts 2000 - 10:51 #5
du kan gøre følgende:
countSQL="SELECT count(ID) AS antal FROM kunder"
Set nyRS = myConn.execute(countSQL)
Response.write nyRS("antal")
Avatar billede kornfreak Nybegynder
22. marts 2000 - 10:56 #6
Den virker...men hvordan kan jeg få den til at tælle de poster den viser, da den søger efter ord i databasen og kun viser dem? :o)
Avatar billede nba1 Nybegynder
22. marts 2000 - 10:56 #7
sæt det efter myConn.open strDSN
og husk
set rs = server.createObject("ADODB.recordset")
set nyRS = server.createObject("ADODB.recordset")
Avatar billede nba1 Nybegynder
22. marts 2000 - 11:02 #8
Hvis jeg forstår dig ret, så kan du gøre følgende:
skriv nyrs efter rs og skriv
countSQL="SELECT count(ID) AS antal FROM kunder WHERE ID="& rs("id")
sæt evt. rs("id") til en variabel
Avatar billede kornfreak Nybegynder
22. marts 2000 - 11:11 #9
Så får jeg bare :

Der opstod en Microsoft VBScript-kørselsfejl error '800a000d'

Typerne passer ikke sammen: 'nyRS'

/Download/search.asp, line 86
Avatar billede nba1 Nybegynder
22. marts 2000 - 11:32 #10
Hvad står der i linien?
Avatar billede kornfreak Nybegynder
22. marts 2000 - 11:35 #11
countSQL="SELECT count(ID) AS antal FROM kunder WHERE ID="& nyRS("id")
Avatar billede nba1 Nybegynder
22. marts 2000 - 11:37 #12
det skal også være det gamle recordset:
rs("id")
altså where id=" & rs("id")
Avatar billede kornfreak Nybegynder
22. marts 2000 - 11:39 #13
Så får jeg bare :
Der opstod en Microsoft VBScript-kørselsfejl error '800a000d'

Typerne passer ikke sammen: 'rs'

/download/search.asp, line 86
Avatar billede nba1 Nybegynder
22. marts 2000 - 11:52 #14
prøv at sende nogle flere linier, så jeg kan få et overblik
Avatar billede kornfreak Nybegynder
22. marts 2000 - 11:54 #15
okay :o)
<%
' Henter værdien denindtastede søgning
strKeyword = Trim(Request.Form("Keyword"))
If Len(strKeyword) = 0 Then
    ' Hvis der ikke er skrevet i feltet
    Response.Clear
    Response.Redirect("search.htm")
Else
    ' Hvis der er skrevet i feltet
    strKeyword = Replace(strKeyword,"'","''")
   
End If
' Opbygger en dynamisk SQL streng

strSQL = "SELECT ID, fil, størrelse, kategori, Beskrivelse, dato, download, navn, email, hp FROM Kunder WHERE"
strSQL = strSQL & " (fil LIKE '%" & strKeyword & "%')"
countSQL= "SELECT count(id) AS antal FROM kunder"
countSQL="SELECT count(ID) AS antal FROM kunder WHERE ID="& rs("id")

' Skaber DSNLess forbindelse til DBen
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("search_2000.mdb")
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN


' Skaber et recordset udfra SQL strengen
Set rs = myConn.Execute(strSQL)
Set nyRS = myConn.execute(countSQL)
If Not (rs.BOF Or rs.EOF) Then %>

   
    <center> | <a href='search.htm'><b>Søg igen</a> | <a href='http://www.adichat.dk'>Forsiden</a> | <p>
    <center><table border='0' cellspacing='0' height='1'>
  <tr valign='center'><td colspan='2' height='1' bgcolor='#000000'>
  <b><font face='verdana' size='2' color='ffffff'>Søgeresultat:</b></font>
  <table align='center' bgcolor='#262636' cellspacing='0' cellpadding='0' border='0'>
  <TABLE CELLSPACING='1' CELLPADDING='4' BORDER='0'><TR BGCOLOR='363754'>
  <HR WIDTH='100%' COLOR='#585858' SIZE='1'><font size='1'></tr>Der er i øjeblikket <%=nyRS("antal")%> poster i vores database.
  <%=rs("antal")%>
      <tr><td>Filnavn</td><td>Størrelse</td><td>Kategori</td><td>Info</td><td>Download</td>
    <% Do While Not rs.EOF %>
    </tr><TR BGCOLOR='363754'><td> <%=rs("fil")%> </td>
  <td> <%=rs("størrelse")%> kb.</td>
  <td> <%=rs("kategori")%> </td>
  <td><a href="java script:liste('info.asp?id=<%=rs("id")%>')"><img src='info.gif' border='0' alt='Info'></a>
  <td><a href="<%=rs("download")%>">(=Download=)</a></td>
   
<% rs.MoveNext
    Loop
       
Else
Response.Write "<p>Der er ikke fundet noget på denne søgning</p>"
End If


myConn.Close
Set myConn = Nothing
%>
Avatar billede nba1 Nybegynder
22. marts 2000 - 12:04 #16
prøv denne:
strSQL = "SELECT ID, fil, størrelse, kategori, Beskrivelse, dato, download, navn, email, hp FROM Kunder WHERE"
strSQL = strSQL & " (fil LIKE '%" & strKeyword & "%')"


' Skaber DSNLess forbindelse til DBen
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("search_2000.mdb")
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN

Set RS = Server.CreateObject("ADODB.recordset")
Set rs = myConn.Execute(strSQL)

varID = rs("ID")

countSQL="SELECT count(ID) AS antal FROM kunder WHERE ID="& varID

Set nyRS = Server.CreateObject("ADODB.recordset")
Set nyRS = myConn.execute(countSQL)

response.write nyRS("antal")
Avatar billede kornfreak Nybegynder
22. marts 2000 - 12:08 #17
Så siger den der er 1 post når der egentlig er 6 ?
Avatar billede nba1 Nybegynder
22. marts 2000 - 12:20 #18
skal det være poster ialt eller skal det være antal poster betinget af WHERE " (fil LIKE '%" & strKeyword & "%')"

for nu vælger den antal poster betinget af strSQL
Avatar billede ortrak Nybegynder
22. marts 2000 - 12:49 #19
du skal bruge en anden cursortype, for at kunne lave en recordcount. Default-cursortype(Adopenforwardonly) vil bare returnere -1. Du skal bruge Adopenstatic eller Adopendynamic. Eks.:

<!--#INCLUDE VIRTUAL="/ADOVBS.INC" -->
<%
' change these for your site
connectme="DSN=Student;uid=student;pwd=magic"
sqltemp="select * from publishers where state='NY'"
set rstemp=Server.CreateObject("adodb.Recordset")
rstemp.open sqltemp, connectme, adopenstatic
howmanyrecs=rstemp.recordcount
response.write howmanyrecs & " records in<br>" & sqltemp
rstemp.close
set rstemp=nothing

%>


/ortrak
Avatar billede kornfreak Nybegynder
22. marts 2000 - 12:51 #20
Nba1 >> den skal være betinget af WHERE " (fil LIKE '%" & strKeyword & "%')"
Avatar billede nba1 Nybegynder
22. marts 2000 - 13:09 #21
Prøv med denne:

Set nyRS = Server.CreateObject("ADODB.recordset")
nyrs.cursorType = adOpenStatic
Set nyRS = myConn.execute(countSQL)
Avatar billede kornfreak Nybegynder
22. marts 2000 - 13:14 #22
den viser stadig kun 1 :o(
Avatar billede nba1 Nybegynder
22. marts 2000 - 13:20 #23
prøv at indsætte dette:

Set rs = myConn.Execute(strSQL)


do while not rs.eof
    response.write "test af hvor mange id der er: " &  rs("id") & "<br>"
rs.movenext
loop

varID = rs("ID")
Avatar billede kornfreak Nybegynder
22. marts 2000 - 13:24 #24
Så står der :
test af hvor mange id der er: 7
test af hvor mange id der er: 8
test af hvor mange id der er: 9
test af hvor mange id der er: 11
test af hvor mange id der er: 14

ADODB.Field error '800a0bcd'

Enten er BOF eller EOF sand, eller den aktuelle post er blevet slettet. Den handling, programmet anmodede om, kræver en aktuel post.

/download/search.asp, line 112
Avatar billede nba1 Nybegynder
22. marts 2000 - 13:53 #25
prøv denne:
strSQL = "SELECT ID, fil, størrelse, kategori, Beskrivelse, dato, download, navn, email, hp FROM Kunder WHERE"
strSQL = strSQL & " (fil LIKE '%" & strKeyword & "%')"


' Skaber DSNLess forbindelse til DBen
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("search_2000.mdb")
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN

Set RS = Server.CreateObject("ADODB.recordset")
Set rs = myConn.Execute(strSQL)



varID = rs("ID")

countSQL="SELECT count(ID) AS antal FROM kunder WHERE ID="& varID


Set RS = myConn.execute(countSQL)

response.write RS("antal")
Avatar billede kornfreak Nybegynder
22. marts 2000 - 13:58 #26
hehe...nu skriver den bare 1 og at der ikke er fundet nogen poster...skal jeg ikke bare sende filen så du selv kan teste?
Avatar billede hmau Nybegynder
22. marts 2000 - 19:47 #27
Hvis du bruger flg. til at eksekvere din SQL-statement, virker RS.RecordCount.

Set RS = Server.CreateObject("ADODB.recordset")
RS.Open strSQL, DB, 3, 3

Det har noget at gøre med de parametre RS.Open får (her: 3, 3)

Deres nøjagtige betydning kan du finde på MSDN eller evt. spørge en her på eksperten
Avatar billede hmau Nybegynder
22. marts 2000 - 19:49 #28
I dit tilfælde skal DB i ovenstående skiftes ud med myConn ;)
Avatar billede ortrak Nybegynder
22. marts 2000 - 20:15 #29
kornfreak: Nu er der temmelig mange mennesker der har forslået at du angiver en anden cursor-type. Hvorfor prøver du ikke det?
Ændrer følgende i din originale kode:

Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then %>


Til:

set rs=Server.CreateObject("adodb.Recordset")
rs.open myConn, strSQL, adopenstatic
howmanyrecs=rs.recordcount
response.write howmanyrecs & " poster."

Og husk også: <!--#INCLUDE VIRTUAL="/ADOVBS.INC" --> i toppen af din fil. Har du ADOVBS.INC ?



/ortrak
Avatar billede kornfreak Nybegynder
22. marts 2000 - 20:33 #30
Ortark : Nope, tæller den så hvor mange der bliver vist eller hvor mange der er i databasen?
Avatar billede ortrak Nybegynder
22. marts 2000 - 21:17 #31
Du får talt de poster der bliver vist.

Du kan downloade filen her http://www.learnasp.com/adovbs.inc .
Læg den i roden af dit web. Du kommer givetvis til at bruge den igen en anden gang...


/ortrak
Avatar billede kornfreak Nybegynder
22. marts 2000 - 21:26 #32
Så får jeg bare:
Error Type:
ADODB.Recordset (0x800A0BB9)
Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
/Download/search.asp, line 45
Avatar billede ortrak Nybegynder
23. marts 2000 - 00:06 #33
stik mig hele koden...


/ortrak
Avatar billede kornfreak Nybegynder
23. marts 2000 - 08:07 #34
Sådan så den ud fra starten:


<% Response.Buffer = True %>
<html><head>
<title>Søgeresultat</title>
<STYLE>
    td        { font-family : Tahoma; font-size : 8pt; color : silver; }
    h1        { font-size : 8pt; font-weight : none; color: #333333; margin: 0px; }
    h2        { font-size : 8pt; font-weight : none; color: #333333; margin: 0px; }
    small    { font-size : 8pt; }

A:link    {text-decoration: none; color: #2392F9}
A:visited {text-decoration: none; color: #2392F9}
A:active  {text-decoration: none; color: #0000ff}
A:hover  {text-decoration: underline; color: ffffff}
</STYLE>
</head>
<body VLINK="#363754" LINK="#363754" BGCOLOR="#224467" TEXT="ffcc00" alink="#363754" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<script>
function liste(page) {
window.open(page, "CtrlWindow","maksimer=off,toolbar=no,menubar=no,location=no,scrollbars=no,resize=no,width=300,height=300,"); }
</script>
<%

strKeyword = Trim(Request.Form("Keyword"))
If Len(strKeyword) = 0 Then    Response.Clear
    Response.Redirect("search.htm")
Else
   
    strKeyword = Replace(strKeyword,"'","''")
   
End If

strSQL = "SELECT ID, fil, størrelse, kategori, Beskrivelse, dato, download, navn, email FROM Kunder WHERE"
strSQL = strSQL & " (fil LIKE '%" & strKeyword & "%')"


strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("search_2000.mdb")
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN

Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then %>

   
    <center> | <a href='search.htm'><b>Søg igen</a> | <a href='http://www.adichat.dk'>Forsiden</a> | <p>
    <center><table border='0' cellspacing='0' height='1'>
  <tr valign='center'><td colspan='2' height='1' bgcolor='#000000'>
  <b><font face='verdana' size='2' color='ffffff'>Søgeresultat:</b></font>
  <table align='center' bgcolor='#262636' cellspacing='0' cellpadding='0' border='0'>
  <TABLE CELLSPACING='1' CELLPADDING='4' BORDER='0'><TR BGCOLOR='363754'>
  <HR WIDTH='100%' COLOR='#585858' SIZE='1'><font size='1'></tr>
    <tr><td>Filnavn</td><td>Størrelse</td><td>Kategori</td><td>Info</td><td>Download</td>
    <% Do While Not rs.EOF %>
    </tr><TR BGCOLOR='363754'><td> <%=rs("fil")%> </td>
  <td> <%=rs("størrelse")%> kb.</td>
  <td> <%=rs("kategori")%> </td>
  <td><a href="java script:liste('info.asp?id=<%=rs("id")%>')"><img src='info.gif' border='0' alt='Info'></a>
  <td><a href="<%=rs("download")%>"><%=rs("download")%></a></td>
   
  <% rs.MoveNext
    Loop
       
Else
   
    Response.Write "<p>Der er ikke fundet noget på denne søgning</p>"
End If

myConn.Close
Set myConn = Nothing
%></td></tr>
<TR BGCOLOR='363754'><td><HR COLOR='#585858' width="100%" SIZE='1'><font size='1'></TD></TR></TABLE></TD></TR></TABLE></table>

</table>

Og sådan som du mener den skal være:

<!-- #include file="adovbs.inc" -->
<% Response.Buffer = True %>
<html><head>
<title>Søgeresultat</title>
<STYLE>
    td        { font-family : Tahoma; font-size : 8pt; color : silver; }
    h1        { font-size : 8pt; font-weight : none; color: #333333; margin: 0px; }
    h2        { font-size : 8pt; font-weight : none; color: #333333; margin: 0px; }
    small    { font-size : 8pt; }

A:link    {text-decoration: none; color: #2392F9}
A:visited {text-decoration: none; color: #2392F9}
A:active  {text-decoration: none; color: #0000ff}
A:hover  {text-decoration: underline; color: ffffff}
</STYLE>
</head>
<body VLINK="#363754" LINK="#363754" BGCOLOR="#224467" TEXT="ffcc00" alink="#363754" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<script>
function liste(page) {
window.open(page, "CtrlWindow","maksimer=off,toolbar=no,menubar=no,location=no,scrollbars=no,resize=no,width=300,height=300,"); }
</script>
<%

strKeyword = Trim(Request.Form("Keyword"))
If Len(strKeyword) = 0 Then
   
Response.Clear
    Response.Redirect("search.htm")
Else
   
    strKeyword = Replace(strKeyword,"'","''")
   
End If

strSQL = "SELECT ID, fil, størrelse, kategori, Beskrivelse, dato, download, navn, email FROM Kunder WHERE"
strSQL = strSQL & " (fil LIKE '%" & strKeyword & "%')"


strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("search_2000.mdb")
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN

set rs=Server.CreateObject("adodb.Recordset")
rs.open myConn, strSQL, adopenstatic
howmanyrecs=rs.recordcount
response.write howmanyrecs & " poster."
%>

    <center> | <a href='search.htm'><b>Søg igen</a> | <a href='http://www.adichat.dk'>Forsiden</a> | <p>
    <center><table border='0' cellspacing='0' height='1'>
  <tr valign='center'><td colspan='2' height='1' bgcolor='#000000'>
  <b><font face='verdana' size='2' color='ffffff'>Søgeresultat:</b></font>
  <table align='center' bgcolor='#262636' cellspacing='0' cellpadding='0' border='0'>
  <TABLE CELLSPACING='1' CELLPADDING='4' BORDER='0'><TR BGCOLOR='363754'>
  <HR WIDTH='100%' COLOR='#585858' SIZE='1'><font size='1'></tr>
    <tr><td>Filnavn</td><td>Størrelse</td><td>Kategori</td><td>Info</td><td>Download</td>
    <% Do While Not rs.EOF %>
    </tr><TR BGCOLOR='363754'><td> <%=rs("fil")%> </td>
  <td> <%=rs("størrelse")%> kb.</td>
  <td> <%=rs("kategori")%> </td>
  <td><a href="java script:liste('info.asp?id=<%=rs("id")%>')"><img src='info.gif' border='0' alt='Info'></a>
  <td><a href="<%=rs("download")%>"><%=rs("download")%></a></td>
   
  <% rs.MoveNext
    Loop
       
Else
        Response.Write "<p>Der er ikke fundet noget på denne søgning</p>"
End If

myConn.Close
Set myConn = Nothing
%></td></tr>
<TR BGCOLOR='363754'><td><HR COLOR='#585858' width="100%" SIZE='1'><font size='1'></TD></TR></TABLE></TD></TR></TABLE></table>

</table>























Avatar billede kornfreak Nybegynder
11. april 2000 - 21:43 #35
Rydder op, ser ik ud til at der var nogen der gad at fortsætte det spørgsmål :o)
Avatar billede spectual Nybegynder
10. januar 2001 - 15:24 #36
Nå ... jeg har ellers svaret...

Grunden til \"at den ikke virker\" (altså recordcount) er at du ikke har åbnet dit recordset med f.eks. 1,1 parametrer bagefter.. dvs:

mit_recordset.open sql,forbindelse,1,1

Recordcount returnerer -1 hvis du kun åbner den med:

mit_recordet.open sql,forbindelse
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester