6 messaggi dal 11 ottobre 2005
Salve a tutti!
Ho problemi con la paginazione dei recorset (asp+vbscript).
Se qualcuno mi puo' dare una mano gliene sarei molto grato.
Praticamente suddivido i risultati in pagine di 10 record, ma mi visualizza correttamente solo la prima pag, dopo di ke'sballa, forse perke' non prende la stessa query string.Posto la pag relativa.
Grazie.

Dim path
'valorizzo il path del db prescelto
path = Server.MapPath(".") & "\" & "db\" & nomedb
'metto il Db in una sessione
'Response.Write path & "<br>"
'Response.End
Dim objConn
'oggetto connessione
Dim strConn
strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & path
'variabile per la stringa di connessione

'Response.Write strConn
'Response.End

Dim strSqlSelectDb
'variabile stringa per la query
Dim rsRisultati
'variabile per il RecordSet
Dim rsScheda
'variabile per la scheda dell'auto
'******************************************************************************
Session("IdFiliale")=Request("CercaIndirizzo")


Set objConn = Server.CreateObject("ADODB.Connection")


objConn.Open strConn
If err.number <> 0 Then
If err.number = "-2147467259" then

Response.Write "Attenzione! Impossibile selezionare il Db in questione; assicurarsi che il file non sia gia in uso"%> <br><br>
<%

end if

With Response
.Write "ERRORE N. " & err.number %> <br><br>

<%
End With

Else


dim pagina
const quanti = 10
pagina = cint(Request.QueryString("page"))

'Response.Write Request.QueryString("page")
'Response.End

If IsNumeric(pagina)=false Or pagina < 1 Then
pagina = 1
end if


strSqlSelectDb = "SELECT * FROM QryPacchetto WHERE "
'costruzione dinamica query
If Request("gruppo") <> "" Then
strSqlSelectDb = strSqlSelectDb & "Konstruktionsgruppe = '" & Request("gruppo") & "' AND"
End If
If Request("manoOp") <> "" Then
strSqlSelectDb = strSqlSelectDb & " Arbeitsnummer = '" & Request("manoOp") & "' AND"
End if
If Request("tipo") <> "" Then
strSqlSelectDb = strSqlSelectDb & " [Tipo/Modello] = '" & Request("tipo") & "' AND"
End If
If Request("descr1") <> "" Then
strSqlSelectDb = strSqlSelectDb & " [TestoPacchetto] = '" & Request("descr1") & "' AND"
End If
If Request("descr2") <> "" Then
strSqlSelectDb = strSqlSelectDb & "[Sigla di Vendita] = '" & Request("descr2") & "' AND"
End If
If Request("telaio") <> "" Then
strSqlSelectDb = strSqlSelectDb & " [Telaio] like '" & Request("telaio") & "%' AND"
End If

strSqlSelectDb = left(strSqlSelectDb,len(strSqlSelectDb)-4)

Set rsRisultati = Server.CreateObject("ADODB.RecordSet")

contatore=0
'Response.Write pagina
'Response.End

rsRisultati.Open strSqlSelectDb,objConn,1


rsRisultati.PageSize = quanti
rsRisultati.AbsolutePage = pagina

'Response.Write "<br>" & pagina
'Response.Write "<br>" & quanti
'Response.Write "<br>" & strSqlSelectDb


'Se il recordSet è vuoto
If rsRisultati.BOF AND rsRisultati.EOF then
Response.Write "Attenzione! Non sono stati trovati dati che soddisfano le condizioni di ricerca."
Response.End
End If
%>

