Restringir sobre una consulta access

25/10/2010 - 11:12 por raul | Informe spam
Buenas,
Tengo un formulario, que entre otras cosas comprueba una serie de
datos introducidos con los datos que tengo en una consulta :

Set rs = CurrentDb.OpenRecordset("producciontest")
Do While Not rs.EOF
If ((rs![Poliza] = Form.Poliza) And (rs!Colectivo = Form.Colectivo)
And (Round(rs![Coste Bonificación], 2) = Form.Coste And (rs![S/Remesa]
= Form.Tomador)))
Then
Call MsgBox(" Existe")

_______

Esto hace que si coinciden los 4 datos, continue haciendo otras
cosas.

El problema es que la consulta tiene 40000 registros, y se pega unos
20 segundos hasta que encuentra los datos, y se hace eterno.

Quisiera saber si me podriais ayudar con esto.
Yo creo que deberia crear una sentencia sql donde me muestre las
lineas de la consulta, pero filtradas por ejemplo por el nº de la
poliza que se introduce, entonces seria instantanea la comprobación,
pero estoy un poco perdido en el tema.

A ver si me podeis echar una mano.

Gracias otra vez!!
 

Leer las respuestas

#1 José Mª Fueyo
25/10/2010 - 12:32 | Informe spam
Hola
La verdad no entiendo muy bien cual es tu problema. ¿No podrías crear
los criterios de una sentencia SQL y pasarlo al método OpenRecordset
en el evento click, por ejemplo, de un botón? obviamente, en el
proceso de creación del criterio tendrás que comprobar sí el control
en cuestión tiene valor (por ejemplo, Form.Poliza) antes de
incorporarlo al criterio.

Salu2,
José Mª Fueyo
[MS MVP Access]

Preguntas similares