Tampoco waly2k1. Por un lado for i:=1 to query.recordcount es lo mismo que for i:=0 to query.recorcount-1, porque no utilizo el iterador i como índice de acceso a nada sino como contador de iteraciones, y en los dos casos es el mismo número de iteraciones.
El while not query.eof tampoco soluciona nada porque el caso de fallo es el siquiente, centraos en el caso de fallo:
CASO DE FALLO
Cuando quiero cerrar o liberar un query y tiene la propiedad EOF = true no puedo, me da el mensaje:
Project xxx.exe raised exception class EOleException with message 'El valor de BOF o EOF es True, o el actual registro se eliminó: la operación solicitada requiere un registro actual'
Si hago una consulta que no devuelve registros entonces query.EOF es true siempre, siempre, siempre, y entonces no puedo cerrar o liberar ese query. Si la consulta devuelve datos entonces estoy obligado a hacer un query.first o mover el registro actual del query para que query.EOF sea false. ¿Entendeis el fallo?
|