<table width="100%">
<tr bgcolor=Khaki>
<td>Tipo/Modello</td>
<td>Sigla di vendita</td>
<td>Telaio</td>
<td>Gruppo</td>
<td>Mano d'Opera</td>
<td>Descrizione</td>
<td>Visualizza</td>
</tr>
<%
Do While rsRisultati.EOF=false AND contatore < quanti
%>
<tr bgcolor=AliceBlue>
<td><%=rsRisultati.Fields("Tipo/Modello")%></td>
<td><%=rsRisultati.Fields("Sigla di Vendita")%></td>
<td><%=rsRisultati.Fields("Telaio")%></td>
<td><%=rsRisultati.Fields("Konstruktionsgruppe")%></td>
<td><%=rsRisultati.Fields("Arbeitsnummer")%></td>
<td><%=rsRisultati.Fields("TestoPacchetto")%></td>
<td><a href="Scheda.asp?id1=<%=rsRisultati.Fields("IDPacchetto") & "|" & rsRisultati.Fields("TestoPacchetto") & "|" & rsRisultati.Fields("Descrizione") & "|"& rsRisultati.Fields("Sigla di Vendita") &"|"& rsRisultati.Fields("Tipo/Modello") & "|" & rsRisultati.Fields("Telaio") &"|"& rsRisultati.Fields("Manodopera") & "|" & rsRisultati.Fields("Ricambi") & "|" & rsRisultati.Fields("PrezzoNetto_Pacchetto") & "|" & rsRisultati.Fields("PrezzoNetto_Pacchetto")*20/100 & "|"&rsRisultati.Fields("PrezzoNetto_Pacchetto")+rsRisultati.Fields("PrezzoNetto_Pacchetto")*20/100 & "|" %> "><img src="ARW04RT.ICO"></a>
</td>
</tr>
<%
rsRisultati.MoveNext
contatore = contatore + 1

Loop



%>
</table>
<%
'rsRisultati.Close
'Set rsRisultati = nothing
%>
</table>
<%
'rsRisultati.Close
'Set rsRisultati = nothing
%>
<p align="center">
<%

If pagina > 1 Then
%>
<a href="Results.asp?page=<%=pagina-1%>&TipoModello=<%=rsRisultati.Fields("Tipo/Modello")%>&SiglaVendita=<%=rsRisultati.Fields("Sigla di Vendita")%>&Telaio=<%=rsRisultati.Fields("Telaio")%>&Gruppo=<%=rsRisultati.Fields("Konstruktionsgruppe")%>&ManoOpera=<%=rsRisultati.Fields("Arbeitsnummer")%>&Descrizione=<%=rsRisultati.Fields("TestoPacchetto")%>">Indietro</a>
<%
end if


Dim x
x = 1


For x = 1 To rsRisultati.PageCount

If CInt(pagina) <> x Then
%>
[<a href="Results.asp?page=<%=x%>&TipoModello=<%=rsRisultati.Fields("Tipo/Modello")%>&SiglaVendita=<%=rsRisultati.Fields("Sigla di Vendita")%>&Telaio=<%=rsRisultati.Fields("Telaio")%>&Gruppo=<%=rsRisultati.Fields("Konstruktionsgruppe")%>&ManoOpera=<%=rsRisultati.Fields("Arbeitsnummer")%>&Descrizione=<%=rsRisultati.Fields("TestoPacchetto")%>"><%=x%></a>]
<%
Else
%>

[<a href="Results.asp?page=<%=x%>&Gruppo=<%=rsRisultati.Fields("Konstruktionsgruppe")%>"><b><%=x%></b></a>]
<%
end If

Next
'Response.Write "pagina="&pag
'Response.Write "PageCount="&rsRisultati.PageCount
'Response.Write "x="& x
'Response.End

If rsRisultati.EOF = False Then
%>
<a href="Results.asp?page=<%=pagina+1%>&TipoModello=<%=rsRisultati.Fields("Tipo/Modello")%>&SiglaVendita=<%=rsRisultati.Fields("Sigla di Vendita")%>&Telaio=<%=rsRisultati.Fields("Telaio")%>&Gruppo=<%=rsRisultati.Fields("Konstruktionsgruppe")%>&ManoOpera=<%=rsRisultati.Fields("Arbeitsnummer")%>&Descrizione=<%=rsRisultati.Fields("TestoPacchetto")%>">Avanti</a>
<%
End If
%>
</p>
<%
'Response.Write rsRisultati.PageCount
'Response.End
'rsRisultati.Close
'Set rs.Risultati = Nothing


