Ciao Vincent,
grazie della risposta ma mi sa che non mi sono spiegato bene.
Io la paginazione sono capace a farla, a me servirebbe qualcosa per esportare i dati in un file csv con getstring.
Mi chiedevo se era possibile usare un recordset con paginazione ed usare getstring ciclando le pagine in modo da esportare tutto il recordset senza usare le query che ho scritto sopra che prendono anche dati che non mi servono.
il codice che uso e' questo
codice:
Server.ScriptTimeOut = 200
path = server.mappath("../db/037/cap037.mdb")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & path)
record_per_ciclo = 10000
SQLC = "SELECT COUNT(coddoc) as record_count FROM gest_arch"
set RSCount = conn.execute(SQLC)
record_totali = RSCount("record_count")
RSCount.close
set RSCount = Nothing
numero_cicli = record_totali / record_per_ciclo
'Response.ContentType = "text/csv"
'Response.AddHeader "Content-Disposition", "attachment; filename=Export.csv"
'Response.AddHeader "Content-Disposition", "inline; filename=Export.csv"
SQL = "SELECT TOP 1 coddoc, pratica FROM gest_arch"
Set RS = conn.Execute( SQL )
If RS.EOF Then Response.End
'testata nome campi
For f = 0 To RS.Fields.Count-1
hdr = hdr & "," & QT & RS.Fields(f).Name & QT
Next
hdr = hdr & vbNewLine
'testata tipo campi
For f = 0 To RS.Fields.Count-1
tipo = tipo & QT & adoTipoVar( RS.Fields(f).type ) & QT & ","
Next
tipo = left(tipo, len(tipo) - 1)
hdr = hdr & tipo
CONST QT = """"
K = 1
for A = 1 to RoundUp(numero_cicli)
indiceA = record_per_ciclo
indiceB = A * record_per_ciclo
if k = RoundUp(numero_cicli) then
indiceA = record_totali - ((A-1) * record_per_ciclo)
indiceB = record_totali
end if
'response.write indiceA & "<br>"
'response.write indiceB & "<br>"
SQLgs = "SELECT * FROM (SELECT TOP "& indiceA &" tab2.* FROM (SELECT TOP "& indiceB &" tab1.* FROM gest_arch AS tab1 ORDER BY coddoc ASC) AS tab2 ORDER BY coddoc DESC) ORDER BY coddoc ASC;"
response.write SQLgs & "<br>"
k = k + 1
set RSgs = conn.execute( SQLgs )
prefix = QT
midfix = QT & "," & QT
suffix = QT & vbNewLine
rows = RSgs.getString( , , midfix, suffix & prefix )
Response.Write prefix & Left(rows, Len(rows) - Len(prefix) )
RSgs.Close
set RSgs = Nothing
Response.Flush
next
conn.close
set conn = nothing
con la paginazione continua ad esportarmi tutto il recorset e si impalla il buffer.
Non ho capito come filtrare i dati
-edit-
la funzione RoundUp arrotonda al numero superiore senza decimali