• Lunes 18 de Noviembre de 2024, 07:39

Autor Tema:  Sos: Recorrido De Registros Multiple  (Leído 922 veces)

raist

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Sos: Recorrido De Registros Multiple
« en: Jueves 10 de Noviembre de 2005, 13:56 »
0
Wenaaaaaasss

tengo dos recordsets, uno para cada ODBC. Con cada uno hago una consulta select sql para objener los registros de las bases de datos correspondientes.

El caso es que tengo que comparar todos los elementos de uno con todos los elementos de otro y pasa que uno tiene 18000 registros y el otro 4500 (mas o menos) con lo que tiene que hacer 81 millones!!!! de comprobaciones y claro, el programa se queda colgado y no responde, hay que finalizar aplicacion.

He hecho que en cada pasada sume el conteo en un archivo de la siguiente forma:

j = 0
Do While Not reg_art_dat.EOF

Do While Not reg_catalogo.EOF

j = j + 1
Set conteo = fso.createtextfile(App.Path & "\conteo.txt", True)
conteo.writeline (j)
conteo.Close

If reg_art_dat.fields("f_art_cod") = reg_catalogo.fields("REF") Then
escribir = 1
End If

reg_catalogo.MoveNext

Loop

reg_art_dat.MoveNext
Loop

y despues de cerrarlo porque se ha quedado colgado en el archivo conteo.txt tengo unas veces 5120, otras 1024 o 414. Esas son las veces que cada vez ha podido entrar en el bucle interior antes de quedarse colgado.

¿Como puedo resolver este problema? por favor me urge mucho.

Muchas gracias!!!

saludos.

cpmario

  • Miembro HIPER activo
  • ****
  • Mensajes: 629
    • Ver Perfil
    • http://www.cpimario.com
Re: Sos: Recorrido De Registros Multiple
« Respuesta #1 en: Jueves 10 de Noviembre de 2005, 18:36 »
0
Lo que posiblemente es el problema son estas líneas.
Código: Text
  1. Set conteo = fso.createtextfile(App.Path & "\conteo.txt", True)
  2. conteo.writeline (j)
  3. conteo.Close
  4.  
No entiendo la finalidad de esas líneas de código, te sugiero eliminarlas, pero si necesitas guardar el conteo, hazlo en una variable de array, numérica o de texto y después del LOOP  la escribes al archivo conteo.txt.

 :comp: