
03/11/2007, 13:55
|
 | 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 |