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!!

Preguntas similare

Leer las respuestas

#6 raul
26/10/2010 - 08:35 | Informe spam
Buenas,
el problema me viene despues, en esta parte:
Do While Not rs.EOF 'aqui me da error por que me dice que hay
variable de objeto o bloque with no establecido
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")
parece que no carga el rs con los datos que le doy, o me falta alguna
sentencia.

Gracias por tu ayuda otra vez!
Respuesta Responder a este mensaje
#7 José Mª Fueyo
26/10/2010 - 09:40 | Informe spam
Hola

Verifica varias cosas. Primero, verifica que en las referencias (Menú
herramientas, referencias), tienes marcado la librería de DAO 3.6. Sí
aparte de ésta tienes alguna de ActiveX Data Objects y la usas,
tendrás que declarar la variable de forma explicita, ya que comparten
nombre de objeto
Dim DB as DAO.Database
Dim rs as DAO.Recordset
Set DB=CurrentDb
Set rsÛ.OpenRecordset("producciontest")

Prueba a declarar de forma explícita una variable de tipo Database.

Salu2,
-
José Mª Fueyo
[MS MVP Access]
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida