Foros del Web » Programando para Internet » ASP Clásico »

Codigo para corregir. Que alguien me ayude

Estas en el tema de Codigo para corregir. Que alguien me ayude en el foro de ASP Clásico en Foros del Web. Tengo el siguiente codigo ASP: <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%> <!--#include file="../Connections/Conexion1.asp" --> <% Dim Notas Dim Notas_numRows Dim uni Dim fac Dim np Set Notas = Server.CreateObject("ADODB.Recordset") ...
  #1 (permalink)  
Antiguo 07/06/2012, 12:47
 
Fecha de Ingreso: abril-2012
Mensajes: 20
Antigüedad: 12 años
Puntos: 1
Codigo para corregir. Que alguien me ayude

Tengo el siguiente codigo ASP:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="../Connections/Conexion1.asp" -->
<%
Dim Notas
Dim Notas_numRows

Dim uni
Dim fac
Dim np

Set Notas = Server.CreateObject("ADODB.Recordset")
Notas.ActiveConnection = MM_Conexion1_STRING
Notas.Source = "SELECT * FROM [Nota Universidad]"
Notas.CursorType = 0
Notas.CursorLocation = 2
Notas.LockType = 1
Notas.Open()

Notas_numRows = 0
%>




<%
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = -1
Repeat1__index = 0
Notas_numRows = Notas_numRows + Repeat1__numRows
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<table border="2" cellpadding="2" cellspacing="2">
<tr>
<td>COD UNI PARCIAL</td>
<td>FACULTAD</td>
<td>NUM PLAZAS</td>
</tr>
<% While ((Repeat1__numRows <> 0) AND (NOT Notas.EOF)) %>
<tr>
<td><%uni=(Notas.Fields.Item("UNIVERSIDAD").Value) %><%response.write(uni)%></td>
<td><%fac=(Notas.Fields.Item("FACULTAD").Value)%>< %response.write(fac)%></td>
<td><%np=(Notas.Fields.Item("NUM PLAZAS").Value)%><%response.write(np)%></td>
</tr>

<%
If (np>0) Then

set ActualizaCan = Server.CreateObject("ADODB.Command")
ActualizaCan.ActiveConnection = MM_Conexion1_STRING
ActualizaCan.CommandText = "UPDATE [Nota Universidad] SET [Nota Universidad].CANDIDATO = True, [Nota Universidad].SUPLENTE = False WHERE ((([Nota Universidad].UNIVERSIDAD)='" + Replace(uni, "'", "''") + "') AND (([Nota Universidad].FACULTAD)='" + Replace(fac, "'", "''") + "') AND (([Nota Universidad].[NOTA UNIVERSIDAD])>=(SELECT Max([NOTA UNIVERSIDAD]) AS [NOTA MAXIMA] FROM [Nota Universidad] WHERE FACULTAD='" + Replace(fac, "'", "''") + "' and [UNIVERSIDAD]='" + Replace(uni, "'", "''") + "' AND CANDIDATO=false)));"
ActualizaCan.CommandType = 1
ActualizaCan.CommandTimeout = 0
ActualizaCan.Prepared = true
ActualizaCan.Execute()
ActualizaCan.ActiveConnection.Close

np=np-1
set ActualizaPlazas = Server.CreateObject("ADODB.Command")
ActualizaPlazas.ActiveConnection = MM_Conexion1_STRING
ActualizaPlazas.CommandText = "UPDATE [Nota Universidad] SET [NUM PLAZAS]='" + Replace(np, "'", "''") + "' WHERE [UNIVERSIDAD]= '" + Replace(uni, "'", "''") + "' AND FACULTAD='" + Replace(fac, "'", "''") + "' ;"
ActualizaPlazas.CommandType = 1
ActualizaPlazas.CommandTimeout = 0
ActualizaPlazas.Prepared = true
ActualizaPlazas.Execute()
ActualizaPlazas.ActiveConnection.Close

End if
%>

<%
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
Notas.MoveNext()
Wend
%>
</table>
</body>
</html>
<%
Notas.Close()
Set Notas = Nothing
%>


Lo que pretendo es que me lea una fila, me ponga CANDIDATO=true Y SUPLENTE=false donde al alumno que tenga la maxima nota en esa Universidad/Facultad y me actualice el numero de plazas para el par Universidad/facultad. El caso es q no me salen el numero de candidatos que me tienen q salir, es decir, si en una Uni/Facul hay 3 plazas, me pone 4 o 5 candidatos. Alguien sabe por que??? No lo entiendo

Etiquetas: asp, corregir, recordset, server
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:24.