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

Urgente!!! Como Se Haria De Forma Correcta???

Estas en el tema de Urgente!!! Como Se Haria De Forma Correcta??? en el foro de ASP Clásico en Foros del Web. A ver, hace unos dias ya dejé un mensaje para ver como podría pasar una función de access a una página asp. Bien, ya lo ...
  #1 (permalink)  
Antiguo 21/05/2003, 09:10
Avatar de angel_dope  
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 22 años, 4 meses
Puntos: 8
Exclamación Urgente!!! Como Se Haria De Forma Correcta???

A ver, hace unos dias ya dejé un mensaje para ver como podría pasar una función de access a una página asp. Bien, ya lo tengo que m´s o menos hecho, pero tengo el siguiente problema, a ver si me explico bien. Empiezo haciendo una búsqueda y metiendo todos los resultados en una tabla, hasta ahi ningun problema. Después de eso tengo que hacer otra búsqueda con otros parametros y tiene que hacer lo siguiente, si el campo TMPNpanelista está en blanco quiere decir que en la búsqueda anterior no se añadió a la tabla ningun registro con ese identificado, y por lo tanto debo añadir un registro nuevo, en el caso contrario, ya hay un registro con ese identificado y lo que tengo que hacer es editar el registro y añadirle los resultados de la nueva búsqueda. Pongo el código de la función de access, ahi se usa unos metodos que en asp no me deja, y son FINDFIRST (con este me daba error), ISNULL y EDIT (estos dos no se si se pueden usar, alguien me lo puede decir?). Aqui pongo el código tal y como está ahora

Código PHP:
anyo1=request.Querystring("anyo1")
nola1=request.Querystring("nola1")
set ola1=createobject("ADODB.Recordset")
ola1.CursorType adOpenKeyset 
ola1
.LockType adLockOptimistic 

sql_ola1
="SELECT * from consEmpRecibidasEvolucion1 where año=" anyo1 " AND Nola='" nola1 &"'"
ola1.Open sql_ola1conn 
i
=1
Response
.Write("<table width='95%' border='1'><tr><td valign='top'>")
Response.Write("Ola1<br>")
    While 
Not ola1.eof
        
        Response
.Write (". " ola1("npanelista")&"<br>")
        
temporal.addnew
        temporal
.fields("npanelista") = ola1("npanelista")
        
temporal.fields("FaxConllamadas1") = ola1("FaxConLlamadas")
        
temporal.fields("FaxEspontaneo1") = ola1("FaxEspontaneo")
        
temporal.fields("Telefono1") = ola1("Telefono"
        
temporal.update
        ola1
.movenext
        i 
1
    wend
Response
.Write("</td>")

'HASTA AQUI NINGUN PROBLEMA

anyo5=request.querystring("anyo5")
nola5=request.querystring("nola5")
set ola5=createobject("ADODB.Recordset")
ola5.CursorType = adOpenKeyset 
ola5.LockType = adLockOptimistic 
sql_ola5="SELECT * from consEmpRecibidasEvolucion1 where año=" & anyo5 & " AND Nola='" & nola5 &"'"
ola5.Open sql_ola5, conn 
i=1
Response.Write("<td valign='
top>Ola5<br>")
    If not temporal.eof then temporal.movefirst
    While Not ola5.eof
        If isnull(ola5.fields("
tmpnpanelista")) then
            temporal.addnew
            temporal.fields("
npanelista") = ola5("npanelista")
            temporal.fields("
FaxConllamadas5") = ola5("FaxConLlamadas")
            temporal.fields("
FaxEspontaneo5") = ola5("FaxEspontaneo")
            temporal.fields("
Telefono5") = ola5("Telefono") 
            temporal.update
        else
            While not temporal.eof
                if temporal.fields("
npanelista") <> ola5.fields("npanelista") then
                    temporal.movenext
                else
                    temporal.fields("
npanelista") = ola5("npanelista")
                    temporal.fields("
FaxConllamadas5") = ola5("FaxConLlamadas")
                    temporal.fields("
FaxEspontaneo5") = ola5("FaxEspontaneo")
                    temporal.fields("
Telefono5") = ola5("Telefono") 
                    temporal.update
                end if
            wend
        end if
        Response.Write (i & "
" & ola5("npanelista")&"<br>")
        ola5.movenext
        i = i + 1
    wend
Response.Write("
</td>") 
Muchas gracias por adelantado. Salu2
__________________
Vayamos por Partes :: Jack el Destripador

Última edición por angel_dope; 22/05/2003 a las 09:43
  #2 (permalink)  
Antiguo 21/05/2003, 10:43
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 22 años, 11 meses
Puntos: 7
Haz un UPDATE via SQL en lugar de un edit. Es decir, generate una consulta de actualizacion en ACCESS que haga lo que quieres, copia el código y luego úsala.
__________________
No tengo firma ahora... :(
  #3 (permalink)  
Antiguo 22/05/2003, 10:03
Avatar de angel_dope  
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 22 años, 4 meses
Puntos: 8
Es lo que he hecho, me di cuenta de ello ayer que podia meter ahi un update y ya está, ahora mi duda es otra: puedo evitar de alguna forma anidar los dos bucles??? Es q de la forma que está ahora, se tira muxísimo rato procesando, de exo da un time out. Por que la tabla tiene unos 8000 registros asi q imaginate, el tiempo q se tira y eso con las pruebas q yo he exo solo entra en el 2º bucle en uno de los 6 trimestres, q si lo llega a hacer en todos.....
Asi que lo dixo, puedo buscar de alguna otra manera si ese registro ya está en la tabla, sin tener q llegar a anidar los bucles?? No hay una función como la FINDFIRST en access?????

He visto por ahi un post en el que se usa lo del findfirst, es este de aqui pero sin embargo si yo uso el findfirst me da el siguiente error: El objeto no acepta esta propiedad o método: 'temporal.Findfirst' PORQUE???? El código es el siguiente, si alguien ve el fallo que me lo diga por favor, es muy urgente, gracias.

'Ola 5
anyo5=request.querystring("anyo5")
nola5=request.querystring("nola5")
set ola5=createobject("ADODB.Recordset")
ola5.CursorType = adOpenKeyset
ola5.LockType = adLockOptimistic
sql_ola5="SELECT * from consEmpRecibidasEvolucion1 where año=" & anyo5 & " AND Nola='" & nola5 &"'"
ola5.Open sql_ola5, conn
i=1
Response.Write("<td valign='top'>Ola5<br>")
If not temporal.eof then temporal.movefirst
While Not ola5.eof
If isnull(ola5.fields("tmpnpanelista")) then
temporal.addnew
temporal.fields("npanelista") = ola5("npanelista")
temporal.fields("FaxConllamadas5") = ola5("FaxConLlamadas")
temporal.fields("FaxEspontaneo5") = ola5("FaxEspontaneo")
temporal.fields("Telefono5") = ola5("Telefono")
temporal.update
else
temporal.Findfirst "npanelista = '" & ola5.fields("npanelista") & "'"
temporal.fields("npanelista") = ola5("npanelista")
temporal.fields("FaxConllamadas5") = ola5("FaxConLlamadas")
temporal.fields("FaxEspontaneo5") = ola5("FaxEspontaneo")
temporal.fields("Telefono5") = ola5("Telefono")
temporal.update

end if
Response.Write (i & ". " & ola5("npanelista")&"<br>")
ola5.movenext
i = i + 1
wend
Response.Write("</td>")
__________________
Vayamos por Partes :: Jack el Destripador
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 06:47.