Dim path
'valorizzo il path del db prescelto
path = Server.MapPath(".") & "\" & "db\" & nomedb
'metto il Db in una sessione
'Response.Write path & "<br>"
'Response.End
Dim objConn
'oggetto connessione
Dim strConn
strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & path
'variabile per la stringa di connessione

'Response.Write strConn
'Response.End

Dim strSqlSelectDb
'variabile stringa per la query
Dim rsRisultati
'variabile per il RecordSet
Dim rsScheda
'variabile per la scheda dell'auto
'******************************************************************************
Session("IdFiliale")=Request("CercaIndirizzo")


Set objConn = Server.CreateObject("ADODB.Connection")


objConn.Open strConn
If err.number <> 0 Then
If err.number = "-2147467259" then

Response.Write "Attenzione! Impossibile selezionare il Db in questione; assicurarsi che il file non sia gia in uso"%> <br><br>
<%

end if

With Response
.Write "ERRORE N. " & err.number %> <br><br>

<%
End With

Else


dim pagina
const quanti = 10
pagina = cint(Request.QueryString("page"))

'Response.Write Request.QueryString("page")
'Response.End

If IsNumeric(pagina)=false Or pagina < 1 Then
pagina = 1
end if


strSqlSelectDb = "SELECT * FROM QryPacchetto WHERE "
'costruzione dinamica query
If Request("gruppo") <> "" Then
strSqlSelectDb = strSqlSelectDb & "Konstruktionsgruppe = '" & Request("gruppo") & "' AND"
End If
If Request("manoOp") <> "" Then
strSqlSelectDb = strSqlSelectDb & " Arbeitsnummer = '" & Request("manoOp") & "' AND"
End if
If Request("tipo") <> "" Then
strSqlSelectDb = strSqlSelectDb & " [Tipo/Modello] = '" & Request("tipo") & "' AND"
End If
If Request("descr1") <> "" Then
strSqlSelectDb = strSqlSelectDb & " [TestoPacchetto] = '" & Request("descr1") & "' AND"
End If
If Request("descr2") <> "" Then
strSqlSelectDb = strSqlSelectDb & "[Sigla di Vendita] = '" & Request("descr2") & "' AND"
End If
If Request("telaio") <> "" Then
strSqlSelectDb = strSqlSelectDb & " [Telaio] like '" & Request("telaio") & "%' AND"
End If

strSqlSelectDb = left(strSqlSelectDb,len(strSqlSelectDb)-4)

Set rsRisultati = Server.CreateObject("ADODB.RecordSet")

contatore=0
'Response.Write pagina
'Response.End

rsRisultati.Open strSqlSelectDb,objConn,1


rsRisultati.PageSize = quanti
rsRisultati.AbsolutePage = pagina

'Response.Write "<br>" & pagina
'Response.Write "<br>" & quanti
'Response.Write "<br>" & strSqlSelectDb


'Se il recordSet è vuoto
If rsRisultati.BOF AND rsRisultati.EOF then
Response.Write "Attenzione! Non sono stati trovati dati che soddisfano le condizioni di ricerca."
Response.End
End If
%>

