Saludos de nuevo:
Tengo un tema que no soy capaz de resolver. Verán
El asunto es que tengo un formulario que realiza una selección de registros a borrar en función de los campos cubiertos. Dicho formulario se procesa en el mismo fichero.
Lo que hago es:
1. Mostrar los registros que se van a borrar en una tabla
2. Pedir la confirmación del borrado de los registros
Lo que no soy capaz de conseguir es que cuando el checkbox de confirmación de borrado "aceptoborrar" este marcado (vale 1) me borre los registros.
El problema está en que hay dos formularios dentro del mismo fichero y como se procesa todo en el mismo fichero, cuando pulso el boton borrar del segundo formulario empieza a procesar otra vez todo el fichero y entonces devuelve un error.
He intentado hacerlo tambien usando dos ficheros pero no se como pasar un recordset entero entre dos ficheros.
Les paso el código a ver como lo ven.
Gracias
Código:
<<A href="mailto:%@LANGUAGE="VBSCRIPT">%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%nombreusuario=request.QueryString("nombreusuario")
aceptoborrar=request.querystring("aceptoborrar")
%>
<html>
<head>
</head>
<body background="file:///C|/obradoiroweb/obradoiroweb...n_opacidad.jpg" leftmargin="5" topmargin="5" marginwidth="5" marginheight="5">
<!--Incluimos el fichero de constantes-->
<!--#INCLUDE file="../../../adovbs.asp"-->
<%
function CortarNombreFichero
imagen=rs("imagenoferta")
len(imagen)
posicioncaracterbuscar=instrrev(imagen,"/")+1
'response.write mid(imagen,posicioncaracterbuscar)
end function
Function pulsarcompletardatos
response.write("<div align=""center""><br><strong><font face= ""Arial, Helvetica, sans-serif"" size=""3"" color=""#FB4C50"">" & "El/los campo/s arriba indicados no contienen datos o no son correctos. <p> <a href=""javascript:history.back()"">Pulse aquí para poder completar los datos correctamente</strong></font></a></div>")
end function
function MensajeNoValidar
response.write("<br><br><div align=""center""><font face= ""Arial, Helvetica, sans-serif"" size=""3"" color=""#FB4C50""><strong>No se encontraron coincidencias con la búsqueda solicitada </strong></font></div>")
end function
IF (request.form <> "") THEN
'Para conexión a dsn arsys con ACCESS
set Conn= Server.CreateObject("ADODB.Connection")
Conn.ConnectionString = "DSN=clubviajesoferta.com.turofertas"
Conn.open
Set RS=Server.CreateObject("ADODB.Recordset")
rs.activeconnection=Conn
rs.source="ofertasmayoristas"
rs.Locktype = adLockOptimistic
rs.CursorType = adOpenDinamic
rs.open
'Termina aquí la conexion a dsn arsys con ACCESS
'Esta variable sirver para indicar si el proceso de validación del formulario es correcto
'Sus valores son: True si el formulario se valida correctamente y false si no se valida
Validar=True
if request.form("fechapublicacionoferta") <> "" then
If NOT IsDate(request.form("fechapublicacionoferta")) then
response.write("<div align=""center""><font face= ""Arial, Helvetica, sans-serif"" size=""2"" color=""#FB4C50"">" & "El campo <em>""Fecha Publicación""</em> contiene una fecha incorrecta</font></div>")
validar=False
end if
end if
if request.form("fechavalidezoferta") <> "" then
If NOT IsDate(request.form("fechavalidezoferta")) then
response.write("<div align=""center""><font face= ""Arial, Helvetica, sans-serif"" size=""2"" color=""#FB4C50"">" & "El campo <em>""Fecha Validez""</em> contiene una fecha incorrecta</font></div>")
validar=False
end if
end if
if validar=false then
pulsarcompletardatos
end if
response.write "Validar = " & validar & "<br>"
Poner_AND= False
'El Codigo siguiente hace que si el formulario se envia vacio no se borre toda la tabla
Vacio=true
if vacio and validar=true then
Filtro= ""
FOR EACH Parametro IN Request.Form
IF Request.Form (Parametro) <> "" THEN
IF Poner_AND THEN
Filtro= Filtro & " AND " & Parametro & "='"
Filtro= Filtro & Request.Form(Parametro) & "'"
ELSE
Filtro= Filtro & Parametro & "='"
Filtro= Filtro & Request.Form(Parametro) & "'"
Poner_AND = True
END IF
END IF
NEXT
Filtro=Lcase(filtro)
rs.filter= Filtro
'Aqui se comprueba el filtro que se está aplicando
response.write "el filtro es: " & filtro
if rs.bof and rs.eof then
response.write("<br><br><div align=""center""><font face= ""Arial, Helvetica, sans-serif"" size=""3"" color=""#FB4C50""><strong>No se encontraron coincidencias con la búsqueda solicitada </strong></font></div>")%>
<%
else
response.write ("Se eliminarán las siguientes ofertas <p>")%>
<table width="100%" border="0" cellspacing="0" cellpadding="1">
<tr bgcolor="#e0e0e0">
<td width="22%"> Referencia</td>
<td width="53%">Denominación</td>
<td width="13%">Publicación</td>
<td width="12%">Validez</td>
</tr>
<%rs.movefirst
do while not rs.eof
if colorfila=0 then
color="#EEF0F7"
colorfila=1
else
color="FFFFFF"
colorfila=0
end if%>
<tr valign="top" bgcolor="<%=color%>">
<td><%=RS("referenciaoferta")%></td>
<td><%=RS("denominacionoferta")%></td>
<td><%=RS("fechapublicacionoferta")%></td>
<td><%=RS("fechavalidezoferta")%></td>
</tr>
<%rs.movenext
loop%>
</table>
<table>
<tr valign="top">
<td colspan="4"><form name="form2" method="post" action="borrar_ofertas.asp?nombreusuario=<%=nombreusuario%>">
<p>Esta seguro de que desea borrar las ofertas listadas?
<input name="aceptoborrar" type="checkbox" id="aceptoborrar" value="1">
<input type="submit" value="Borrar">
</p>
</form></td>
</tr>
</table>
<%rs.movefirst
'El if en el que está encerrado el loop es el que tengo que quitar
if aceptoborrar="1" then
do while not rs.eof
'Construimos la ruta y el nombre del fichero que se va a borrar del servidor y
'que previamente escogimos mediante el formulario de borrar registros
cadenaorigen=rs("imagenoferta")
cadenabuscar="../../"
cadenacambiar="c:/obradoiroweb/obradoiroweb/Turofertas/"
'cadenacambiar="C:\Inetpub\vhosts\turofertas.com\httpdocs\"
rutaimagenaborrar=replace(cadenaorigen,cadenabuscar,cadenacambiar,1,1,1)
set FSO=CreateObject("Scripting.FileSystemObject")
set file=fso.GetFile(rutaimagenaborrar)
file.delete
'Borramos el registro seleccionado en el formulario de borrar registros
rs.delete
'Borra siempre el primer registro del filtro
rs.movefirst
loop
end if
end if
end if%>
<br>
<%
rs.close
Conn.close
ELSE
set Conn1= Server.CreateObject("ADODB.Connection")
Set RS1=Server.CreateObject("ADODB.Recordset")
Conn1.ConnectionString = "DSN=clubviajesoferta.com.turofertas"
sqlstring="select empresanombrefiscal from clientes where nombreusuario=" & "'" &nombreusuario& "'"
Conn1.open
Set RS1 = conn1.execute (sqlstring)
'response.write "La empresa es: " & tipo = rs1("empresanombrefiscal")
%>
Rellene el campo por el cual desea realizar la búsqueda </p>
<form name="form1" method="post" action="borrar_ofertas.asp?nombreusuario=<%=nombreusuario%>">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="23%">Referencia</td>
<td colspan="3"><input name="referenciaoferta" type="text" tabindex="1" id="referenciaoferta" size="20" maxlength="20"></td>
</tr>
<tr>
<td>Denominación</td>
<td colspan="3"><input name="denominacionoferta" type="text" tabindex="2" id="denominacionoferta" size="11" maxlength="11"></td>
</tr>
<tr>
<td>Destino</td>
<td colspan="3"><select name="destinooferta" tabindex="3" id="destinooferta">
<option value="""" selected>Seleccione un destino</option>
<option value="2 x 1 Ofertas">2 x 1 Ofertas</option>
<option value="África">África</option>
<option value="América">América</option>
<option value="Asia">Asia</option>
<option value="Baleares">Baleares</option>
<option value="Balnearios-Turismo Salud">Balnearios-Turismo Salud</option>
<option value="Canarias">Canarias</option>
<option value="Caribe">Caribe</option>
<option value="Costas Españolas">Costas Semana</option>
<option value="Ski y Montaña">Ski y Montaña</option>
<option value="Tarifas Aéreas">Tarifas Aéreas</option>
<option value="Turismo Juvenil">Turismo Juvenil</option>
<option value="Turismo Rural">Turismo Rural</option>
<option value="Última Hora">Ultima Hora</option>
</select></td>
</tr>
<tr>
<td>Empresa</td>
<td colspan="3"><input name="empresaoferta" type="text" onfocus="blur()" id="empresaoferta" value="<%=rs1("empresanombrefiscal")%>" size="50" maxlength="50" style="color:#3953a4"></td>
</tr>
<tr>
<td>Fecha Publicación</td>
<td width="13%"><input name="fechapublicacionoferta" type="text" tabindex="4" id="fechapublicacionoferta" size="10" maxlength="10"></td>
<td width="4%"><img src="../../../images/iconos/ayuda.gif" width="16" height="20"></td>
<td width="60%"><font size="2" face="Arial, Helvetica, sans-serif">DD/MM/AAAA</font></td>
</tr>
<tr>
<td>Fecha Validez</td>
<td><input name="fechavalidezoferta" type="text" tabindex="5" id="fechavalidezoferta" size="10" maxlength="10"> </td>
<td><img src="../../../images/iconos/ayuda.gif" width="16" height="20"></td>
<td><font size="2" face="Arial, Helvetica, sans-serif">DD/MM/AAAA</font></td>
</tr>
<tr>
<td> </td>
<td colspan="3"><input type="submit" tabindex="6" value="Borrar Oferta">
<input type="reset" tabindex="7" value="Limpiar Formulario"></td>
</tr>
<tr>
<td><A HREF="../../../modulo_gestion.asp?nombreusuario=<%=nombreusuario%>" target="_parent">Menu principal</A></td>
<td colspan="3"> </td>
</tr>
</table>
</form>
<%END IF%>
</body>
</html>