Errores en asp al editar base de datos

Buenas, soy nuevo en esto y no tengo mucha idea, por favor a ver si me podéis ayudar con dos errores que se me muestran , uno al editar un apunte ya existente y otro al crear apunte nuevo
muchas gracias
tengo una base de datos que se llama portada.mdb (access 2000)
tengo también una pagina "manteni.asp" en la que veo la información de la base de datos y me da la opción de editar, borrar o crear nuevo apunte en la base de datos.
si le doy a editar me sale el siguiente error :
ADODB.Recordset (0x800A0CC1)
No se encontró el elemento en la colección que corresponde con el nombre o el ordinal pedido.
<a>/salvavidas/editar.asp</a>, línea 44
adjunto código del fichero editar .asp
<%@ LANGUAGE = VBScript %>
<%
function lCompleta( cCadena, cChar, lon )
lCompleta = cCadena
dif = lon - len( cCadena )
if dif > 0 then
relleno = string( dif, cChar )
lCompleta = relleno & cCadena
end if
end function
id = request("id")
if id <> "" then
cModo = "Modificación "
accessdb="portada.mdb"
DSN="DRIVER={Microsoft Access Driver (*.mdb)};Database Locking Mode=0; DBQ=" & server.mappath(accessdb)
set con = server.createobject("ADODB.connection")
cn.open DSN
sSQL = "SELECT * FROM zonas WHERE id = " & id
set rs = cn.execute(sSQL)
id = rs("id")
Nombre = rs("nombre")
orden = rs("0rden")
ayuda = rs("ayuda")
url = rs("url")
visibilidad = rs("visibilidad")
rs.Close
Set rs = nothing
cn.Close
Set con = nothing
cModo = "Alta "
id = 0
Nombre = ""
url =""
ayuda =""
orden = ""
visibilidad = falso
end if
if visibilidad then
visibilidad = "true"
else
visibilidad = "false"
end if
%>
<html>
<head>
<title>Editar registro</title>
<style type="text/css">
<!--
BODY{font-weight:normal;font-family:Arial;font-size:8pt}
th{font-weight:bold;font-family:Arial;font-size:9pt;color:#000088;text-align: right;background-color:silver;}
td{font-weight:normal;font-family:Arial;font-size:8pt;color:#000088}
.titulo{font-weight:bold;font-family:Arial;font-size:14pt;color:#000088}
.campo{font-weight:normal;font-family:Arial;font-size:9pt; width:650px;}
//-->
</style>
<script language="JavaScript" src="/rutinas/funciones.js"></script>
<SCRIPT LANGUAGE="JavaScript">
<!--
function carga()
{
document.f1.tipo.options[<%=tipo%>].selected = true;
document.f1.visibilidad.checked = <%=visibilidad%>;
}
//-->
</SCRIPT>
</head>
<body background="/imágenes/ff.gif" onLoad="carga(); document.f1.tipo.focus();">
<table width="750" border="0" cellspacing="0" cellpadding="0" align="center">
<tr><td>
<table width="100%">
<tr><td class="titulo"><%=cModo%> Crear Botones</td>
<td align="right"></td></tr>
</table>
<form action="actualiza.asp" target="dos" method="post" onSubmit="return MiraForm(this);" name="f1">
<input type="hidden" name="id" value="<%=id%>">
<table border="0">
<td>
</td>
<td>
</td>
<th>¿ Activa ? </th>
<td><input type="checkbox" name="visibilidad"></td>
</tr>
</table>
</td>
</tr>
<tr>
<th>Nombre:</th>
<td><input type="text" name="nombre" value="<%=nombre%>" size="80" maxlenght="120"></td>
</tr>
<tr>
<th valign="top">url:</th>
<td><textarea rows="5" cols="80" name="url" class="campo"><%=url%></textarea></td>
</tr>
<tr>
<th valign="top">ayuda:</th>
<td><textarea rows="2" cols="80" name="ayuda" class="campo"><%=ayuda%></textarea></td>
</tr>
<tr>
<th>Nº orden:</th>
<td><input type="text" value="<%=orden%>" name="orden" size="40" maxlenght="50"></td>
</tr>
<tr>
<td colspan="2" align="right">
<input type="submit" value="Enviar" title="Pulse este botón una vez que haya completado los datos y desee actualizar la Base de Datos.">&nbsp;<input type="button" value="Cancelar" onClick="javascript:history.back();" title="Pulse este botón para cancelar la grabación y volver a la pantalla anterior sin modificar ningún dato.">
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</body>
</html>
si lo que intento es crear apunte nuevo, me aparece sin problemas la pagina asp de editar y el error que me muestra es:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Controlador ODBC Microsoft Access] Error de sintaxis (falta operador) en la expresión de consulta 'id ='.
/@salvavidas/actualiza.asp, línea 59
adjunto código de la pag actualiza.asp
<%@ LANGUAGE = VBScript %>
<!--#include virtual="/rutinas/funciones.asp"-->
<%
id = request("id")
nombre = ODBCStr(request("nombre"))
visibilidad = request("visibilidad")
url = ODBCStr(request("url"))
ayuda = ODBCStr(request("ayuda"))
orden = ODBCStr(request("orden"))
fregistro = now()
ipregistro = Request.ServerVariables("REMOTE_ADDR")
' finicio = mid(finicio, 4, 2) & "/" & left(finicio, 2) & "/" & right(finicio, 2 )
if visibilidad = "on" then
visibilidad = "true"
else
visibilidad = "false"
end if
accessdb = "portada.mdb"
DSN="DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" &...

Añade tu respuesta

Haz clic para o