Salve a tutti,
ho un problema: In una pagina asp con codice per la paginazione se inserisco la query in una stringa, quindi statica
es: StrQuery="SELECT * FROM archivigenerale"
non mi da errore. Se invece la query la genero dinamicamente passandogli i valori da un form effettuando una di ricerca del tipo
Area=request("Area")
StrQuery="SELECT *FROM archiviogenerale WHERE Area='" & Area & "'"
per la prima volta me la fa la ricerca correttamente; quando cerco di accedere alla seconda pagina della paginazione (scusate le ripetizioni)
mi da questo errore:
"Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record."
Penso di aver capito il problema: ogni qualvolta che cliccando sulle pagine seguenti la stringa la perde.
Ho provato a inserire variabili di sessione, ma mi dice che va in conflitto come posso risolvere il tutto.
Vi posto il codice
'Stringa di connessione al DB
DbPath = server.MapPath("../documentazione.mdb")
StrConn = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & DbPath
...
Dim DBConn
Set DBConn=Server.CreateObject("ADODB.Connection")
DBConn.Open StrConn
Dim objRS
Set objRS = Server.CreateObject("ADODB.Recordset")
RecordsPerPagina = 10
page = Request("page")
if page="" then page=1
'******************
oper=Request("mod")
Area=Request("Area")
Titolo=Request("Titolo")
Descrizione=Request("Descrizione")
Tipodoc=Request("Tipodoc")
Codcommessa=Request("Codcommessa")
Redattore=Request("Redattore")
Codviasat=Request("Codviasat")
Dataregdal=Request("dataregdal")
Dataregal=Request("dataregal")
Datapubbldal=Request("datapubbldal")
Datapubblal=Request("datapubblal")
Statodoc=Request("Statodoc")
led=Request("led")
arrTitolo=Split(Titolo, " ")
arrDescr=Split(Descrizione, " ")
arrRedattore=Split(Redattore, " ")
''Composizione Query in base ai campi passati dal form
Sql = ""
Sql = Sql & "SELECT * FROM archiviogenerale WHERE"
if oper="2" then
operatore="AND"
else operatore="OR"
end if
sw=0
if Area<>"null" then
Sql = Sql & " (Area ='" & Area & "') " '& operatore
sw=1
end if
if Titolo<>"" then
if sw=1 then Sql = Sql & "AND"
for i=0 to Ubound(arrTitolo)
if i=0 then Sql = Sql & " ("
if (i>0) then
Sql = Sql & operatore
end if
Sql = Sql & " Titolo LIKE '%" & arrTitolo(i) & "%' "
if i=Ubound(arrTitolo) then Sql = Sql & ") "
next
sw=1
end if
if Descrizione<>"" then
if sw=1 then Sql = Sql & "AND"
for i=0 to Ubound(arrDescr)
if i=0 then Sql = Sql & " ("
if (i>0) then ' and i<Ubound(arrDescr))
Sql = Sql & operatore
end if
Sql = Sql & " Descrprogetto LIKE '%" & arrDescr(i) & "%' "
if i=Ubound(arrDescr) then Sql = Sql & ") "
next
sw=1
end if
if Tipodoc<>"null" then
if sw=1 then Sql = Sql & "AND"
Sql = Sql & " (Tipo='" & Tipodoc & "') "
sw=1
end if
if Codcommessa<>"null" then
if sw=1 then Sql = Sql & "AND"
Sql = Sql & " (Commessa='" & Codcommessa & "') "
sw=1
end if
if Codviasat<>"VXX-YY-AA-NNNNR" then
if sw=1 then Sql = Sql & "AND"
Sql = Sql & " (Cod LIKE '%" & Codviasat & "%') "
sw=1
end if
if Redattore<>"" then
if sw=1 then Sql = Sql & "AND"
for i=0 to Ubound(arrRedattore)
if i=0 then Sql = Sql & " ("
if (i>0) then 'and i<Ubound(arrRedattore))
Sql = Sql & operatore
end if
Sql = Sql & " Redattore LIKE '%" & arrRedattore(i) & "%' "
if i=Ubound(arrRedattore) then Sql = Sql & ") "
next
sw=1
end if
if Statodoc<>"null" then
if sw=1 then Sql = Sql & "AND"
Sql = Sql & " (Statodoc ='" & Statodoc & "') "
sw=1
end if
if (Dataregdal<>"gg/mm/aaaa") and (Dataregdal<>"") then
if sw=1 then Sql = Sql & "AND"
Sql = Sql & " (Datareg >#" & Dataregdal & "#) "
sw=1
end if
if (Dataregal<>"gg/mm/aaaa") and (Dataregal<>"") then
if sw=1 then Sql = Sql & "AND"
Sql = Sql & " (Datareg <#" & Dataregal & "#) "
sw=1
end if
if (Datapubbldal<>"gg/mm/aaaa") and (Datapubbldal<>"") then
if sw=1 then Sql = Sql & "AND"
Sql = Sql & " (Datapubbl >#" & Datapubbldal & "#) "
sw=1
end if
if (Datapubblal<>"gg/mm/aaaa") and (Datapubblal<>"") then
if sw=1 then Sql = Sql & "AND"
Sql = Sql & " (Datapubbl <#" & Datapubblal & "#) "
sw=1
end if
Sql = Sql & " ORDER BY Datareg, Datapubbl, Area, Cod"
if led<>"submit" then Response.End
'Inizializzazione variabile che indica
'che è stato trovato almeno un record valido
swdoc=0
'******************
'strSQL = "SELECT * FROM archiviogenerale WHERE AREA='Qualità' AND Tipo='Specifiche Tecniche'"
objRS.open Sql, DBConn, 1
objRS.PageSize = RecordsPerPagina 'Memorizza i record da visualizzare per pagina
objRS.AbsolutePage = page 'Memorizzo il numero della pagina attuale
page=cint(page)
If objRS.Eof=True or objRS.Bof=True then
Response.Write "<P>Nessun risultato trovato</P>"
Else
'cambio variabile indica se è stato trovato almeno un record valido
swdoc=1
'Variabile che memorizza di quanti record è popolato il Recordset
numerorecord=objRS.RecordCount
'Response.Write numerorecord
'inizio elenco numerato generato dinamicamente
Response.Write "<ol start=" & page*10+1-10 &">"
For i=1 to RecordsPerPagina
if Not objRS.EOF then
Response.Write "<hr><li>"
if ((i mod 2) =0) then
Response.Write "<div style=background:#e9ffff>"'#ccffcc>"
else
Response.Write "<div style=background:ivory>"
end if
for j=0 to objRS.fields.count-1
if objRS.fields(j).name = "Nomefile" then
Response.Write "¬ <b>" & objRS.fields(j).name & "</b> = " & "<a href="& chr(34) & objRS.fields(j) & chr(34)& ">" & objRS.fields(j) & "</a>"
if objRS.fields(j)<>"" then
Response.Write " <--Tasto destro..Salva oggetto con nome<br>"
else Response.Write "<br>"
end if
else
Response.Write "¬ <b>" & objRS.fields(j).name & "</b> = " & objRS.fields(j) & "<br>"
end if
next
Response.Write "</li></div>"
'objRS.movenext
'loop until Rs.eof
''Response.Write "<tr><td>" & objRS("Cod") & "</td>"
''Response.Write "<td>" & objRS("Area") & "</td>"
'Response.Write("<td>" & objRS("Colore") & "</td></tr>")
objRS.MoveNext
end if
Next
cancella="yes"
Response.Write "</ol><hr><br>"
'Response.Write ("</table></center>")
End if
Response.Write "<blockquote>"
Response.Write "<b>Siamo nella pagina " & page & " di " & objRS.PageCount & "</b><br>"
Response.Write "<P><B>Pagine:</B> "
npagine=objRS.PageCount
For pag=1 to objRS.PageCount
if pag=page then
Response.Write "<A style='color:darkgreen' href= 'risultati.asp?page=" & "&" & "led=submit" & "&" & "cancella=" & cancella & "'>"
Response.Write "[ -" & pag & "- ]"
Response.Write "</A> "
else
Response.Write "<A href= 'risultati.asp?page=" & pag & "&" & "led=submit" & "&" & "cancella=" & cancella & "'>"
Response.Write pag
Response.Write "</A> "
end if
Next
Response.Write "</P>"
Response.Write "</blockquote>"
objRS.Close
Set objRS=Nothing
DBConn.Close
Set DBConn=Nothing
Grazie in anticipo