Ummm... me parece que es porque estás instanciando un recordset en un bucle (y creo que no sde puede si no lo destruis).
Mejor, hacé esto:
Código:
for i=0 to 20
SQL2 = "Update Partidos Set g_local = '" & gl(i) & "' , g_visitante = '" & gv(i) & "' Where jornada = " & j & " and liga = " & l & " and local = " & local(i)
Conn.Execute(SQL2)
next
Fijate que no creás ningun recordset porque no es necesario.
Bueno, si igualmente no funciona, hacele un debug a SQL2 y comprobá que esté todo OK.
Saludos