Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/11/2003, 17:13
Avatar de jorel
jorel
 
Fecha de Ingreso: abril-2003
Ubicación: Monterrey, N.L.
Mensajes: 253
Antigüedad: 22 años, 1 mes
Puntos: 0
Exclamación ayuda de busqueda y update ¡¡¡

Hola me puede alguien ayudar con este codigo por que no quiere funcionar bien

Lo que trato de hacer es actualizar los valores de una tabla segun los valores de otra tabla.

Pasa que tengo un tabla que exporto de un txt a access y algunos valores de esta los quiero comparar con los valores de mi web y me actualize ciertos campos en caso de que haya diferencias.

En especifico

busca por codigo entre las dos tablas y cuando encuentra uno igual , me actualiza el campo precio1

Este es el codigo:

<%Set oConn = Server.CreateObject ("ADODB.Connection")

Set RS = Server.CreateObject ("ADODB.RecordSet")
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("mitabla.mdb")

sql = "SELECT codigo, precio1, exi FROM exi1"
Rs.Open sql, oConn, 3, 1

Do While not RS.EOF
codigo1 = RS("codigo")
precio1 = RS("precio1")
exi1 = RS("exi")
Set RS2 = Server.CreateObject ("ADODB.RecordSet")
sql2 = "SELECT codigo, precio1 FROM exi"
RS2.Open sql2, oConn, 3, 1

Do While codigo1 <> codigo2 and not RS2.EOF

codigo2 = RS2("codigo")
precio2 = RS2("precio1")


if exi1 = 0 then
sql2 = "UPDATE exi SET precio1= '0' where codigo="&codigo1&" "
oConn.Execute sql2
else
sql2 = "UPDATE exi SET precio1="&precio1&" where codigo="&codigo1&" "
oConn.Execute sql2
end if
RS2.MoveNext
Loop
RS.MoveNext
Loop

RS2.Close
Set RS2 = nothing
RS.Close
oConn.Close
Set RS = nothing
Set oConn = nothing

Response.Write "cambios realizados"
%>

Lo extraño es que si me hace lo que quiero, pero cuando la tabla no tiene tantos registros, pero como mi base es de mas de 5000 registros ahi es cuando se queda pensando el explorer.

como puedo optimizar mas este codigo ayuda por favor ¡¡¡¡¡¡¡¡¡
__________________

:adios:

Jorge Santana

Última edición por jorel; 05/11/2003 a las 17:14