antal = ubound(arrRecords,2)
mvh,
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
nobody expects the spanish inquisition!</A>
9 svar · 215 visningar · startad av Jörgen HP
Tja!
Jag har en select sats som ser ut så här:
m_strSQL = "SELECT TOP " & intPageSize & ", p.AnvId, p.req_Username, " & _
"d.MessId, d.Subject, d.Replies, d.[Date], d.AnvId, d.Icon, d.LastUpdate " & _
"(select count(*) from Debatt d where d.ReplyId = d.MessId) AS Antal " & _
"FROM Debatt d " & _
"INNER JOIN Profil p " & _
"on d.AnvId = p.AnvId " & _
"WHERE orgthread = true ORDER BY d.LastUpdate DESC "
och hämtar värdena så här
strUsername = arrRecords(1,I)
MessId = arrRecords(2,I)
strSubject = arrRecords(3,I)
Replies = arrRecords(4,I)
dteDate = arrRecords(5,I)
strIcon = arrRecords(7,I)
LastUpdate = arrRecords(8,I)
men jag lyckas inte få ut Antal från counten, hur hämtar jag värdet antal?
Jag använder inte en do loop utan arrays i pagingen, någon som vill hjälpa till?
mvh Jörgen
------------------
*** Det brukar lösa sig sade hon som satt och sket i vasken ***
antal = ubound(arrRecords,2)
mvh,
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
nobody expects the spanish inquisition!</A>
Det blidde inte riktigt bra för jag avslutar Forslingan med det:
For I = intStartID To ((intStartID + intPageSize) -1)
strUsername = arrRecords(1,I)
MessId = arrRecords(2,I)
strSubject = arrRecords(3,I)
Replies = arrRecords(4,I)
dteDate = arrRecords(5,I)
strIcon = arrRecords(7,I)
LastUpdate = arrRecords(8,I)
antal = ubound(arrRecords,2)
Response.Write "Alla värden"
If I = UBound(arrRecords,2) Then Exit For
Next
Kan jag avsluta med If I = UBound(arrRecords,3) Then Exit For istället eller hur gör jag då?
mvh
Jörgen
------------------
*** Det brukar lösa sig sade hon som satt och sket i vasken ***
jag antar att det är ett recordset du skapat en array av mha .getrows().
problemet är är alltså att din array (det som normalt är ett recordset) aldrig innehåller fler än 10 poster, så oberoende av hur många poster som uppfyller villkoren i sql-frågan är antal <=10 ?
låt mig tänka...
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
nobody expects the spanish inquisition!</A>
Jo, det är precis som du tror, som vanligt :-)
' recordset för att hämta alla poster --
Set m_objRS = m_objConn.Execute(m_strSQL)
If Not m_objRS.EOF Then
m_arrRecords = m_objRS.GetRows
getRecords = m_arrRecords
End If
' hur många poster ska visas per sida --
intPageSize = 20
' hämta alla records, hämtas med metoden getrows och returneras
' som en array.
arrRecords = getRecords
' hur många records finns det totalt --
intTotalRecords = UBound(arrRecords,2)
' hur många sidor finns det i recordsetet
intTotalPages = countPages(intTotalRecords, intPageSize)
' vilken post är den första --
intStartID = getStartID(intPageSize, intPage)
Alltså bestämmer jag med intPageSize = 20 att 20 poster ska hämtas per sida.
mvh Jörgen
------------------
*** Det brukar lösa sig sade hon som satt och sket i vasken ***
[Redigerat av jorgen den 29 maj 2001]
Jo, det är precis som du tror, som vanligt :-)
' hur många poster ska visas per sida --
intPageSize = 20
' hämta alla records, hämtas med metoden getrows och returneras
' som en array.
arrRecords = getRecords
' hur många records finns det totalt --
intTotalRecords = UBound(arrRecords,2)
' hur många sidor finns det i recordsetet
intTotalPages = countPages(intTotalRecords, intPageSize)
' vilken post är den första --
intStartID = getStartID(intPageSize, intPage)
Alltså bestämmer jag med intPageSize = 20 att 20 poster ska hämtas per sida.
mvh Jörgen
------------------
*** Det brukar lösa sig sade hon som satt och sket i vasken ***
hello,
har ingen icq för tillfället ... =( ... den vill inte funka ordentligt.
Varför annvänder du SELECT TOP?
Den ska inte behövas om jag minns rätt.
cya,
PatrikB
------------------
*Det jämnar ut sig sa han som sket i byxan och satte sig ned*
Använder du denna, den senaste funktionen att hämta posterna med:
'## -- hämta alla poster --
Function getRecords
Dim m_objConn
Dim m_strConnString
Dim m_strSQL
Dim m_objRS
Dim m_arrRecords
'## -- provider & sökväg till db, DSN etc. --
m_strConnString = "DSN"
'## -- skapa connection object och öppna upp databasen --
Set m_objConn = Server.CreateObject("ADODB.Connection")
m_objConn.Open m_strConnString
'## -- sql-fråga för att hämta alla poster --
m_strSQL = "SELECT MessId, ReplyId, [Date], Subject, Comment " & _
"FROM Debatt " & _
"WHERE MessId = " & Request("MessId") & _
"OR ReplyId = " & Request("MessId") & _
" ORDER BY [Date] ASC"
'## -- recordset för att hämta alla poster --
Set m_objRS = m_objConn.Execute(m_strSQL)
If Not m_objRS.EOF Then
m_arrRecords = m_objRS.GetRows
getRecords = m_arrRecords
End If
'## -- clean up --
m_objRS.Close
Set m_objRS = Nothing
m_objConn.Close
Set m_objConn = Nothing
End Function
om det är den ... så ska du inte använda TOP " & intPageSize & " i select uttrycket ..
cya,
PatrikB
------------------
*Det jämnar ut sig sa han som sket i byxan och satte sig ned*
Okey, då ska jag inte använda TOP, men problemet kvarstår. Att hämta värdet Antal?
mvh Jörgen
------------------
*** Det brukar lösa sig sade hon som satt och sket i vasken ***
om du inte använder dig av TOP så har du totalt antal poster i: UBound(arrRecords,2)
cya,
PatrikB
------------------
*Det jämnar ut sig sa han som sket i byxan och satte sig ned*