Hola a todos. Antes de nada agradeceros vuestro tiempo por leer este mensaje.
Entrando en materia, tengo una BD en acces, conecto en delphi 5 a traves de los componentes ADO y el error al que soy incapaz de dar con la solución consiste en lo siguiente; de un bucle for llamo en cada iteración a la siguiete consulta:
Procedure TMDatos.LeerRegistroPreguntaEspecialidad(Id_Pregunta:Integer);
begin
{Cerrar Query}
MDatos.ADOQuery2.Close;
With MDatos.ADOQuery2 do
begin
SQL.Clear;
SQL.Add('Select * from Pregunta_Especialidad Where Id_Pregunta=:
MiId_Pregunta');
Parameters.ParamValues['MiId_Pregunta']:=Id_Pregunta;
Open;
end;
end;
Esta consulta funciona perfectamente la primera vez que es llamada desde el bucle for; el problema reside en que en la segunda vez que es llamada, salta el error, que aparte de informar que ha levantado una excepción dice lo siguiente : "El valor de EOF o BOF es True, o el actual registro se eliminó; la operación solicitada requiere un registro actual".
En concreto el error salta en la linea donde cierro el ADOQuery2 (MDatos.ADOQuery2.Close
.
La lectura de los datos de la consulta la hago desde la unit que llama a esta función (donde se está ajecutando el bucle for, comentado anteriormente)
Agradezco vuestro tiempo y saber....
Un saludo y gracias.