Ver Mensaje Individual
  #4 (permalink)  
Antiguo 03/11/2007, 13:55
Avatar de Shiryu_Libra
Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 18 años, 1 mes
Puntos: 88
Re: Exportar una consulta asp con sql 2000 a Excel

DarkMcloud

algo asi seria

VAL_BUSCAR.ASP
Cita:
.
.
'tu codigo normal
'en la seccion HEAD, le agregas este Script
<script>
function AbrirVentana(ventana)
{
window.open(ventana,"Consulta","left=25,top=25,too lbar=0,location=1,directories=0,status=1,menubar=0 ,scrollbars=1,resizable=0,copyhistory=0,width=750, height=650")}
</script>

.
.
.
'le anexas esta parte, o modificas esta parte
if request.QueryString("extra")="1" then
Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader "content-disposition", "inline; filename=Consulta.xls"
strSQL=session("SQL_para_EXCEL")
else
'aca recibo los campos que voy a realizar la busqueda
csr = Request.form("csr")
nombre_cliente = Request.form("nombre_cliente")
serie = Request.form("serie")
estado = Request.form("estado")
tecnico = Request.form("tecnico")
'es para crear la consulta en la ventana

'ejecuto la consulta
strSQL="SELECT *, DateDiff (day, fecha_in ,fecha_ret) as difes, DATEDIFF (DAY, fecha_in, getdate()) as difftot FROM tblcliente"

se_encuentra = False

if se_encuentra then
strSQL=strSQL & " AND tipo_cliente LIKE '%cliente'"
else
strSQL=strSQL & " WHERE tipo_cliente LIKE '%cliente'"
se_encuentra=True
end if

if csr <> "" then
if se_encuentra then
strSQL=strSQL & " AND csr LIKE '%"&csr&"'"
else
strSQL=strSQL & " WHERE csr LIKE '%"&csr&"'"
se_encuentra=True
end if
end if

'la variable se_encuentra se inicializa en falso y se cambia a verdadero si el campo trae un valor ingresado
if distribuidor <> "" then
if se_encuentra then
strSQL=strSQL & " AND nombre_cliente LIKE '%"&nombre_cliente&"'"
else
strSQL=strSQL & " WHERE nombre_cliente LIKE '%"&nombre_cliente&"'"
se_encuentra=True
end if
end if

if serie <> "" then
if se_encuentra then
strSQL=strSQL & " AND serie LIKE '%"&serie&"'"
else
strSQL=strSQL & " WHERE serie LIKE '%"&serie&"'"
se_encuentra=True
end if
end if

if estado <> "" then
if se_encuentra then
strSQL=strSQL & " AND estado LIKE '%"&estado&"'"
else
strSQL=strSQL & " WHERE estado LIKE '%"&estado&"'"
se_encuentra=True
end if
end if

if tecnico <> "" then
if se_encuentra then
strSQL=strSQL & " AND tecnico LIKE '%"&tecnico&"'"
else
strSQL=strSQL & " WHERE tecnico LIKE '%"&tecnico&"'"
se_encuentra=True
end if
end if
'se usara la cadena completa, ya armada evitamos volver a relalizar todo el procedimiento de limpiar
'y poder mandarlo a excel inmediatamente

session("SQL_para_EXCEL")=strSQL
end if

rs.Open strSQL,Cnn,adopenstatic,adcmdtext
'abrimos la tabla para llamar los registros

.
.
.
'RESTO DE TU CODIGO
'al final del codigo, agregas este enlace, para abrir la ventana y realizar la consulta sin necesidad de volver a mandarle datos o algo
<h3> <center> <a href="AbrirVentana('val_buscar.asp?extra=1')">EXCE L</a></center> </h3>
.
.
.
lo que haria, es al pulsar el enlace EXCEL, este manda abrir el evento AbrirVentana con un valor("EXTRA") igual a 1 ..... puro formalismo..... esta misma pagina a su ves haria el mismo recorrido en el popup, solo con la diferencia de que haz guardado tu sentencia ya formada en una variable de tipo session y al realizarse de nuevo la consulta, tomaria su valor, evita todos los filtros y despliega el resultado en EXCEL

espero que no haya muchos errores.....
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra