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>