<table width="100%">
<tr bgcolor=Khaki>
<td>Tipo/Modello</td>
<td>Sigla di vendita</td>
<td>Telaio</td>
<td>Gruppo</td>
<td>Mano d'Opera</td>
<td>Descrizione</td>
<td>Visualizza</td>
</tr>
<%
Do While rsRisultati.EOF=false AND contatore < quanti
%>
<tr bgcolor=AliceBlue>
<td><%=rsRisultati.Fields("Tipo/Modello")%></td>
<td><%=rsRisultati.Fields("Sigla di Vendita")%></td>
<td><%=rsRisultati.Fields("Telaio")%></td>
<td><%=rsRisultati.Fields("Konstruktionsgruppe")%></td>
<td><%=rsRisultati.Fields("Arbeitsnummer")%></td>
<td><%=rsRisultati.Fields("TestoPacchetto")%></td>
<td><a href="Scheda.asp?id1=<%=rsRisultati.Fields("IDPacchetto") & "|" & rsRisultati.Fields("TestoPacchetto") & "|" & rsRisultati.Fields("Descrizione") & "|"& rsRisultati.Fields("Sigla di Vendita") &"|"& rsRisultati.Fields("Tipo/Modello") & "|" & rsRisultati.Fields("Telaio") &"|"& rsRisultati.Fields("Manodopera") & "|" & rsRisultati.Fields("Ricambi") & "|" & rsRisultati.Fields("PrezzoNetto_Pacchetto") & "|" & rsRisultati.Fields("PrezzoNetto_Pacchetto")*20/100 & "|"&rsRisultati.Fields("PrezzoNetto_Pacchetto")+rsRisultati.Fields("PrezzoNetto_Pacchetto")*20/100 & "|" %> "><img src="ARW04RT.ICO"></a>
</td>
</tr>
<%
rsRisultati.MoveNext
contatore = contatore + 1

Loop



%>
</table>
<%
'rsRisultati.Close
'Set rsRisultati = nothing
%>
</table>
<%
'rsRisultati.Close
'Set rsRisultati = nothing
%>
<p align="center">
<%

If pagina > 1 Then
%>
<a href="Results.asp?page=<%=pagina-1%>&TipoModello=<%=rsRisultati.Fields("Tipo/Modello")%>&SiglaVendita=<%=rsRisultati.Fields("Sigla di Vendita")%>&Telaio=<%=rsRisultati.Fields("Telaio")%>&Gruppo=<%=rsRisultati.Fields("Konstruktionsgruppe")%>&ManoOpera=<%=rsRisultati.Fields("Arbeitsnummer")%>&Descrizione=<%=rsRisultati.Fields("TestoPacchetto")%>">Indietro</a>
<%
end if


Dim x
x = 1


For x = 1 To rsRisultati.PageCount

If CInt(pagina) <> x Then
%>
[<a href="Results.asp?page=<%=x%>&TipoModello=<%=rsRisultati.Fields("Tipo/Modello")%>&SiglaVendita=<%=rsRisultati.Fields("Sigla di Vendita")%>&Telaio=<%=rsRisultati.Fields("Telaio")%>&Gruppo=<%=rsRisultati.Fields("Konstruktionsgruppe")%>&ManoOpera=<%=rsRisultati.Fields("Arbeitsnummer")%>&Descrizione=<%=rsRisultati.Fields("TestoPacchetto")%>"><%=x%></a>]
<%
Else
%>

[<a href="Results.asp?page=<%=x%>&Gruppo=<%=rsRisultati.Fields("Konstruktionsgruppe")%>"><b><%=x%></b></a>]
<%
end If

Next
'Response.Write "pagina="&pag
'Response.Write "PageCount="&rsRisultati.PageCount
'Response.Write "x="& x
'Response.End

If rsRisultati.EOF = False Then
%>
<a href="Results.asp?page=<%=pagina+1%>&TipoModello=<%=rsRisultati.Fields("Tipo/Modello")%>&SiglaVendita=<%=rsRisultati.Fields("Sigla di Vendita")%>&Telaio=<%=rsRisultati.Fields("Telaio")%>&Gruppo=<%=rsRisultati.Fields("Konstruktionsgruppe")%>&ManoOpera=<%=rsRisultati.Fields("Arbeitsnummer")%>&Descrizione=<%=rsRisultati.Fields("TestoPacchetto")%>">Avanti</a>
<%
End If
%>
</p>
<%
'Response.Write rsRisultati.PageCount
'Response.End
'rsRisultati.Close
'Set rs.Risultati = Nothing

Quinto

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.