Lo que quiero es grabar varios registros a la vez cuando le de al botón grabar, y que solo grabe aquellos cuya checkbox esté marcada. Espero que esto os ayude: 
 
   
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/comun.asp" -->
<%
Dim Parametro__MMColParam
Parametro__MMColParam = "P1111"
If (Request.QueryString("txtcodigo")  <> "") Then 
  Parametro__MMColParam = Request.QueryString("txtcodigo") 
End If
%>
<%
Dim Parametro
Dim Parametro_numRows 
Set Parametro = Server.CreateObject("ADODB.Recordset")
Parametro.ActiveConnection = MM_comun_STRING
Parametro.Source = "SELECT SS.Codigo_S,SS.Nombre  FROM dbo.Diag_Signos SS,dbo.Diag_CodigoS S,dbo.Diagnostico D  WHERE SS.CODIGO_S=S.CODIGO_S AND S.CODIGO=D.CODIGO AND    D.Codigo = '" + Replace(Parametro__MMColParam, "'", "''") + "'"
Parametro.CursorType = 0
Parametro.CursorLocation = 2
Parametro.LockType = 1
Parametro.Open() 
Parametro_numRows = 0
%>
<%
Dim Signos
Dim Signos_numRows 
Set Signos = Server.CreateObject("ADODB.Recordset")
Signos.ActiveConnection = MM_comun_STRING
Signos.Source = "SELECT *  FROM dbo.Diag_Signos"
Signos.CursorType = 0
Signos.CursorLocation = 2
Signos.LockType = 1
Signos.Open() 
Signos_numRows = 0
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index 
Repeat1__numRows = -1
Repeat1__index = 0
Signos_numRows = Signos_numRows + Repeat1__numRows
%>
<%
Dim Repeat2__numRows
Dim Repeat2__index 
Repeat2__numRows = -1
Repeat2__index = 0
Parametro_numRows = Parametro_numRows + Repeat2__numRows
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Modificar signos</title>
</head> 
<body> 
<%If (NOT Parametro.EOF) then%>
	<%Dim vacio%>
	<%vacio=1%>
<%End If%>
<form action="" method="post" name="form1" id="form1">
<% 
While ((Repeat1__numRows <> 0) AND (NOT Signos.EOF)) 
%>
	<%=(Signos.Fields.Item("Codigo_S").Value)%><%=(Sig  nos.Fields.Item("Nombre").Value)%>
    <%If vacio<>0 then%>	
  <%Dim mostrar%>
		<%mostrar=0%>
		<% 
		While ((Repeat2__numRows <> 0) AND (NOT Parametro.EOF)) 
		%>
			  <%Dim accion
			  accion=(Parametro.Fields.Item("Nombre").Value)
			  %>
				<%If (CStr((Signos.Fields.Item("Nombre").Value)) = CStr(accion)) Then%> 
					 <%mostrar=1%>
				<% End If %>
		<% 
		Repeat2__index=Repeat2__index+1
		Repeat2__numRows=Repeat2__numRows-1
		Parametro.MoveNext()
		Wend
		%>
		<%
		Repeat2__numRows = -1
		Repeat2__index = 0
		Parametro_numRows = Parametro_numRows + Repeat2__numRows
		Parametro.MoveFirst()
		%>
		<%If mostrar=1 then%>
			<input type="checkbox" name="checkbox" value="checkbox" checked>
		<%Else%>
			<input type="checkbox" name="checkbox" value="checkbox">
		<%End If%>
	<% Else %>
		<input type="checkbox" name="checkbox" value="checkbox">
	<% End If %>
	<p></p>
<% 
  Repeat1__index=Repeat1__index+1
  Repeat1__numRows=Repeat1__numRows-1
  Signos.MoveNext()
Wend
%>
</form>
<p> </p>
</body>
</html>
<%
Parametro.Close()
Set Parametro = Nothing
%>
<%
Signos.Close()
Set Signos = Nothing
%>